4位全加器的仿真程序

来源:互联网 发布:国民党抗战电影 知乎 编辑:程序博客网 时间:2024/06/05 08:01

转载于计算机人网:

http://computersren.com/material/MaterialDetails.aspx?id=20140306225314&id2=2014030320451027176

内容:

//4位全加器

module a4(sum,cout,a,b,cin);

input [3:0] a,b;
input cin;
output cout;
output [3:0] sum;
assign {count,sum} = a+b+cin;

endmodule

//4位全加器的仿真程序

`timescale 1ns/1ns 
`include "a4.v"
module add3_top; ////测试模块的名字
reg[3:0] a,b;//测试输入信号定义为 reg 型
reg cin;  
wire[3:0] sum;//测试输出信号定义为 wire 型
wire cout; integer i,j;
a4 adder(sum,cout,a,b,cin); //调用测试对象
always #5 cin=~cin;//设定 cin 的取值
initial 
begin  a=0;b=0;cin=0; 
for(i=1;i<16;i=i+1)
#10   a=i;  //设定 a 的取值
end 
initial
begin 
for(j=1;j<16;j=j+1)
#10   b=j;//设定 b 的取值
end
initial
//定义结果显示格式
begin 
$monitor($time,,,"%d + %d + %b={%b,%d}",a,b,cin,cout,sum);
#160 
$finish; 
end 
endmodule 

以上的程序要在modelsim下运行和仿真。

0 0