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

上传人:b****1 文档编号:3272998 上传时间:2023-05-01 格式:DOCX 页数:16 大小:17KB
下载 相关 举报
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第1页
第1页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第2页
第2页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第3页
第3页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第4页
第4页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第5页
第5页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第6页
第6页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第7页
第7页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第8页
第8页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第9页
第9页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第10页
第10页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第11页
第11页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第12页
第12页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第13页
第13页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第14页
第14页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第15页
第15页 / 共16页
EDA汇总Verilog HDL编程Word文档下载推荐.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《EDA汇总Verilog HDL编程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《EDA汇总Verilog HDL编程Word文档下载推荐.docx(16页珍藏版)》请在冰点文库上搜索。

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

moduledff_asyn(q,qn,d,clk,set,reset);

always@(posedgeclkornegedgesetornegedgereset)

【例4.13】4位计数器的仿真代码

`timescale1ns/1ns

`include“count4.v”

modulecoun4_tp;

regclk,reset;

wire[3:

0]out;

parameterDELY=100;

count4mycount(out,reset,clk);

always#(DELY/2)clk=~clk;

initial

beginclk=0;

reset=0;

#DELYreset=1;

#DELYreset=0;

#(DELY*20)$finish;

initial$monitor($time,,”clk=%dreset=%dout=%d,clk,reset,out);

【例4.14】带同步复位的4位模10BCD码计数器

modulecount10(cout,qout,reset,clk);

inputreset,clk;

outputreg[3:

0]qout;

if(reset)qout<

=0;

elseif(qout<

9)qout<

=qout+1;

elseqout<

assigncout=(qout==9)?

1:

0;

【例6.1】用case语句描述的4选1数据选择器

modulemux4_1(out,in0,in1,in2,in3,se1);

inputin0,in1,in2,in3;

input[1:

0]se1;

outputregout;

always@(in0orin1orin2orin3orse1)

case(se1)

2’b00:

out=in0;

2’b01:

out=in1;

2’b10:

out=in2;

2’b11:

out=in3;

default:

out=2’box;

endcase

【例6.2】同步置数、同步清零的计数器

modulecount(out,data,load,reset,clk);

inputload,clk,reset;

input[7:

0]data;

outputreg[7:

if(!

reset)out<

=8’h00;

elseif(load)out=data;

elseout<

=out+1;

【例6.4】用initial过程语句对测试变量赋值

’timescale1ns/1ns

moduletest;

rega,b.c;

initialbegina=0;

b=1;

c=0;

#50a=1;

b=0;

#50a=0;

c1;

#50b=1;

#50b=0;

#50$finish;

【例6.5】用begin-end串行块产生信号波形

’timescale10ns/1ns

modulewave1;

parameterCYCLE=10;

regwave;

beginwave=0;

#(CYCLE/2)wave=1;

#(CYCLE/2)wave=0;

#(CYCLE/2)$stop;

initial$monitor($time,,,”wave=%b”,wave);

【例6.15】模为60的8421BCD码加法计数器

modulecount60(qout,cout,data,load,reset,clk);

outputcout;

if(reset)qout<

elseif(load)qout<

=data;

elsebegin

if(qout[3:

0]==9)

beginqout[3:

0]<

if(qout[7:

4]==5)qout[7:

4]<

elseqout[7:

=qout[7:

4]+1;

end

elseqout[3:

=qout[3:

0]+1;

assigncout=(qout==8’d59)?

【例6.17】BCD码——7段数码管译码器

moduledecode4_7(a,b,c,d,e,f,g,D3,D2,D1,D0);

inputD3,D2,D1,D0;

outputrega,b,c,d,e,f,g;

always@(*)

case({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:

endcase

【例6.18】用case语句描述的下降沿触发的JK触发器

modulejk_ff(clk,j,k,q);

inputclk,j,k;

outputregq;

always@(negedgeclk)

case({j,k})

2’b00:

q<

=q;

2’b01:

2’b10:

2’b11:

=~q;

endcase

例6.36用ifelse描述的模12分频器

modulefdivi12(teset,clkin,clkout,qout);

inputreset,clkin:

outputregclkout;

outputreg[4:

always@(posedgeclkin)

if(!

reset)

begin

clkout<

qout<

=0;

end

elesbegin

if(qout==5)

qout<

clkout<

=~clkout:

例6.37模12分频器

reset)qout<

11)qout<

+qout+1;

reset)clkout<

elseif(qout==11)clkout<

=1;

elseclkout<

例6.38.模12分频器

assignclkout=(qout==11)?

0;

例7.2用case语句描述的4选1mux

modulemux4_1b(out,in1,in2,in3,in4,s0,s1);

inputin1,in2,in3,in4,s0,s1;

outputregout;

case({s0,s1})

2'

b00:

out=in1;

b01:

out=in2;

b10:

out=in3;

b11:

out=in4;

out=2'

bx;

例8.1用状态机设计模5计数器

modulefam(clk,clr,z,qout);

inputclk,clr;

outputregz;

outputreg[2:

always@(posedgeclkorposedgeclr)

beginif(clr)qout<

elsecase(qout)

3'

b000:

=3'

b001;

b001:

b010;

b010:

b011;

b011:

b100;

b100:

b000;

always@(qout)

begincase(qout)

z=1'

b1;

b0;

例8.2用状态机设计模5计数器(单过程描述)。

modulefsm1(clk,clr,z,qout);

beginqout<

例8.3"

101"

序列检测器的描述(cs,ns,ol各用一个过程描述)

modulefsm1_set101(clk,clr,x,z);

inputclk,clr,x;

reg[10]state,next_state;

parameters0=2'

b00,s1=2'

b01,s2=2'

b11,s3=2'

b10;

/*状态编码,采用格雷编码方式*/

always@(posedgeclkorposedgeclr)

beginif(clr)state<

=s0;

elsestate<

=next_state;

always@(stateorx)

begin

case(state)

s0:

beginif(x)next_state<

=s1;

elsenext_state<

s1:

=s2;

s2:

=s3;

next_state<

endcase

always@(state)

begincase(state)

s3=:

z=1'

endmodule

例8.4采用两个过程对"

序列检测器进行描述(cs+ns,ol双过程描述)

modulefsm2_set101(clk,clr,x,z);

reg[10]state;

b01,s1=2'

=state;

beginif(x)state<

elsestate<

state<

s3:

endmodule

例8.5"

序列检测器(CS,NS+OL双过程描述)。

modulefsm3_seq101(clk,clr,x,z);

reg[1:

0]state,next_state;

parameterS0=2'

b00,S1=2'

b01,S2=2'

b11,S3=2'

=S0;

always@(stateorx)

S0:

beginif(x)beginnext_state<

=S1;

elsebeginnext_state<

S1:

=S2;

S2:

=S3;

S3:

beginnext_state<

 

例8.6"

序列检测器(CS+NS+OL单过程描述)。

modulefsm4_seq101(clk,clr,x,z);

0]state;

elsecase(state)

beginif(x)beginstate<

elsebeginstate<

beginstate<

例8.7"

1111"

序列检测器的Verilog描述(单过程描述CS+NS+OL)

modulefsm_seq1111(x,z,clk,reset);

inputx,clk,reset;

outputregz;

parameters0='

d0,s1='

d1,s2='

d2,s3='

d3,s4='

d4;

beginif(reset)beginstate<

z<

elsecasex(state)

beginif(x==0)beginstate<

z<

elsebeginstate<

s3:

=s4;

s4:

例8.10用有限状态机设计除法电路

moduledivision(a,b,clk,result,yu);

0]a,b;

0]result,yu;

inputclk;

reg[1:

reg[3:

0]m,n;

s0:

beginif(a>

=b)beginn<

=a-b;

m<

=4'

b0001;

elsebeginm<

b0000;

n<

=a;

state<

s1:

beginif(n>

=b)beginm<

=m+1;

n<

=n-b;

s2:

beginresult<

=m;

yu<

=n;

default:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

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

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