通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc

上传人:文库蛋蛋多 文档编号:4142388 上传时间:2023-04-07 格式:DOC 页数:25 大小:305KB
返回 下载 相关 举报
通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc_第1页
第1页 / 共25页
通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc_第2页
第2页 / 共25页
通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc_第3页
第3页 / 共25页
通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc_第4页
第4页 / 共25页
通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc》由会员分享,可在线阅读,更多相关《通信原理课程设计报告基于QuartusII的HDB3码编解码设计.doc(25页珍藏版)》请在三一办公上搜索。

1、 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 通信原理课程设计报告 课程设计题目:基于Quartus II的HDB3码编解码设计 班 级: 学 号: 姓 名: 指导教师姓名: 设 计 地 点 : 目录序言3第一章 QuartusII软件及其相关简介41.1 Quartus II简介41.1.1 Quartus II基本特点41.1.2 Quartus II 功能介绍41.2 EDA技术简介41.2.1 EDA概述51.2.2 EDA技术的应用51.3 VHDL语言51.3.1 VHDL语言简介51.3.2 VHDL语言的优势6第二章 工作原理72.1 数

2、字基带传输原理72.2 HDB3码编码原理72.3 HDB3码解码原理8第三章 基于Quartus II的HDB3码编解码器的设计93.1 HDB3编码器设计93.1.1 HDB3 编码器总体设计思路93.1.2 插 V 模块93.1.3 插B模块103.1.4 单/ 双极性转换模块113.1.5 HDB3编码器整体仿真113.2 HDB3解码器设计133.2.1 HDB3解码器总体设计思路133.2.2 检测V并去V模块143.2.3 检测B并去B模块143.2.4 双/单极性转换模块153.1.5 HDB3解码器整体仿真15参考文件17体会与建议18附录19序言传输数字信号的通信系统称为数

3、字通信系统。数字通信系统以其抗干扰能力强,无噪声积累,传输差错可控,便于计算处理、变换、存储,易于加密,易于小型化、集成化等优势,成为当代通信领域的主流技术。将基带数字序列信号经过适当的码型变换后直接送入信道传输,称为基带数字序列信号传输,简称基带传输。数字基带传输过程中,高频分量越大,对邻近信道产生的干扰就越严重,所以高频分量应该尽量少;另外,传输中直流或低频信号衰减快,信号传输一定距离后会严重畸变,所以不应含有直流或低频频率分量。除此之外,为方便从接收到的基带信号中提取同步信息,还应包含定时频率分量。由于HDB3码具有无直流分量,低频成分少,连0的个数不超过三个,对定时信号的恢复十分有利,

4、具有内在的检错能力等优点,根据上述数字基带传输的特点可知:HDB3码是比较适合基带传输码型之一。在该实验报告中,介绍了使用VHDL语言实现HDB3码的编码器和解码器的功能。第一章 QuartusII软件及其相关简介1.1 Quartus II简介1.1.1 Quartus II基本特点Quartus II软件可以在XP、Linux以及Unix上使用,提供了完善的用户图形界面设计方式,具有运行速度快,界面统一,功能集中,易学易用等特点。此外,Quartus II支持Altera的IP核,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。还有,Quartus II 通过DSP Bu

5、ilder工具与Matlab/Simulink相结合,可以方便地实现各种DSP应用系统;支持Altera的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。如今,Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。1.1.2 Quartus II 功能介绍Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性和以下一些功能:可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件;具有

6、完备的电路功能仿真与时序逻辑仿真工具以及定时/时序分析与关键路径延时分析。此外,还支持软件源文件的添加和创建,并将它们链接起来生成编程文件,通过组合编译方式可一次完成整体设计流程;并且能够自动定位编译错误和能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件等。1.2 EDA技术简介1.2.1 EDA概述EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA

7、软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。1.2.2 EDA技术的应用如今,EDA技术的应用已经非常广泛,在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。此外,EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。1.3 VHDL语言1.3.1 VHD

8、L语言简介VHDL语言即超高速集成电路硬件描述语言,是一种用于电路设计的高级语言,在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言 。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部和内部,既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种

9、将设计实体分成内外部分的概念是VHDL系统设计的基本点。1.3.2 VHDL语言的优势首先,与其他的硬件描述语言相比,VHDL语言具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。其次,VHDL语言有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的功能可行性,随时可对设计进行仿真模拟。还有,对于用VHDL语言完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动的把VHDL描述设计转变成门级网表。最后,VHDL语言对设计的描述具有相对独立性,设计者可以不

10、懂硬件的结构,也不必管理最终设计实现的目标器件是什么,而进行独立的设计。第二章 工作原理2.1 数字基带传输原理在某些具有低通特性的有线信道中,特别是在传输距离不太远的情况下,基带信号可以不经过载波调制而直接进行传输,这样的传输系统,称为数字基带传输系统。在实际的基带传输系统中,并不是所有的基带波形都适合在信道中传输。例如,含有丰富直流分量和低频分量的单极性基带波形就不适宜在低频传输特性差的信道中传输,因为这有可能造成信号的严重畸变。又如,当消息码中包含长连“0”或“1”时,非归零波形呈现出连续的固定电平,以致于无法提取定时信息。单极性归零码在传送长连“0”时,也存在同样的问题。因此,在选择传

11、输码型时会考虑以下一些原则: (1)不含直流,且低频分量尽量少; (2)应含有丰富的定时信息,以便于从接收码流中提取定时信号; (3)功率谱主瓣宽度窄,以节省传输频带; (4)不受信息源统计特性的影响,即能适应于信息源的变化; (5)具有内在的检错能力,即码型应具有一定规律性,以便利用这一规律性进行宏观监测; (6)编译码简单,以降低通信延时和成本。2.2 HDB3码编码原理 (1)将消息代码变换成AMI码; (2)检查AMI码中的连0情况,当无4个以上的连0传时,则保持AMI的形式不变; (3)若出现4个或4个以上连0时,则将1后的第4个0变为与前一非0符号(+1或-1)同极性的符号,用V表

12、示(+1记为+V,-1记为-V),V称为破坏码; (4)检查相邻V符号间的非0符号的个数是否为偶数,若为偶数,则再将当前的V符号的前一非0符号后的第1个0变为+B或-B符号,且B的极性与前一非0符号的极性相反,并使后面的非0符号从V符号开始再交替变化。 编码举例如下:表2-1 HDB3码编码举例消息码1000011000011AMI码+10000-1+10000-1+1HDB3码+1000+V-1+1-B00-V+1-1HDB3码的特点如下:(1) 基带信号无直流成分,且只有很小的低频成分;(2) 连0串符号最多只有3个,利于定时信息的提取;(3) 不受信源统计特性的影响。2.3 HDB3码解

13、码原理HDB3码的解码是编码的逆过程。从上述编码规则可以看出,每一个破坏脉冲“V”总是与前一非“0”脉冲同极性(包括B)。也就是说,从接收到得消息码中可以很容易的找到破坏点“V”,于是也就断定“V”符号及其前面的三个符号必是连“0”符号,从而恢复4个连“0”码,再将所有“-1”变成“+1”后便可的到源消息码。 解码举例如下:表2-2 HDB3码解码举例HDB3码+1000+1-1+1-100-1+1-1V符号+V-V解 码1000011000011第三章 基于Quartus II的HDB3码编解码器的设计3.1 HDB3编码器设计3.1.1 HDB3 编码器总体设计思路在实际设计中,若按照第二

14、章中编码原理需要先把消息码转换成AMI码,再进行插“V”和“B”的操作,最后还要依据编码规则变换“1”的极性。这样做需要大量的寄存器,同时电路结构也变得十分复杂。以我现在所掌握的知识还无法完成。因此,在实际的设计中,首先完成插“V”工作,然后完成插“B”功能,最后完成单极性变双极性的信号输出。这样做的好处是:输入进来的信号和插“V”、插“B”功能电路中处理的信号都是单极性信号,且需要的寄存器的数目可以少很多。设计框图如图3-1所示:消息码插 V插 B单/双极性转换HDB3码图 3-1 HDB3码编码设计框图3.1.2 插 V 模块插V设计思路:首先判断输入的代码是“0”码还是“1”码,如果输入

15、的是“0”码,则接着判断这是第几个“0”码。若是第四个,则把这一位码元变换成为“V”码(用“11”表示),在其他条件下,让原代码照常输出。为了方便,每个码元用双相码表示。图3-2 插V 波形图 分析: 原消息码(输入): 1 0 0 0 0 1 1 0 0 0 0 1 1 插V后 (理论值): 01 00 00 00 11 01 01 00 00 00 11 01 01 插V后 (仿真值): 01 00 00 00 11 01 01 00 00 00 11 01 01 结论:仿真的结果和理论值一样,是正确的。但有一个周期的延时,T=20ns。 注:01:表示1; 11:表示V; 00:表示0。

16、3.1.3 插B模块插B 设计思路:先把消息码寄存在寄存器中,同时设置一个计数器计数两个“V”之间“1”的个数,经过4个码元时间后,由一个判偶电路来给寄存器发送是否插“B”的判决信号,从而实现插“B”功能。当计数器为偶数时,说明需要插B。波形图如图3-3所示。图3-3 插B波形图 分析: 输入:01 00 00 00 11 01 00 00 00 11 01 01 00 00 00 11 插B后(理论值): 01 00 00 00 11 01 00 00 00 11 01 01 10 00 00 11 插B后(仿真值): 01 00 00 00 11 01 00 00 00 11 01 01

17、10 00 00 11 结论:仿真的结果和理论值一样,是正确的。但有5个周期的延时,T=20ns。 注:01:表示1; 11:表示V; 00:表示0; 10:表示B。3.1.4 单/ 双极性转换模块单/ 双极性转换设计思路:V”的极性与其之前的非0码的极性相同,并且“V”的极性是正负交替的。而“B”的极性和其之前的非0码的极性相反,并且可以将除“V”之外的“1”和“B”看成一体,它们的极性是正负交替的。因此,可以将“V”单独的进行极性变换,而“1”和“B”作为一个整体进行极性变换。波形图如图3-4所示。图3-4 单/双极性转换波形图 分析: 输入:01 00 00 00 11 01 00 00

18、 00 11 01 01 10 00 00 11 极性转换后(理论值): 01 00 00 00 01 11 00 00 00 11 01 11 01 00 00 11 极性转换后(仿真值): 01 00 00 00 01 11 00 00 00 11 01 11 01 00 00 11 结论:仿真的结果和理论值一样,是正确的。但有1个周期的延时,T=20ns。 注:输入中: 01:表示1; 11:表示V; 00:表示0; 10:表示B; 极性转换后: 01:表示+1; 11:表示-1; 00:表示0。 3.1.5 HDB3编码器整体仿真如图3-5所示,即为编码器整体的仿真波形,从图中可以很清

19、楚的看出序列经过插“V”模块,插“B”模块与单/双极性转换模块后的波型变换,由于每一步的输入是上一步的输出信号,因此最终经过单/双极性转换模块后的波形即为编码后的波形。图3-5 HDB3编码波形图分析: 原消息码(输入) :1 0 0 0 0 1 1 0 0 0 0 1 1 插V后 :01 00 00 00 11 01 01 00 00 00 11 01 01 插B后 :01 00 00 00 11 01 01 10 00 00 11 01 01 极性转换后(即编码) 仿真值 :01 00 00 00 01 11 01 11 00 00 11 01 11 极性转换后(即编码) 理论值 :01

20、00 00 00 01 11 01 11 00 00 11 01 11结论:HDB3编码的仿真结果和理论值一样,是正确的。但有5个周期的延时,T=20ns。注:插V和插B后: 01:表示1;11:表示V;00:表示0;10:表示B;极性转换后(即编码):01:表示+1; 11:表示-1; 00:表示0。 3.2 HDB3解码器设计3.2.1 HDB3解码器总体设计思路1. 去V: “V”的极性与其前的非0码极性相同,因此可以很容易的找出“V”码。当未编译代码中有3连“0”且其前后两个非零脉冲极性相同,则将最后一个非0码转换为“0”,否则不做改变;2. 去B:当代码中有2连 “0”且其前后两个非

21、0码的极性相同,则将这两个非0码都转换为“0”,否则不做改变。3.双/单极性转换:再将所有的-1变换成+1后,就可以得到原消息代码 4.在实际编写VHDL代码时,参照上述译码规则进行编写。根据HDB3解码器的设计思想,实现HDB3解码功能的流程图如图3-6所示,框图如图3-7所示:Code_out=0D1(3)=0001&D0(3)=0001D1(3)=0000&D0(3)=0001结束Code_out=0Code_out=1D1(2)=001&D0(2)=001D1(2)=000&D0(2)=001开始Codein=11,01YNYNYY图3-6 HDB3解码器流程图检测V并去V检测B并去B

22、双/单极性转换HDB3码消息码图 3-7 HDB3码解码设计框图3.2.2 检测V并去V模块检测V并去V设计思路:设置两组4位移位寄存器D1和D0,任意一个码元由D1和D0表示(即D1&D0),然后定义一个信号code_out1,code_out1接收输入码元,当code_out1的值为“01”或者“11(即 “+1”或“-1”)时,判断存放在寄存器D1、D0中的码元是否有“11”或者“10”出现(即是否是 “0001”或“000-1”这样的形式)。若有,则表明4位移位寄存器中应是“000V”这样的形式,将V置为“0”输出。VHDL语言实现检测V并去V的程序如下:if (code_out1=1

23、1 and D1(3 downto 0)=0001 and D0(3 downto 0)=0001)or(code_out1=01 and D1(3 downto 0)=0000 and D0(3 downto 0)=0001)thenD1(2 downto 1)=D1(3 downto 2);D0(2 downto 1)=D0(3 downto 2); -检测到VD1(3)=0;D0(3)=0;D1(0)=D1(1);D0(0)=D0(1); -去V3.2.3 检测B并去B模块检测B并去B设计思路:当信号code_out1的值为“01”或者“11(即 “+1”或“-1”)时,判断存放在寄存器

24、D1、D0中的码元是否有“11”或者“10”出现(即是否是 “001”或“00-1”这样的形式)。若有,则表明4位移位寄存器中应是“B00”这样的形式,将B置为“0”输出。VHDL语言实现检测B并去B的程序如下:if(code_out1=11 and D1(3 downto 1)=001 and D0(3 downto 1)=001)or(code_out1=01 and D1(3 downto 1)=000 and D0(3 downto 1)=001)thenD1(2 downto 1)=D1(3 downto 2); D0(2 downto 1)=D0(3 downto 2); -检测到

25、BD1(3)=0; D0(3)=0; D1(0)=0; D0(0)=0; -去B3.2.4 双/单极性转换模块双/单极性转换模块设计思路:除去以上情形,当信号code_out1的值为“01”或者“11”(即“+1”或“-1”)时,则输出“1”码;当信号code_out1的值为“00”(即“0”)时,则直接输出“0”码。VHDL语言实现双/单极性转换的程序如下:if(D1(0)=1 and D0(0)=1)or(D1(0)=0 and D0(0)=1) D1(2 downto 1)=D1(3 downto 2); D0(2 downto 1)=D0(3 downto 2);D1(3)=t(1);

26、 D0(3)=t(0); D1(0)=D1(1);D0(0)=D0(1); -输入为0码,原样输出if(D1(0)=1 and D0(0)=1)or(D1(0)=0 and D0(0)=1) thencode_out=1; -将+1或 -1转换为1码输出 3.1.5 HDB3解码器整体仿真 如图3-8所示,即为HDB3解码器整体的仿真波形。仿真波形图中,reset为计数器清零信号,clk为时钟信号,code_in为输入的信号,是上一步单/双极性转换模块的输出信号,code_out为译码之后的输出信号。D1和D0为4位移位寄存器。结合HDB3码的译码规则及上图的仿真波形得出以下结论:图3-8 H

27、DB3解码波形图分析: clr : 低电平有效,高电平清零; clk: 时钟,T=20ns; 原消息码(输入) :1 0 0 0 0 1 1 0 0 0 0 1 1 插V后 :01 00 00 00 11 01 01 00 00 00 11 01 01 插B后 :01 00 00 00 11 01 01 10 00 00 11 01 01 极性转换后(即编码):01 00 00 00 01 11 01 11 00 00 11 01 11 解码(仿真值) :1 0 0 0 0 1 1 0 0 0 0 1 1 解码(理论值) :1 0 0 0 0 1 1 0 0 0 0 1 1 结论:HDB3解码

28、的仿真结果和理论值一样,是正确的。但有12个周期的延时,T=20ns。注:插V和插B后: 01:表示1;11:表示V;00:表示0;10:表示B;极性转换后(即编码):01:表示+1; 11:表示-1; 00:表示0。 参考文件1 樊昌信,曹丽娜.通信原理. 北京:国防工业出版社,20092 赵鑫,蒋亮,齐兆群,李晓凯.VHDL与数字电路设计. 北京:机械工业出版社,20053 潘松,黄继业.EDA技术与VHDL. 北京:清华大学出版社,20054 江国强. EDA技术与应用. 北京:电子工业出版社,20045 段吉海,黄智伟.基于CPLD/FPGA的数字通信系统建模与设计. 北京:电子工业出

29、版社,20046 王素珍,王涛.基于VHDL语言的HDB3编译码器的一种实现方法J.内蒙古师范大学学报:自然科学版,2006,35(03):300-303,307.7 夏平,向学军,万钧力.基于VHDL的数字基带信号HDB3调制解调器仿真实现J.三峡大学学报:自然科学版,2007,29(02):147-149,166.体会与建议经过一个星期的时间,完成了基于Quartus的HDB3码编解码的课程设计,使用的是VHDL语言编写的,属于纯软件实现。按照HDB3码编码原理:先将消息码变为AMI码,再进行插“V”、插“B”,理论上是可行的,但是实际操作难度比较大,需要大量的移位寄存器,并且程序编写更加

30、复杂,我目前的知识水平无法实现。因此,我采用了模块化设计,将HDB3码的编码设计分为三个模块:插“V”模块、插“B”模块和单/双极性转换模块,使得HDB3码编码的实现更简单,更有层次。HDB3码的解码设计,本质上是HDB3码编码的逆过程。设计思路为:检测“V”并去“V”、检测“B”并去“B”和双/单极性转换,只要一个模块即可以实现。通过这次的课程设计,我学习了很多东西。首先,对HDB3码编解码的原理及设计思路有了全新的认识,对HDB3码有了更深刻,更加全面的理解。此外,对于VHDL语言的学习也更加透彻,对Quartus软件的使用更加熟练。这次课程设计让我深刻的体会到理论与实际相结合的重要性,要

31、对理论理解透彻,才能灵活的运用到实际当中,绝不是直接生搬硬套。附录源程序:LIBRARY ieee; -头文件声明use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity V2 is -端口设置port(codein: in std_logic; clk : in std_logic; clr : in std_logic; v : out std_logic_vector(1 downto 0); b : out std_logic_vector(1 downto 0); p : out std_logic_vec

32、tor(1 downto 0); code_out: out std_logic);end V2; architecture rt1 of V2 is -设置信号signal flag: std_logic;signal count0 :integer:=0;signal codeoutv : std_logic_vector(1 downto 0);signal s0:std_logic_vector(4 downto 0):=00000;signal s1:std_logic_vector(4 downto 0):=00000;signal count1 :integer range 1

33、downto 0;signal codeoutb :std_logic_vector(1 downto 0);signal flagv:integer range 1 downto 0;signal firstv :integer range 0 to 1;signal flag1b :integer range 1 downto 0:=1;signal D1, D0: std_logic_vector(3 downto 0);signal code_out1: std_logic_vector(1 downto 0);signal t: std_logic_vector(1 downto 0

34、);component dff -D触发器port(d :in std_logic; clk : in std_logic; q : out std_logic);end component;beginadd_v:process(clk,clr) -插V模块Beginif(rising_edge(clk)thenif(clr =1) thencodeoutv=00;count0codeoutv=01;count0if(count0=3) then -4个连0codeoutv=11; -插Vcount0=0;elsecount0=count0+1;codeoutvcodeoutv=00;coun

35、t0=count0;end case;end if;end if;v=codeoutv;end process add_v;s0(0)=codeoutv(0); s1(0)=codeoutv(1); -将码元放在寄存器中generate_inst:for i in 0 to 2 generateds00:dff port map(s0(i),clk,s0(i+1);ds11:dff port map(s1(i),clk,s1(i+1);end generate; add_b:process(clk) -插B模块beginif(rising_edge(clk)thenif(codeoutv=11

36、)thenif(firstv=0)thencount1=0; -计1的个数firstv=1; s1(4)=s1(3);s0(4)=s0(3);elseif(count1 rem 2=0 and firstv=1)then -若1的个数位偶数个,则插B s1(4)=1;s0(4)=0;count1=0;elses1(4)=s1(3);s0(4)=s0(3);count1=0;end if;end if;elsif(codeoutv=01)then count1=count1+1;s1(4)=s1(3);s0(4)=s0(3);elses1(4)=s1(3);s0(4)=s0(3);end if;

37、end if;b=codeoutb;end process add_b;codeoutb=s1(4)&s0(4); output:process(clk) -单/双极性转换模块(即编码)beginif(rising_edge(clk)thenif(codeoutb=01)or(codeoutb=10)thenif(flag1b=1)then t=01;flag1b=0;elset=11;flag1b=1;end if;elsif(codeoutb=11)thenif(flag1b=1)thent=11;elset=01;end if;elset=00;flag1b=flag1b;end if;

38、 end if; p=t;end process output;code_out1=t; -解码模块process (clk, t) isbeginif (clk=1 and clkevent)thenif (code_out1=11 and D1(3 downto 0)=0001 and D0(3 downto 0)=0001)or(code_out1=01 and D1(3 downto 0)=0000 and D0(3 downto 0)=0001)thenD1(2 downto 1)=D1(3 downto 2);D0(2 downto 1)=D0(3 downto 2);D1(3)=

39、0;D0(3)=0;D1(0)=D1(1);D0(0)=D0(1); -检测到V并去除V,输出0码elsif(code_out1=11 and D1(3 downto 1)=001 and D0(3 downto 1)=001)or(code_out1=01 and D1(3 downto 1)=000 and D0(3 downto 1)=001)thenD1(2 downto 1)=D1(3 downto 2);D0(2 downto 1)=D0(3 downto 2);D1(3)=0;D0(3)=0;D1(0)=0;D0(0)=0; -检测到B并去除B,输出0码elseD1(2 downto 1)=D1(3 downto 2);D0(2 downto 1)=D0(3 downto 2);D1(3)=t(1);D0(3)=t(0);D1(0)=D1(1);D0(0)=D0(1); -原样输出end if;end if;end process;process(clk)is beginif (clk=1 and clkevent) thenif(D1(0)=1 and D0(0)=1)or(D1(0)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号