资源描述
Verilog实验报告8位全加器8位全加器一、 实验目的用verilog语言编写一个8位全加器,并在modelsim软件上进行仿真。二、代码1、源代码:module add8(sum,cout,in1,in2,cin);input 7:0 in1,in2;input cin;output 7:0 sum;output cout;assign cout,sum=in1+in2+cin;endmodule2、激励:timescale 1ns/100psmodule add8_tb;reg7:0 A,B;reg CIN;wire 7:0 SUM;wire COUT;add8 ul( .sum(SUM), .cout(COUT), .in1(A), .in2(B), .cin(CIN) );initialbeginA=8d0;B=8d0;CIN=1b0;#10 A=8d20;B=8d129;CIN=1b1;#10 A=8d27;B=8d19;CIN=1b0;#10 A=8d157;B=8d29;CIN=1b0;#10 A=8d37;B=8d68;CIN=1b0;#10 A=8d11;B=8d69;CIN=1b0;#10 A=8d54;B=8d67;CIN=1b1;#10 A=8d211;B=8d0;CIN=1b0;#10 A=8d87;B=8d43;CIN=1b1;#10 A=8d23;B=8d171;CIN=1b0;#10 A=8d12;B=8d12;CIN=1b1;#10 A=8d112;B=8d115;CIN=1b0;endendmodule三、实验过程1、上机过程2、仿真波形3、波形说明波形图中,从上至下依次为:输入加数A、输入加数B、输入进位CIN、输出进位COUT、输出和SUM。该程序实现的是A+B+CIN=SUM+COUT。0+0+0=0;20+129+1=150;27+19+0=46;157+29+0=186;37+68+0=105;11+69+0=80;54+67+1=122;211+0+0=211;87+43+1=131;23+171+0=194;12+12+1=25;112+115+0=227;四、实验过程中碰到的问题1、对于modelsim软件太陌生,在开始实验的时候,经常做完了上一步就忘了下一步是什么,而且对老师反复强调的很多问题也在手忙脚乱间给忽略了,比如,实验一定要在计算机某一个盘里建立一个独立的文件夹,每次都是实验进行到这一步的时候才想起来还没有建这个文件夹,造成很多返工的情况。2、开始的时候,由于C语言的习惯,程序的注解全部是用汉字写的,还有在实验刚开始时,将独立文件夹建在桌面上,使得程序在运行过程中出现了大量的汉字,最终结果就是程序莫名其妙的报错,还完全找不到错在哪里,不注重细节导致浪费大量时间。四、实验心得本次试验带我进入了verilog的大门,虽然磕磕绊绊,但是我发现我还是挺喜欢这样一个过程,我希望自己能认真努力,让自己的学习更进一步,让之后的实验能顺利一点。5
展开阅读全文