Verilog HDL 实验报告Word下载.docx

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

Verilog HDL 实验报告Word下载.docx

《Verilog HDL 实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《Verilog HDL 实验报告Word下载.docx(13页珍藏版)》请在冰点文库上搜索。

Verilog HDL 实验报告Word下载.docx

moduleyihuo(a,b,c);

inputa,b;

outputc;

assignc=a^b;

endmodule

测试程序:

modulet_yihuo;

rega,b;

wirec;

initial

begin

a=0;

forever#20a=~a;

end

b=0;

forever#30b=~b;

yihuou1(a,b,c);

2、实验结果

波形图:

3、分析和心得

通过这次的实验,我基本熟悉Modelsim软件,掌握了Modelsim软件的编译、仿真方法。

同时在编写程序的过程中,加深了我对课上所讲的HDL的语法的认识。

实验二简单组合电路设计

(1)掌握基于Modelsim的数字电路设计方法

(2)熟练掌握HDL程序的不同实现方法

设计一个三人表决器(高电平表示通过),实验内容如下:

(1)三个人,一个主裁判,两个副裁判;

(2)规则:

只要主裁判同意,输出结果为通过;

否则,按少数服从多数原则决定是否通过。

使用VerilogHDL程序实现上述实验内容,并使用modelsim仿真。

2、方法

moduletest(a,b,c,s);

inputa,b,c;

outputs;

assigns=c|(b&

a);

modulet_test;

rega,b,c;

wires;

initial

begin

a=0;

forever#10a=~a;

end

b=0;

forever#20b=~b;

c=0;

forever#40c=~c;

testu1(a,b,c,s);

三、实验结果

4、分析和心得

通过本次实验,我掌握基于Modelsim的简单数字电路设计方法,且尝试了用不同方法实现功能,三人表决器可以通过testbench测试程序实现,也可以利用always模块实现,可见程序的设计思想是很重要的。

实验三二进制全加器设计

(1)熟悉VerilogHDL元件例化语句的作用

(2)熟悉全加器的工作原理

(3)用VerilogHDL语言设计四位二进制全加器,并仿真,下载验证其功能

(1)用VerilogHDL语言描述一位全加器,并使用modelsim仿真验证结果。

(2)用VerilogHDL元件例化语句实现四位全加器,modelsim仿真验证结果。

(3)设计程序将加法结果分开输出,即十位数和个位数分别用四位数组表示。

moduleadd1(a,b,c,s,sc);

outputs,sc;

assign{s,sc}=a+b+c;

moduleadd4(ad1,ad2,c,ss,sc);

input[3:

0]ad1,ad2;

inputc;

output[3:

0]ss;

outputsc;

wirec1,c2,c3;

add1u1(ad1[0],ad2[0],c,ss[0],c1);

add1u2(ad1[1],ad2[1],c1,ss[1],c2);

add1u3(ad1[2],ad2[2],c2,ss[2],c3);

add1u4(ad1[3],ad2[3],c3,ss[3],sc);

modulet_add4;

reg[3:

regc;

wiresc;

wire[3:

ad1=4'

b0;

forever#10ad1=ad1+4'

b1;

ad2=4'

forever#80ad2=ad2+4'

c=4'

forever#640c=c+4'

add4f1(ad1,ad2,c,ss,sc);

四、分析和心得

通过这次试验我熟悉了VerilogHDL元件例化语句的作用,并且熟悉全加器的工作原理。

在四位全加器的过程中,也了解了如何调用模块。

实验四二进制计数器设计

(1)熟悉VerilogHDL时序电路的设计方法;

(2)了解清零和使能的概念,以及同步清零和异步清零的区别

(3)用VerilogHDL语言设计二进制计数器,并仿真

(1)编程实现二进制计数器并仿真。

(2)编程实现十进制计数器,含同异步清零端和进位输出端,编程实现,并modelsim仿真。

(1)二进制计数器

moduletest(out,count,clk,nrst);

inputclk,nrst;

0]out,count;

always@(posedgeclkornegedgenrst)

if(!

nrst)

out<

=4'

count<

=1'

else

if(out==4'

b0001)

b0000;

=count+1'

=out+4'

regclk,nrst;

clk=0;

forever#10clk=~clk;

nrst=0;

#10nrst=1;

#30nrst=0;

#30nrst=1;

testu1(out,count,clk,nrst);

(2)十进制计数器

b1001)

moduleT_test;

三、实验结果

二进制波形图:

十进制波形图:

四、分析和心得

本次实验熟悉了对textbench程序的编写,可以更好的验证已知程序的正确性,同时熟悉VerilogHDL时序电路的设计方法,掌握了同异步清零的区别和功能使用,学会了计数器的编写,把理论和实际相结合,非常实用。

 

实验五基本IO实验

(1)学习QuartusⅡ5.0的基本操作;

(2)熟悉教学实验板的使用;

(3)初步掌握Verilog语言的设计输入,编译,仿真和调试过程。

1、实验步骤

(1)建立工程

(2)建立文本文件

(3)分配管脚

(4)编译

(5)仿真

(6)下载

(7)实验结果

2、实验方法

程序:

moduletestio(key1,led1);

inputkey1;

outputled1;

assignled1=~key1;

管脚:

set_global_assignment-nameRESERVE_ALL_UNUSED_PINS"

ASINPUTTRI-STATED"

set_global_assignment-nameENABLE_INIT_DONE_OUTPUTOFF

set_location_assignmentPIN_181-toled1

set_location_assignmentPIN_64-tokey1

仿真波形图:

在实验箱上的效果是:

按下实验板上的KEY1,对应的第一个LED灯灭。

四分析和心得

本次实验让我学会了一个新的软件的应用。

实验让我们学会了把HDL语言从简单的软件仿真到了硬件上的实现,真正使得理论和实际相结合,我意识到了以后需要多多动手实际操作。

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

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

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

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