版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四局部
VerilogHDL语言〔第四、五、六、七章〕编辑课件一、
初识VerilogHDL三、VerilogHDL行为语句主要内容:二、VerilogHDL根底四、VerilogHDL设计风格五、常见组合与时序逻辑电路VerilogHDL描述编辑课件常用组合电路模块的设计常用时序电路模块的设计常见组合与时序逻辑电路VerilogHDL描述用VerilogHDL描述电路模块小结编辑课件一、用VerilogHDL描述电路模块小结模块中最重要的局部是逻辑功能定义局部。有3种方法可在模块中产生逻辑功能:〔1〕用实例元件:内置门元件、开关元件、自行设计生成的元件。〔结构描述〕如:and#2ul(q,a,b)端口信号名称可以采用位置关联方法和名称关联方法进行连接。〔2〕用“assign〞声明语句连续赋值。〔数据流描述〕采用“assign〞语句是描述组合逻辑电路最常用的方法之一。〔3〕用“always〞或“initial〞过程块。〔行为描述〕编辑课件使用initial和always的区别“always〞块既可用于描述组合逻辑,也可描述时序逻辑。always语句是不断地重复活动的,直到仿真过程结束。但always语句后的过程块是否运行,那么要看它的触发条件是否满足,如满足那么运行过程块一次,再次满足那么再运行一次,直至仿真过程结束。“initial〞块一般用于变量初始化及仿真波形产生。Initial语句只执行一次。一个模块中这三种表达方式是并发执行的,有多个实例元件、“assign〞声明语句、“always〞块也是并发执行的。但“always〞块内是顺序执行的。在一个模块中,使用initial和always语句的次数是不受限制的,它们都是同时开始运行的。编辑课件行为描述“always〞或“initial〞过程块构成了行为级建模的根底,即所有行为级语句只能出现在这两种块之中。只有实例元件和“assign〞连续赋值语句可以独立在块外。行为级描述时如果分支条件比较少,且有先后顺序,选择if-else语句;如果条件分支比较多,使用case〔casez、casex〕语句更加方便。循环语句有4种(for、repeat、while、forever),建议首选for语句。编辑课件二、常用组合电路模块的设计组合逻辑电路在数字系统中起着根本组件的作用。组合逻辑电路包括:门电路、双向三态门、加法器、多路选择器、比较器、乘法器、总线等。编辑课件〔一〕简单组合电路的描述1、根本门电路的描述编辑课件(2)用assign连续赋值语句描述modulegate1(F,A,B,C,D);inputA,B,C,D;outputF;assignF=(~(A&B))|(B&C&D);
//连续赋值语句endmodule(3)用过程语句always块描述modulegate2(F,A,B,C,D);inputA,B,C,D;outputF;regF;always@(AorBorCorD)
//always过程语句
F=~(A&B)|(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);
//调用内置门endmoduleassignF1=~(A&B);assignF2=(B&C&D);assignF=F1|F2;或编辑课件2、三态门的描述regout;beginalways@(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);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’b11101111;3’b101:out=8’b11011111;3’b110:out=8’b10111111;3’b111:out=8’b01111111;default:
out
=8
'bx;endcaseendendmodule编辑课件QUARTUSII编译后的生成的模块符号:2编辑课件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’d1:{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:{a,b,c,d,e,f,g}=7’bz;endcaseendendmodule2、BCD码——七段数码显示译码器编辑课件QUARTUSII编译后的生成的模块符号:编辑课件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)begin
if(h)outcode=3’b111;elseif(g)outcode=3’b110;elseif(f)outcode=3’b101;elseif(e)outcode=3’b100;elseif(d)outcode=3’b011;elseif(c)outcode=3’b010;elseif(b)outcode=3’b001;elseif(a)outcode=3’b000;elseoutcode=3’bzzz;end
endmodule要求:输入高电平有效,输出为原码,哪一个输入的优先权最高?哪一个最低?编辑课件QUARTUSII编译后的生成的模块符号:编辑课件4、数据选择器〔2选1、4选1)〔略〕5、奇偶校验位产生器moduleparity(even,odd,bus);input[7:0]bus;outputeven,odd;assignodd=^bus;//缩位运算产生奇校验位
assigneven=~odd;
//产生偶校验位endmodule编辑课件6、程序如左所示,说出for语句的执行过程,说明该电路的功能modulevoter7(pass,vote);outputpass;input[6:0]vote;reg[2:0]sum;integeri;regpass;always@(vote)beginsum=0;for(i=0;i<=6;i=i+1)if(vote[i])sum=sum+1;if(sum[2])pass=1;elsepass=0;endendmodule〔vote[6]orvote[5]orvote[4]orvote[3]orvote[2]orvote[1]orvote[0]〕3’b000循环体//i=7时这条语句得到执行,判断sum是否大于等于4电路功能:7人多数表决器编辑课件练习:采用VerilogHDLcase语句对半加器进行行为描述modulehalfadder(A,B,S,C);inputA,B;outputS,C;regS,C;always@(AorB)begincase({A,B})2'B00:{S,C}=2'B00;2'B01:{S,C}=2'B10;2'B10:{S,C}=2'B10;2'B11:{S,C}=2'B01;endcaseendendmodule编辑课件(一)简单时序逻辑电路的描述※通常使用always@(posedgeclk)或@(negedgeclk)块来描述时序逻辑。基本D触发器moduleDFF(Q,D,CLK);outputQ;inputD,CLK;regQ;always@(posedgeCLK)Q<=D;endmodule三、常用时序电路模块设计上升沿有效的边沿结构的D触发器编辑课件(二)复杂时序逻辑电路的描述※通常在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;endendendmoduleornegedgesetornegedgereset同步清零,低电平有效.优先级高同步置数,低电平有效.优先级低异步置数或异步清零?编辑课件2、带清零端、置1端的JK触发器moduleJK_FF(CLK,J,K,Q,RS,SET);inputCLK,J,K,SET,RS;outputQ;regQ;always@(posedgeCLKornegedgeRSornegedgeSET)beginif(!RS)Q<=1’B0;elseif(!SET)q<=1’B1;elsecase({J,K})2’b00:Q<=Q;2’b01:Q<=1’b0;2’b10:Q<=1’b1;2’b11:Q<=~Q;endcaseendendmodule异步清零、异步置数异步清零,低电平有效编辑课件3、数据存放器modulereg8(out_data,in_data,clk,clr);output[7:0]out_data;input[7:0]in_data;inputclk,clr;reg[7:0]out_data;always@(posedgeclkorposedgeclr)beginif(clr)out_data=0;elseout_data=in_data;endendmodule
异步清零,高电平有效编辑课件4、数据锁存器modulelatch_8(qout,data,clk);output[7:0]qout;input[7:0]data;inputclk;reg[7:0]qout;always@(clkordata)if(clk)qout=data;endmodule
编辑课件存放器与锁存器存放器与锁存器的异同:相同点:功能相同,都具有保存数据的功能。区别:锁存器一般是由电平信号来控制的,属于电平敏感型,而存放器一般由同步时钟信号控制,属于边沿敏感型,假设数据有效滞后于控制信号有效,那么只能使用锁存器,假设数据提前于控制信号,并要求同步操作,那么可以选择存放器来存放数据编辑课件moduleshifter(din,clk,clr,dout);inputdin,clk,clr;output[7:0]dout;reg[7:0]dout;always@(posedgeclk)beginif(clr)dout=8’b0;else begin dout=dout<<1; dout[0]=din;endendendmodule5、左移存放器编辑课件6、循环左移存放器moduleshifter(clk,clr,dout,load,d);inputclk,clr,load;input[7:0]d;output[7:0]dout;reg[7:0]dout;regdin;always@(posedgeclk)beginif(clr)dout=8‘b0;//同步低电平复位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 师德师风提升年活动简报范文(6篇)
- 农村培训课件
- 开学第一课观后感(汇编15篇)
- 2024年中国折扣零售行业市场现状、前景分析研究报告(智研咨询发布)
- 二零二五年度海上风电项目土地租赁与海上平台建设合同3篇
- 二零二五年度林业资源综合开发承包协议3篇
- 2025版食用菌木屑研发与生产合作合同3篇
- 二零二五年度旅游线路设计与开发合作协议3篇
- 2025版环境执法检查相关方环境管理协议3篇
- 鼓励幼儿自主探索的教学方法计划
- 金字塔原理与结构化思维考核试题及答案
- 基础护理学导尿操作
- 标牌加工风险防范方案
- 2015-2024北京中考真题英语汇编:阅读单选CD篇
- 临床放射性皮肤损伤的护理
- DB11∕T 1028-2021 民用建筑节能门窗工程技术标准
- 员工积分考核管理办法
- 四川省成都市温江区2023-2024学年四年级下学期期末语文试卷
- (初级)航空油料计量统计员技能鉴定理论考试题库(含答案)
- 2024-2030年中国靶机行业市场发展趋势与前景展望战略分析报告
- 执业药师劳动合同范本
评论
0/150
提交评论