转载于计算机人网:
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下运行和仿真。