1、moduleyihuo (a,b,c);inputa,b;output c;assign c=ab;endmodule测试程序:module t_yihuo; reg a,b; wire c; initial begin a=0; forever #20 a=a; end b=0; forever #30 b=b;yihuou1(a,b,c);2、实验结果波形图:3、分析和心得通过这次的实验,我基本熟悉Modelsim软件,掌握了Modelsim软件的编译、仿真方法。同时在编写程序的过程中,加深了我对课上所讲的HDL的语法的认识。实验二简单组合电路设计(1)掌握基于Modelsim的数字电路设
2、计方法(2)熟练掌握HDL 程序的不同实现方法设计一个三人表决器(高电平表示通过),实验内容如下:(1)三个人,一个主裁判,两个副裁判;(2)规则:只要主裁判同意,输出结果为通过;否则,按少数服从多数原则决定是否通过。使用 Verilog HDL 程序实现上述实验内容,并使用modelsim 仿真。2、方法module test(a,b,c,s);inputa,b,c;output s;assign s=c|(b&a);modulet_test;rega,b,c;wire s;initialbegin a=0;forever#10 a=a;end b=0;forever #20 b=b; c=
3、0;forever#40 c=c;test u1(a,b,c,s);三、实验结果4、分析和心得通过本次实验,我掌握基于Modelsim的简单数字电路设计方法,且尝试了用不同方法实现功能,三人表决器可以通过testbench测试程序实现,也可以利用always模块实现,可见程序的设计思想是很重要的。实验三二进制全加器设计(1)熟悉Verilog HDL 元件例化语句的作用(2)熟悉全加器的工作原理(3)用Verilog HDL 语言设计四位二进制全加器,并仿真,下载验证其功能(1)用 Verilog HDL 语言描述一位全加器,并使用 modelsim仿真验证结果。(2)用 Verilog HD
4、L 元件例化语句实现四位全加器,modelsim仿真验证结果。(3)设计程序将加法结果分开输出,即十位数和个位数分别用四位数组表示。module add1(a,b,c,s,sc);outputs,sc;assign s,sc=a+b+c;module add4(ad1,ad2,c,ss,sc);input 3:0 ad1,ad2;input c;output 3:0ss;outputsc;wire c1,c2,c3;add1 u1(ad10,ad20,c,ss0,c1);add1 u2(ad11,ad21,c1,ss1,c2);add1 u3(ad12,ad22,c2,ss2,c3);add1
5、 u4(ad13,ad23,c3,ss3,sc);module t_add4;reg 3:reg c;wiresc;wire 3:ad1=4b0;forever #10 ad1=ad1+4b1;ad2=4forever #80 ad2=ad2+4c=4forever #640 c=c+4add4 f1(ad1,ad2,c,ss,sc);四、 分析和心得通过这次试验我熟悉了Verilog HDL 元件例化语句的作用,并且熟悉全加器的工作原理。在四位全加器的过程中,也了解了如何调用模块。实验四二进制计数器设计(1)熟悉Verilog HDL 时序电路的设计方法;(2)了解清零和使能的概念,以及同步
6、清零和异步清零的区别(3)用Verilog HDL 语言设计二进制计数器,并仿真(1)编程实现二进制计数器并仿真。(2)编程实现十进制计数器,含同异步清零端和进位输出端,编程实现,并modelsim仿真。(1)二进制计数器module test(out,count,clk,nrst);inputclk,nrst;0 out,count;always (posedgeclk or negedgenrst)if(!nrst)out=4count=1elseif(out=4b0001)b0000;=count+1=out+4regclk,nrst;clk=0;forever #10 clk=clk;
7、nrst=0; #10 nrst=1; #30 nrst=0; #30 nrst=1;test u1(out,count,clk,nrst);(2)十进制计数器b1001)moduleT_test;三、 实验结果二进制波形图:十进制波形图:四、分析和心得本次实验熟悉了对textbench程序的编写,可以更好的验证已知程序的正确性,同时熟悉Verilog HDL时序电路的设计方法,掌握了同异步清零的区别和功能使用,学会了计数器的编写,把理论和实际相结合,非常实用。实验五基本IO实验(1)学习Quartus 5.0 的基本操作;(2)熟悉教学实验板的使用;(3)初步掌握Verilog语言的设计输入
8、,编译,仿真和调试过程。1、实验步骤(1)建立工程(2)建立文本文件(3)分配管脚(4) 编译(5) 仿真(6) 下载(7)实验结果2、实验方法程序:moduletestio(key1,led1);input key1;output led1;assign led1 = key1;管脚:set_global_assignment -name RESERVE_ALL_UNUSED_PINS AS INPUT TRI-STATEDset_global_assignment -name ENABLE_INIT_DONE_OUTPUT OFF set_location_assignment PIN_181 -to led1 set_location_assignment PIN_64 -to key1 仿真波形图:在实验箱上的效果是:按下实验板上的KEY1,对应的第一个LED灯灭。四分析和心得本次实验让我学会了一个新的软件的应用。实验让我们学会了把HDL语言从简单的软件仿真到了硬件上的实现,真正使得理论和实际相结合,我意识到了以后需要多多动手实际操作。
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2