VerilogHDL中级实验1Word下载.docx
《VerilogHDL中级实验1Word下载.docx》由会员分享,可在线阅读,更多相关《VerilogHDL中级实验1Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
二、创建文件
创建VerilogHDL文件,设计一个模10计数器(异步清零,同步置数)
modulem10counter(clk,q,clr_n,ld);
inputclk,ld,clr_n;
output[3:
0]q;
reg[3:
0]q;
always@(posedgeclkornegedgeclr_n)
if(~clr_n)
q<
=4'
b0000;
elseif(ld)
elseif(q<
9)
=q+1;
else
=0;
endmodule
一、编译工程
报告中下列数据是多少
totallogicelements7/5,980(<
1%)
totalpins7/185(4%)
二、仿真电路
1、创建VWF文件
2、设定“EndTime”为20us
3、在VWF文件中添加NodeORBus
4、编辑波形
5、仿真
6、画出仿真结果
波形仿真图形
RTL视图
实验二 设计一个模60计数器(异步清零,同步置数)
一.创建工程
m60counter顶层实体文件名:
m60counter
EP1C6F256C6(要求:
二.创建文件
创建VerilogHDL文件,设计一个模60计数器(异步清零,同步置数)
modulem60counter(clk,q,clr_n,ld);
output[5:
reg[5:
59)
totallogicelements8/5,980(<
totalpins9/185(5%)
RTL
实验三 设计一个DCB码加法器(两个4bit)
add4_bcd顶层实体文件名:
add4_bcd
EP1C6F256C6(要求:
创建VerilogHDL文件,设计一个DCB码加法器(两个4bit)
moduleadd4_bcd(cin,ina,inb,out,count);
inputcin;
input[3:
0]ina,inb;
outputreg[3:
0]out;
outputregcount;
reg[4:
0]temp;
always@(cin,ina,inb)
begin
temp<
=ina+inb+cin;
if(temp>
9){count,out}<
=temp+6;
{count,out}<
=temp;
end
三.编译工程
totallogicelements10/5,980(<
totalpins14/185(8%)
四.仿真电路
1.endtime20us
2.仿真波形
3.RTL
实验四 设计一个4bit加减计数器
up_down顶层实体文件名:
up_down
创建VerilogHDL文件,设计一个4bit加减计数器
moduleup_down(clk,Q,clr_n,up_down,Ld,D);
0]D;
inputclk,clr_n,Ld,up_down;
0]Q;
if(!
clr_n)
Q<
elseif(Ld)
=D;
elseif(up_down)
=Q+1;
=Q-1;
totallogicelements5/5,980(<
totalpins12/185(6%)
a)创建VWF文件
b)设定“EndTime”为20us
c)在VWF文件中添加NodeORBus
d)编辑波形
e)仿真
f)画出仿真结果
实验五设计一个2、4、8分频电路
fdiv_2_4_8顶层实体文件名:
fdiv_2_4_8
EP1C6F256C6(要求:
创建VerilogHDL文件,设计一个2、4、8分频电路
modulefdiv_2_4_8(clk,clk2,clk4,clk8);
inputclk;
outputregclk2,clk4,clk8;
always@(posedgeclk)
clk2<
=~clk2;
always@(posedgeclk2)
clk4<
=~clk4;
always@(posedgeclk4)
clk8<
=~clk8;
三、编译工程
totallogicelements3/5,980(<
totalpins4/185(2%)
四、仿真电路
clk时钟为100nsendtime为20us
波形仿真图形
实验六 设计一个2N分频电路(N=7)
一、一创建工程
fdiv_2N顶层实体文件名:
fdiv_2N
创建VerilogHDL文件,设计一个2N分频电路(N=7)
modulefdiv_2N(clk,clk2n);
outputregclk2n;
reg[2:
0]cn;
if(cn<
6)
cn<
=cn+1;
if(cn==6)
clk2n<
=~clk2n;
totallogicelements4/5,980(<
totalpins2/185(1%)
1.clk50nsendtime为20us
2.仿真波形如下图
实验七 设计一个M+N分频器(N=5;
M=7)
一.创建工程
fidiv5_7顶层实体文件名:
fidiv5_7
EP1C6F256C6(要求:
设计一个M+N分频器(N=5;
modulefidiv5_7(clk,clk5_7);
inputclk;
outputregclk5_7;
reg[3:
0]cnt;
always@(posedgeclk)
begin
if(cnt<
12)
cnt<
=cnt+1;
else
4)
clk5_7<
=1;
else
end
endmodule
3.编译工程
totallogicelements9/2,910(<
totalpins14/65(22%)
一、仿真电路
3.RTL波形
实验八设计一个17分频器(占空比50%)
一、创建工程
fdiv_17顶层实体文件名:
fdiv_17
创建VerilogHDL文件,设计一个17分频器(占空比50%)
modulefdiv_17(clk,clk_17);
wireclkp,clkn;
outputclk_17;
reg[4:
0]cnl;
0]cnm;
assignclkp=cnl<
8?
1:
0;
assignclkn=cnm<
assignclk_17=(clkp|clkn)?
if(cnl<
16)
cnl<
=cnl+1;
always@(negedgeclk)
if(cnm<
cnm<
=cnm+1;
totallogicelements11/5,980(<