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;reg[7:0] A,B;reg CIN;wire [7:0] SUM;wire COUT;
add8 ul(
1
Verilog实验报告——8位全加器
.sum(SUM), .cout(COUT), .in1(A), .in2(B), .cin(CIN) );
initialbegin
A=8'd0;B=8'd0;CIN=1'b0;#10 A=8'd20;B=8'd129;CIN=1'b1;#10 A=8'd27;B=8'd19;CIN=1'b0;#10 A=8'd157;B=8'd29;CIN=1'b0;#10 A=8'd37;B=8'd68;CIN=1'b0;#10 A=8'd11;B=8'd69;CIN=1'b0;#10 A=8'd54;B=8'd67;CIN=1'b1;#10 A=8'd211;B=8'd0;CIN=1'b0;#10 A=8'd87;B=8'd43;CIN=1'b1;#10 A=8'd23;B=8'd171;CIN=1'b0;#10 A=8'd12;B=8'd12;CIN=1'b1;#10 A=8'd112;B=8'd115;CIN=1'b0;endendmodule
2
Verilog实验报告——8位全加器
三、实验过程1、上机过程
2、仿真波形
3
Verilog实验报告——8位全加器
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;四、实验过程中碰到的问题
4
Verilog实验报告——8位全加器
1、对于modelsim软件太陌生,在开始实验的时候,经常做完了上一步就忘了下一步是什么,而且对老师反复强调的很多问题也在手忙脚乱间给忽略了,比如,实验一定要在计算机某一个盘里建立一个独立的文件夹,每次都是实验进行到这一步的时候才想起来还没有建这个文件夹,造成很多返工的情况。
2、开始的时候,由于C语言的习惯,程序的注解全部是用汉字写的,还有在实验刚开始时,将独立文件夹建在桌面上,使得程序在运行过程中出现了大量的汉字,最终结果就是程序莫名其妙的报错,还完全找不到错在哪里,不注重细节导致浪费大量时间。四、实验心得
本次试验带我进入了verilog的大门,虽然磕磕绊绊,但是我发现我还是挺喜欢这样一个过程,我希望自己能认真努力,让自己的学习更进一步,让之后的实验能顺利一点。
5
因篇幅问题不能全部显示,请点此查看更多更全内容