VerilogHDL中级实验文档格式.docx
《VerilogHDL中级实验文档格式.docx》由会员分享,可在线阅读,更多相关《VerilogHDL中级实验文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
![VerilogHDL中级实验文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/6/de5d6c7b-22ae-4267-bb61-f4966a384e2f/de5d6c7b-22ae-4267-bb61-f4966a384e2f1.gif)
器件:
EP1C3T100A8(要求:
Cyclone系列任意器件)
二、创建文件
创建VerilogHDL文件,设计一个模10计数器(异步清零,同步置数)
modulem10(out,clk,clr_n);
inputclk,clr_n;
output[3:
0]out;
reg[3:
0]out;
always@(posedgeclkornegedgeclr_n)
begin
if(!
clr_n)
out<
=0;
elseif(out==9)
else
=out+4'
b0001;
end
endmodule
三、编译工程
四、仿真电路
1.clk50nsclr-n高电平endtime20us
2.仿真波形
3.RTL
实验二 设计一个模60计数器(异步清零,同步置数)
一.创建工程
m60顶层实体文件名:
m60
二.创建文件
模60计数器
modulem60(clk,q,clr_n,ld);
inputclk,ld,clr_n;
output[5:
0]q;
reg[5:
0]q;
always@(posedgeclkornegedgeclr_n)
if(~clr_n)
q<
=4'
b000000;
elseif(ld)
b0000;
elseif(q==59)
=q+1;
三.编译工程
四.仿真电路
1.clk20nsclr-n高ld低endtime20us
4.RTL
实验三 设计一个DCB码加法器(两个4bit)
add4_bcd顶层实体文件名:
add4_bcd
设计一个DCB码加法器(两个4bit)
moduleadd4_bcd(cin,ina,inb,out,count);
inputcin;
input[3:
0]ina,inb;
outputreg[3:
outputregcount;
reg[4:
0]temp;
always@(cin,ina,inb)
temp<
=ina+inb+cin;
if(temp>
9){count,out}<
=temp+6;
{count,out}<
=temp;
1.endtime20us
实验四 设计一个4bit加减计数器
up_down顶层实体文件名:
up_down
设计一个4bit加减计数器
moduleup_down(d,clk,q,clr_n,ld,updown);
inputclk,ld,clr_n,updown;
0]d;
output[3:
0]cnt;
assignq=cnt;
cnt<
=d;
elseif(updown)
=cnt+1;
=cnt-1;
1.clk10nsendtime20usupdown20ns
实验五设计一个2、4、8分频电路
fidiv顶层实体文件名:
fidiv
EP1C3T100A8(要求:
设计一个2、4、8分频电路
module
modulefidiv(clk,clk2,clk4,clk8);
inputclk;
outputregclk2,clk4,clk8;
always@(posedgeclk)
clk2<
=~clk2;
always@(posedgeclk2)
clk4<
=~clk4;
always@(posedgeclk4)
clk8<
=~clk;
endmodule
1.clk时钟为100nsendtime为20us
2.仿真波形如下图
3.RTL波形
实验六 设计一个2N分频电路(N=7)
一.创建工程
mux6_1顶层实体文件名:
mux6_1
设计一个2N分频电路(N=7)
fidiv17(clk,clk14);
outputregclk14;
0]cnt;
if(cnt<
6)
elsebegin
clk14<
=~clk14;
endendmodule
1.clk50nsendtime为20us
实验七 设计一个M+N分频器(N=5;
M=7)
fidiv5_7顶层实体文件名:
fidiv5_7
设计一个M+N分频器(N=5;
fidiv5_7(clk,clk5_7);
inputclk;
outputregclk5_7;
reg[3:
always@(posedgeclk)
begin
if(cnt<
12)
cnt<
else
4)
clk5_7<
=1;
else
endendmodule
实验八设计一个17分频器(占空比50%)
fidiv17顶层实体文件名:
fidiv17
设计一个17分频器(占空比50%)
module
fidiv17(clk,clk17);
inputclk;
outputclk17;
reg[4:
0]m,n;
regcout1,cout2;
assignclk17=cout1|cout2;
always@(posedgeclk)
begin
if(m==16)m<
elsem<
=m+1;
if(m<
8)cout1<
elsecout1<
end
always@(negedgeclk)
if(n==16)n<
elsen<
=n+1;
if(n<
8)cout2<
elsecout2<
endendmodule
1.clk20nsendtime为20us