第6章_Verilog_HDL设计进阶习题_第1页
第6章_Verilog_HDL设计进阶习题_第2页
第6章_Verilog_HDL设计进阶习题_第3页
第6章_Verilog_HDL设计进阶习题_第4页
第6章_Verilog_HDL设计进阶习题_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第第6章章 Verilog HDL设计进阶设计进阶 习习 题题实验与设计实验与设计习习 题题 6-1 在在Verilog设计中,给时序电路清零(复位)有两种不同方法,它们是什么,如何设计中,给时序电路清零(复位)有两种不同方法,它们是什么,如何实现?实现?答:同步清零、异步清零,在过程语句敏感信号表中的逻辑表述答:同步清零、异步清零,在过程语句敏感信号表中的逻辑表述posedge CLK用于指明用于指明正向跳变,或正向跳变,或negedge用于指明负向跳变实现用于指明负向跳变实现 6-2 哪一种复位方法必须将复位信号放在敏感信号表中?给出这两种电路的哪一种复位方法必须将复位信号放在敏感信号表

2、中?给出这两种电路的Verilog描述。描述。答:异步复位必须将复位信号放在敏感信号表中。答:异步复位必须将复位信号放在敏感信号表中。always (posedge CLK) /CLK上升沿启动上升沿启动 Q=D; /当当CLK有升沿时有升沿时D被锁入被锁入Qalways (posedge CLK or negedge RST) begin /块开始块开始 if(!RST)Q=0; /如果如果RST=0条件成立,条件成立,Q被清被清0else if(EN) Q=D;/在在CLK上升沿处,上升沿处,EN=1,则执行赋值语句,则执行赋值语句end /块结束块结束 习习 题题 6-3 用不同循环语句

3、分别设计一个逻辑电路模块,用以统计一用不同循环语句分别设计一个逻辑电路模块,用以统计一8位二进制数中含位二进制数中含1的的数量。数量。 module cnt53(a,Q);output3:0a;input7:0 Q;reg3:0 a;integer i; always (Q) begin a=0; for(i=0;i1; end endendmoduleforfor循环语句循环语句module Statistics8(sum,A); parameter S=8; output3:0sum; input7:0 A; regS:1 AT; reg3:0 sum; regS:0 CT; always

4、 (A) begin AT=S1b0,A; sum=0; CT=S; while(CT0) begin if(AT1)sum=sum+1;else sum=sum; begin CT= CT-1; AT=AT1; end end end endmodule 6-3 6-3 用不同循环语句分别设计一个逻辑电路模块,用以统计一用不同循环语句分别设计一个逻辑电路模块,用以统计一8 8位二进制数位二进制数中含中含1 1的数量。的数量。 module module cnt54(f,t);output output f;inputinput6:0 t;regreg2:0 sum;integer integ

5、er i; regreg f;always always (t) begin begin sum=0; for for(i=0;ib)?a:b;assign sum2=(cd)?c:d;assign max=(sum1sum2)?sum1:sum2;endmodule习习 题题 6-6 从不完整的条件语句产生时序模块的原理看,例从不完整的条件语句产生时序模块的原理看,例6-9和例和例6-10从表面上看都包含从表面上看都包含不完整条件语句,试说明,为什么例不完整条件语句,试说明,为什么例6-9的综合结果含锁存器,二例的综合结果含锁存器,二例6-10却没有。却没有。【例例6-96-9】非阻塞赋初值

6、导致错误非阻塞赋初值导致错误【例例6-106-10】阻塞赋初值正确阻塞赋初值正确module mux4_1(D0,D1,D2,D3,S1,S0,OUT); output OUT ; input D0,D1, D2,D3,S1, SO;reg 2:0 T ; reg OUT;always (D0, D1,D2,D3, S1,S0) begin T = 0; if (SO=1) T = T+1 if (S1=1) T = T+2 ; case (T) 0 : OUT = D0; 1 : OUT = D1; 2 : OUT = D2 ; 3 : OUT= D3; default : OUT D0;

7、endcase endendmodulemodule mux4_1(DO,D1, D2,D3,S1, SO, OUT); output OUT ; input DO,D1, D2,D3,S1, SO;reg 2:0 T ; reg OUT;always (D0, D1,D2,D3, S1,S0) begin T = 0; if (SO=1) T = T+1 if (S1=1) T = T+2 ; case (T) 0 : OUT = D0; 1 : OUT= D1; 2 : OUT =D2 ; 3 : OUT= D3; default : OUT D0; endcase endendmodul

8、e答:参见书答:参见书P137习习 题题 6-6 从不完整的条件语句产生时序模块的原理看,例从不完整的条件语句产生时序模块的原理看,例6-9和例和例6-10从表面上看都包含从表面上看都包含不完整条件语句,试说明,为什么例不完整条件语句,试说明,为什么例6-9的综合结果含锁存器,二例的综合结果含锁存器,二例6-10却没有。却没有。答:参见书答:参见书P137 事实上,例事实上,例6-96-9中,中,T T在过程中出现了在过程中出现了3 3次非阻塞赋值操作,即有次非阻塞赋值操作,即有3 3个赋值源对个赋值源对同一信号同一信号T T进行赋值进行赋值-T=0-T=0、T=T+1T=T+1和和T=T+2

9、T=T+2。但根据以上的讨论,对于非阻塞。但根据以上的讨论,对于非阻塞式赋值,前两个语句中的赋值目标信号式赋值,前两个语句中的赋值目标信号T T都不可能得到任何数值,只有最后的都不可能得到任何数值,只有最后的T=T+2T=T+2语句中的语句中的T T的值能得到更新。然而,由于赋值符号右边的的值能得到更新。然而,由于赋值符号右边的T T始终未得到任何始终未得到任何确定的初始值,即语句确定的初始值,即语句T=0T=0并未完成赋值,所以最后的并未完成赋值,所以最后的T T始终是个未知值。结果始终是个未知值。结果只能被综合成随只能被综合成随S1S1和和S0S0随机变动的时序电路,导致随机变动的时序电路

10、,导致T T成为一个不确定的信号。结成为一个不确定的信号。结果在过程最后的果在过程最后的casecase语句中,无法通过判断语句中,无法通过判断T T的值来确定选通输入,即对的值来确定选通输入,即对OUTOUT的赋的赋值。值。 例例6-106-10就不一样了。程序首先执行了阻塞式赋值语句就不一样了。程序首先执行了阻塞式赋值语句T=0T=0,T T即刻被更新,从即刻被更新,从而使两个而使两个ifif语句中的语句中的T T都能得到确定的初值。另一方面,当都能得到确定的初值。另一方面,当ifif语句不满足条件时,语句不满足条件时,即当即当S0S0或或S1S1不等于不等于1 1时,由于时,由于T T已

11、经在第一条赋值语句中被更新为确定的值已经在第一条赋值语句中被更新为确定的值0 0了,了,所以尽管两个所以尽管两个ifif语句从表面上看都属于不完整的条件语句,也不可能被综合成时语句从表面上看都属于不完整的条件语句,也不可能被综合成时序电路了。显然也就有了图序电路了。显然也就有了图6-46-4所示正确的波形输出。所示正确的波形输出。 习习 题题6-7 6-7 设计一个求补码的程序,输入数据是一个有符号的设计一个求补码的程序,输入数据是一个有符号的8 8位二进制数。位二进制数。/设计一个求补码的程序,输入数据是一个有符号的设计一个求补码的程序,输入数据是一个有符号的8 8位二进制数位二进制数mod

12、ule cnt57(a,b); /module cnt57(a,b); /二进制数补码二进制数补码input 7:0 a;input 7:0 a;output 7:0 b;output 7:0 b;integer i;integer i;regreg 7:0d; 7:0d;regreg 6:0c; 6:0c;always (a) always (a) beginbegin if(a7=1) if(a7=1) begin begin for(i=0;i7;i=i+1)ci=!ai for(i=0;i=5)?1:0;endmodule/程序1module BCD_Compare(a,b); out

13、put b; input3:0a; wire c,d; and(c,a1,a2); and(d,a0,a2); or(b,d,c,a3);endmodule 6-9 用原理图或用原理图或Verilog输入方式分别设计一个周期性产生二进制序列输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题1.1.计数型序列信号发生器组成与特点计数型序列信号发生器组成与特点 计数型序列信号发生器能产生多组序列信号,这是移位型发生器所没有的功能.

14、计数型序列信号发生器是由计数器和组合电路构成的,序列的长度P就是计数器的模数。2.2.计数型序列信号发生器的设计计数型序列信号发生器的设计( (通过例题来说明通过例题来说明) ) 例1.设计01001011001序列信号发生器 由于序列长度已经知道P=11,所以先用74163N设计一个模11的计数器,再用八选一数据选择器实现序列输出,把计数器的输出端作为数据选择器的地址变量。它的电路图为:如图(1) 序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号,能产序列信号是指在同步脉冲作用下循环地产生一串周期性的二进制信号,能产生这种信号的逻辑器件就称为序列信号发生器,根据结构不同生这种信号

15、的逻辑器件就称为序列信号发生器,根据结构不同, ,它可它可和和。 6-9 用原理图或用原理图或Verilog输入方式分别设计一个周期性产生二进制序列输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题1101000101CPCPQD(A2)QD(A2) QC(D4QC(D4、 D5)D5)QB(A1)QB(A1)QA(A0QA(A0、D7)D7)D DF F1 10 01 10 01 1D1D10 02 20 01 11 10

16、0D2D21 13 30 01 11 11 1D3D30 04 41 10 00 00 0D4D40 05 51 1000 01 1D5D51 16 61 10 01 10 0D6D60 07 71 10 01 11 1D7D71 18 81 11 10 00 0D4D41 19 91 1110 01 1D5D50 010101 11 11 10 0D6D60 011111 11 11 11 1D7D71 1U474163NQA14QB13QC12QD11RCO15A3B4C5D6ENP7ENT10LOAD9CLR1CLK2U1A74S04DU1B74S04DU274151NW6D04D13D

17、22D31D415D514D613D712A11C9B10Y5G7VDD5VV1100 Hz 5 V XSC1ABExt Trig+_+_ 6-9 用原理图或用原理图或Verilog输入方式分别设计一个周期性产生二进制序列输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题1.移位型序列信号发生器的组成 移位型序列信号发生器是由移位寄存器和组合电路两部分构成,组合电路的输出,作为移位寄存器的串行输入。由n位移位寄存器构成的序列信

18、号发生器所产生的序列信号的最大长度为:P=2n2.2.移位型序列信号发生器的设计移位型序列信号发生器的设计( (我们通过例题来说明我们通过例题来说明) ) 例1.试设计一个01001011001序列信号发生器 首先确定移位寄存器的位数,并画出编码状态图,并找出迁移关系. P=11,因此只需要74194N中的四位,按序列信号四位一组去划分(有十中状态),它的转换关系是:如图(1)如图如图(1) (1) 6-9 用原理图或用原理图或Verilog输入方式分别设计一个周期性产生二进制序列输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用

19、时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题CPCPQDQDQCQCQBQBQAQA序列序列F F0 00 01 10 00 04 41 11 11 10 00 01 19 90 02 20 00 01 10 02 21 13 30 01 10 01 15 51/01/04 41 10 01 11 111110 05 50 01 11 10 06 60 06 61 11 10 00 012121 17 71 10 01 10 010100 0 6-9 用原理图或用原理图或Verilog输入方式分别设计一个周期性产生二进制序列输入方式

20、分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题74194N U474194NA3B4C5D6SL7QA15QB14QC13QD12SR2CLR1S09S110CLK11V1100 Hz 5 V XSC1ABExt Trig+_+_VDD5VU174150NW10E08E17E26E35E44E53E62E71A15G9E823E922E1021E1120E1219E1318E1417E1516C13B14D110100101100

21、1J1Key = SpaceU2A7476N1J41Q151Q141K161CLR31CLK11PR2U3A7400NU5A7404N 6-9 用原理图或用原理图或Verilog输入方式分别设计一个周期性产生二进制序列输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题CPCPQDQDQCQCQBQBQAQA译码选择译码选择右移输入右移输入序列序列0 00 00 00 00 00 01 10 01 10 00 00 01 11

22、11 11 12 20 00 01 11 13 31 10 03 30 01 11 11 17 71 10 04 41 11 11 11 115150 01 15 51 11 11 10 014140 00 06 61 11 10 00 012121 11 17 71 10 00 01 19 90 01 18 80 00 01 10 02 20 00 09 90 01 10 00 04 40 00 010101 10 00 00 08 80 01 111110 01 11 10 06 612120 01 10 01 15 513131 10 01 10 0101014141 10 01 11

23、1111115151 11 10 01 11313U474194NA3B4C5D6SL7QA15QB14QC13QD12SR2CLR1S09S110CLK11XSC1ABExt Trig+_+_VDD5VU174150NW10E08E17E26E35E44E53E62E71A15G9E823E922E1021E1120E1219E1318E1417E1516C13B14D1101001011001U2A7404NU3A7404NU7B7486NU6A7408JU6B7408JU5A7432NVDD5VU8A7404NLED1AV1500 Hz 5 V 6-9 用原理图或用原理图或Verilog

24、输入方式分别设计一个周期性产生二进制序列输入方式分别设计一个周期性产生二进制序列01001011001的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。的序列发生器,用移位寄存器或用同步时序电路实现,并用时序仿真器验证其功能。习习 题题/【例6-14】module SHFT1(CLK,LOAD,DIN,QB,CN); /左移移位寄存器 output10:0QB; /移位数据输出 output CN; /进位输出 input CLK,LOAD; input 10:0DIN;/待加载移位的数据 reg CY;always (posedge CLK ) begin if(!L

25、OAD)REG=DIN; /注意LOAD是与CLK上升沿同步的控制信号 else end assign QB=REG; /移位后输出 assign CN=CY; /移位后输出endmodule 6-10 6-10 基于原理图输入方式,用基于原理图输入方式,用7419474194、7427374273、D D触发器等器件组成触发器等器件组成8 8位位串入并出的转换电路,要求在转换过程中数据不变,只有当串入并出的转换电路,要求在转换过程中数据不变,只有当8 8位一组数据全位一组数据全部转换结束后,输出才变化一次。部转换结束后,输出才变化一次。用计数器和数据选择器构成用计数器和数据选择器构成序列信号

26、发生器序列信号发生器例:产生一个例:产生一个8位的序列信号位的序列信号 00010111U774163NQA14QB13QC12QD11RCO15A3B4C5D6ENP7ENT10LOAD9CLR1CLK2U874151NW6D04D13D22D31D415D514D613D712A11C9B10Y5G7VDD5Vclkout实验与设计实验与设计6-1 半整数与奇数分频器设计半整数与奇数分频器设计(1)实验目的:学习利用)实验目的:学习利用Verilog完成实用程序的设计。完成实用程序的设计。(2)实验内容)实验内容1:(3)实验内容)实验内容2:(4)实验内容)实验内容3:(5)实验内容)实验内容4:实验与设计实验与设计6-2 数控分频器设计数控分频器设计(1)实验目的:)实验目的:(2)实验内容)实验内容1:(3)实验内容)实验内容2:(4)实验内容)实验内容3:(5)实验内容)实验内容4:(6)实验内容)实验内容5:实验与设计实验与设计6-3 VGA彩条信号显示控制电路设计彩条信号显示控制电路设计(1)实验目的:)实验目的:(2)实验原理:)实验原理:实验与设计实验与设计6-3 VGA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论