4位全加器
定义输入为ina,inb,inc,输出为sum,溢出位为cout,则4位全加器代码为:
module adder4(cout,sum,ina,inb,cin);
//输入参数
input [3:0] ina,inb;
//输出参数
output [3:0] sum;
output cout;
assign {cout,sum} = ina + inb;
endmodule
仿真程序为:
`timescale 1ns/1ns
`include "adder4.v"
module adder_tp; //测试模块的名字
reg [3:0] a,b; //测试输入信号定义为reg型
reg cin;
wire [3:0] sum; //测试输出信号定义为wire型
wire cout;
intrger i,j;
adder4 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++)
#10 a = i; //设定a的值
end
initial
begin
for(j=1;j<16;j++)
#10 b = j; //设定b的值
end
initial //定义结果显示格式
begin
$monitor($time,,,"%d+%d+%b={%b,%d}",a,b,cin,cout,sum);
#160 $finish;
end
endmodule
仿真图后续补充。