赞
踩
**
**
`timescale 1ns / 1ps // 时间单位 / 时间精度 module full_adder( input IN1, input IN2, input IN3, output cout, output sum ); assign{cout,sum}=IN1+IN2+IN3; endmodule
**
**
**
**
`timescale 1ns / 1ps module tb_full_adder(); //模拟仿真,所以没有输入输出端口 reg in1; reg in2; reg in3; wire cout; wire sum; //例化,有点像C语言 实例化一个类 full_adder fd1( .IN1(in1), .IN2(in2), .IN3(in3), .cout(cout), .sum(sum) ); initial //激励关键字,只执行一次(always则是一直激励),通常用来赋初值 begin //只有在begin-end之间的代码是串行执行 #100 in1<=0;in2<=0;in3<=0; //#100指的是100秒后 #100 in1<=0;in2<=0;in3<=1; //使用非阻塞赋值 #100 in1<=0;in2<=1;in3<=0; //阻塞赋值和非阻塞赋值不要在一个module里出现 #100 in1<=0;in2<=1;in3<=1; #100 in1<=1;in2<=0;in3<=0; #100 in1<=1;in2<=0;in3<=1; #100 in1<=1;in2<=1;in3<=0; #100 in1<=1;in2<=1;in3<=1; #100 $finish; end endmodule
**
**
左键单击Run Simulation->Run Behavioral Simulation, 等待片刻,在写代码的文件旁边会新建仿真结果(第一次运行时差点没找到)
**
**
符合全加器逻辑
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。