ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:17KB ,
资源ID:3272998      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3272998.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA汇总Verilog HDL编程Word文档下载推荐.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

EDA汇总Verilog HDL编程Word文档下载推荐.docx

1、module dff_asyn(q,qn,d,clk,set,reset);always (posedge clk or negedge set or negedge reset)【例4.13】4位计数器的仿真代码timescale 1ns/1nsinclude “count4.v”module coun4_tp;reg clk,reset;wire3:0 out;parameter DELY=100;count4 mycount(out,reset,clk);always #(DELY/2) clk=clk;initialbegin clk=0;reset=0;#DELY reset=1;#

2、DELY reset=0;#(DELY*20) $finish;initial $monitor($time,”clk=%d reset=%d out=%d,clk,reset,out);【例4.14】带同步复位的4位模10BCD码计数器module count10(cout,qout,reset,clk);input reset,clk;output reg3:0 qout; if(reset) qout=0; else if(qout9) qout=qout+1; else qoutassign cout=(qout=9)?1:0;【例6.1】用case语句描述的4选1数据选择器modul

3、e mux4_1(out,in0,in1,in2,in3,se1);input in0,in1,in2,in3;input1:0 se1; output reg out;always (in0 or in1 or in2 or in3 or se1) case(se1) 2b00: out=in0; 2b01: out=in1; 2b10: out=in2; 2b11: out=in3; default:out=2box; endcase【例6.2】同步置数、同步清零的计数器module count(out,data,load,reset,clk);input load,clk,reset;

4、input7:0 data;output reg7: if(!reset) out=8h00; else if(load) out=data; else out=out+1;【例6.4】用initial过程语句对测试变量赋值timescale 1ns/1nsmodule test;reg a,b.c;initial begin a=0;b=1;c=0; #50 a=1;b=0; #50 a=0;c1; #50 b=1; #50 b=0; #50 $finish;【例6.5】用begin-end串行块产生信号波形timescale 10ns/1nsmodule wave1;parameter C

5、YCLE=10;reg wave; begin wave=0; #(CYCLE/2) wave=1; #(CYCLE/2) wave=0; #(CYCLE/2) $stop;initial $monitor($time,”wave=%b”,wave);【例6.15】模为60的8421BCD码加法计数器module count60(qout,cout,data,load,reset,clk); output cout; if(reset) qout else if(load) qout=data; else begin if(qout3:0=9) begin qout3:0 if (qout7:

6、4=5) qout7:4 else qout7:=qout7:4+1; end else qout3:=qout3:0+1;assign cout=(qout=8d59)?【例6.17】BCD码7段数码管译码器module decode4_7(a,b,c,d,e,f,g,D3,D2,D1,D0);input D3,D2,D1,D0;output reg a,b,c,d,e,f,g;always (*) case(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=7b1

7、101101; 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: endcase【例6.18】用case语句描述的下降沿触发的JK触发器module jk_ff(clk,j,k,q);input clk,j,k; output

8、 reg q;always (negedge clk) case(j,k) 2b00:q=q; 2b01: 2b10: 2b11:=q;endcase例6.36 用if else 描述的模12分频器module fdivi12(teset,clkin,clkout,qout);input reset,clkin:output reg clkout;output reg4:always (posedge clkin) if(!reset) begin clkout qout=0; end eles begin if(qout=5) qoutclkout=clkout:例6.37 模12分频器re

9、set) qout11) qout+qout+1;reset) clkout else if(qout=11) clkout=1; else clkout例6.38.模12分频器assign clkout=(qout=11)?:0;例7.2 用case语句描述的4选1 muxmodule mux4_1b(out,in1,in2,in3,in4,s0,s1);input in1,in2,in3,in4,s0,s1;output reg out; case(s0,s1) 2b00:out=in1;b01:out=in2;b10:out=in3;b11:out=in4;out=2bx;例8.1 用状

10、态机设计模5计数器module fam(clk,clr,z,qout);input clk,clr; output reg z; output reg2:always (posedge clk or posedge clr)begin if(clr) qout else case(qout) 3b000:=3b001;b001:b010;b010:b011;b011:b100;b100:b000;always (qout)begin case(qout) z=1b1;b0;例8.2 用状态机设计模5计数器(单过程描述)。module fsm1(clk,clr,z,qout);begin qou

11、t例 8.3101序列检测器的描述(cs,ns,ol各用一个过程描述)module fsm1_set101(clk,clr,x,z);input clk,clr,x; reg10 state,next_state;parameter s0=2b00,s1=2b01,s2=2b11,s3=2b10;/*状态编码,采用格雷编码方式*/always (posedge clk or posedge clr)begin if(clr) state=s0; else state=next_state;always (state or x)begin case (state) s0:begin if(x)

12、next_state=s1; else next_state s1:=s2; s2:=s3; next_stateend casealways (state)begin case(state) s3=:z=1end module例8.4采用两个过程对序列检测器进行描述(cs+ns,ol双过程描述)module fsm2_set101(clk,clr,x,z); reg10 state;b01,s1=2=state;begin if(x) state else state state s3 :end module 例8.5 序列检测器(CS,NS+OL双过程描述)。module fsm3_seq

13、101(clk,clr,x,z); reg1:0 state,next_state;parameter S0=2b00,S1=2b01,S2=2b11,S3=2=S0;always (state or x) S0:begin if(x) begin next_state=S1; else begin next_state S1:=S2; S2:=S3; S3: begin next_state例8.6 序列检测器(CS+NS+OL单过程描述)。module fsm4_seq101(clk,clr,x,z);0 state; else case(state)begin if(x) begin s

14、tate else begin state begin state例8.71111序列检测器的Verilog描述(单过程描述CS+NS+OL)module fsm_seq1111(x,z,clk,reset);input x,clk,reset;output reg z;parameter s0=d0,s1=d1,s2=d2,s3=d3,s4=d4;begin if(reset) begin statez else casex(state)begin if(x=0) begin state z else begin state=b) begin n=a-b; m=4b0001; else begin mb0000; n=a;state=b) begin m=m+1;n=n-b;s2: begin result=m;yu=n;default:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2