第六讲 常见组合与时序逻辑电路Verilog HDl描述_第1页
第六讲 常见组合与时序逻辑电路Verilog HDl描述_第2页
第六讲 常见组合与时序逻辑电路Verilog HDl描述_第3页
第六讲 常见组合与时序逻辑电路Verilog HDl描述_第4页
第六讲 常见组合与时序逻辑电路Verilog HDl描述_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

.,第九章,VeirlogHDL数字电路设计实践,.,主要内容,一、常用组合电路模块的设计,二、常用时序电路模块的设计,三、多层次结构电路的设计,.,(一)简单组合电路的描述,1、基本门电路的描述,常用组合电路模块的设计,.,(1)调用内置门元件描述,modulegate3(F,A,B,C,D);inputA,B,C,D;outputF;nand(F1,A,B);and(F2,B,C,D);or(F,F1,F2);/调用内置门endmodule,.,2、三态门的描述,regout;always(enorin)out=en?in:bz;end,(2)用assign连续赋值语句描述,(3)用过程语句always块描述,(1)调用内置门元件描述,bufif1b1(out,in,en);,assignout=en?in:bz;,.,在VerilogHDL中,描述简单的组合逻辑通常使用assign结构。注意:条件运算符是一种在组合逻辑实现分支判断时常使用的格式。,.,(二)复杂组合电路的描述,一般用always块实现较复杂的组合逻辑电路,1、3线-8线译码器,moduledecoder_38(out,in);output7:0out;input2:0in;reg7:0out;always(in)begincase(in)3b000:out=8b11111110;3b001:out=8b11111101;3b010:out=8b11111011;3b011:out=8b11110111;3b100:out=8b11101111;3b101:out=8b11011111;3b110:out=8b10111111;3b111:out=8b01111111;endcaseendendmodule,.,MAX+PLUSII编译后的生成的模块符号:,.,moduledecode4_7(a,b,c,d,e,f,g,D3,D2,D1,D0);outputa,b,c,d,e,f,g;inputD3,D2,D1,D0;rega,b,c,d,e,f,g;always(D3orD2orD1orD0)begincase(D3,D2,D1,D0)4d0:a,b,c,d,e,f,g=7b1111110;4d1:a,b,c,d,e,f,g=7b0110000;4d2:a,b,c,d,e,f,g=7b1101101;4d3:a,b,c,d,e,f,g=7b1111001;4d4:a,b,c,d,e,f,g=7b0110011;4d5:a,b,c,d,e,f,g=7b1011011;4d6:a,b,c,d,e,f,g=7b1011111;4d7:a,b,c,d,e,f,g=7b1110000;4d8:a,b,c,d,e,f,g=7b1111111;4d9:a,b,c,d,e,f,g=7b1111011;default:a,b,c,d,e,f,g=7bx;endcaseendendmodule,2、BCD码七段数码显示译码器,.,MAX+PLUSII编译后的生成的模块符号:,.,3、8线-3优先编码器,moduleencoder8_3(outcode,a,b,c,d,e,f,g,h);output2:0outcode;inputa,b,c,d,e,f,g,h;reg2:0outcode;always(aorborcordoreorforgorh)beginif(h)outcode=3b111;elseif(g)outcode=3b110;elseif(f)outcode=3b101;elseif(e)outcode=3b100;elseif(d)outcode=3b011;elseif(c)outcode=3b010;elseif(b)outcode=3b001;elseif(a)outcode=3b000;endendmodule,.,MAX+PLUSII编译后的生成的模块符号:,.,4、数据选择器(2选1、4选1)(略),.,(一)简单时序逻辑电路的描述,通常使用always块((posedgeclk)或(negedgeclk)来描述时序逻辑。,常用时序电路模块设计,.,(二)复杂时序逻辑电路的描述,通常在always过程语句里使用条件语句来实现较复杂的时序逻辑电路。,.,1、带清零端、置1端的D触发器,moduleDFF1(q,qn,d,clk,set,reset);outputq,qn;inputd,clk,set,reset;regq,qn;always(posedgeclk)beginif(!reset)beginq=0;qn=1;endelseif(!set)beginq=1;qn=0;endelsebeginq=d;qn=d;endendendmodule,ornegedgesetornegedgereset),.,2、带清零端、置1端的JK触发器,moduleJK_FF(CLK,J,K,Q,RS,SET);inputCLK,J,K,SET,RS;outputQ;regQ;always(posedgeCLKornegedgeRSornegedgeSET)beginif(!RS)Q=1B0;elseif(!SET)q=1B1;elsecase(J,K)2b00:Q=Q;2b01:Q=1b0;2b10:Q=1b1;2b11:Q=Q;endcaseendendmodule,.,3、数据寄存器,modulereg8(out_data,in_data,clk,clr);output7:0out_data;input7:0in_data;inputclk,clr;reg7:0out_data;always(posedgeclkorposedgeclr)beginif(clr)out_data=0;elseout_data=in_data;endendmodule,.,moduleshifter(din,clk,clr,dout);inputdin,clk,clr;output7:0dout;reg7:0dout;always(posedgeclk)beginif(clr)dout=8b0;elsebegindout=dout1;dout0=din;endendendmodule,4、移位寄存器,.,5、计数器,moduleupdown_count(d,clk,clear,load,up_down,qd);input3:0d;inputclk,clear,load,up_down;output3:0qd;reg3:0qd;always(posedgeclk)beg

温馨提示

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

评论

0/150

提交评论