资源描述:
《第六讲 常见组合与时序逻辑电路Verilog HDl描述.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第九章VeirlogHDL数字电路设计实践主要内容一、常用组合电路模块的设计二、常用时序电路模块的设计三、多层次结构电路的设计(一)简单组合电路的描述1、基本门电路的描述常用组合电路模块的设计(2)用assign连续赋值语句描述modulegate1(F,A,B,C,D);inputA,B,C,D;outputF;assignF=(~(A&B))
2、(B&C&D);//连续赋值语句endmodule(3)用过程语句always块描述modulegate2(F,A,B,C,D);inputA,B,C,D;outputF;regF;always@(AorBorCorD)//always
3、过程语句F=~(A&B)
4、(B&C&D);endmodule(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);//调用内置门endmodule2、三态门的描述regout;always@(enorin)out=en?in:’bz;end(2)用assign连续赋值语句描述(3)用过程语句always块描述(1)调用内置门元件描述bufif1b1(out,in,en);assignout=en?in:’bz;※在VerilogHDL中,描述简单
5、的组合逻辑通常使用assign结构。注意:条件运算符是一种在组合逻辑实现分支判断时常使用的格式。(二)复杂组合电路的描述※一般用always块实现较复杂的组合逻辑电路1、3线-8线译码器moduledecoder_38(out,in);output[7:0]out;input[2:0]in;reg[7:0]out;always@(in)begincase(in)3’b000:out=8’b11111110;3’b001:out=8’b11111101;3’b010:out=8’b11111011;3’b011:out=8’b11110111;3’b100:out=8’b11101
6、111;3’b101:out=8’b11011111;3’b110:out=8’b10111111;3’b111:out=8’b01111111;endcaseendendmoduleMAX+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})4’d0:{a,b,c,d,e,f,g}=7’b1111110;4’d
7、1:{a,b,c,d,e,f,g}=7’b0110000;4’d2:{a,b,c,d,e,f,g}=7’b1101101;4’d3:{a,b,c,d,e,f,g}=7’b1111001;4’d4:{a,b,c,d,e,f,g}=7’b0110011;4’d5:{a,b,c,d,e,f,g}=7’b1011011;4’d6:{a,b,c,d,e,f,g}=7’b1011111;4’d7:{a,b,c,d,e,f,g}=7’b1110000;4’d8:{a,b,c,d,e,f,g}=7’b1111111;4’d9:{a,b,c,d,e,f,g}=7’b1111011;default:
8、{a,b,c,d,e,f,g}=7’bx;endcaseendendmodule2、BCD码——七段数码显示译码器MAX+PLUSII编译后的生成的模块符号:3、8线-3优先编码器moduleencoder8_3(outcode,a,b,c,d,e,f,g,h);output[2:0]outcode;inputa,b,c,d,e,f,g,h;reg[2:0]outcode;always@(aorborcordoreorforgorh)beginif(h)outcode=3’b111;elseif(g)outcode=3’b110;elseif(f)outcode=3’b101;e
9、lseif(e)outcode=3’b100;elseif(d)outcode=3’b011;elseif(c)outcode=3’b010;elseif(b)outcode=3’b001;elseif(a)outcode=3’b000;endendmoduleMAX+PLUSII编译后的生成的模块符号:4、数据选择器(2选1、4选1)(略)(一)简单时序逻辑电路的描述※通常使用always块(@(posedgeclk)或@(negedgeclk)来描述时序逻辑。基本D触发器mo