verilog 一位/多位与非门的设计与仿真

在这里插入图片描述


一位与非门 nand_gate.v:


// 2022-1-16 verilog学习
// 与非门 (与and,非n,与非门nand_gate)

`timescale 1ns/10ps

module nand_gate(
// 定义端口
				A,
				B,
				Y
				);
// 定义端口属性
input   A;
input   B;
output  Y;

assign  Y=~(A&B);

endmodule

//  testbench 测试台

module nand_gate_tb;
reg	aa,bb;  // 输入reg型变量
wire yy;    // 输出wire型变量
nand_gate nand_gate(
										.A(aa),
										.B(bb),
										.Y(yy)
										); // A()括号表示A端口接啥
										
initial begin

		aa<=0;bb<=0;
#10 aa<=0;bb<=1;
#10 aa<=1;bb<=0;
#10 aa<=1;bb<=1;
#10 $stop;  // 停止

end
										
endmodule

4位与非门 nand_gate_4bits.v:

在这里插入图片描述


// 2022-1-16 verilog学习
// 与非门 (与and,非n,与非门nand_gate)

`timescale 1ns/10ps

module nand_gate_4bits(
// 定义端口
							A,
							B,
							Y
							);
// 定义端口属性
input[3:0]    A;
input[3:0]    B;
output[3:0]   Y;

assign 				Y=~(A&B);

endmodule

//  testbench 测试台

module nand_gate_4bits_tb;
reg[3:0]												aa,bb; // 输入reg型变量
wire[3:0] 											yy;    // 输出wire型变量
nand_gate_4bits nand_gate_4bits(
																.A(aa),
																.B(bb),
																.Y(yy)
																); // A()括号表示A端口接啥
										
initial begin
// 4'b00 表示4位
			aa<=4'b0000;bb<=4'b1111;
#10 	aa<=4'b0010;bb<=4'b0110;
#10 	aa<=4'b0111;bb<=4'b0100;
#10 	aa<=4'b0000;bb<=4'b1110;
#10 	$stop;  // 停止

end
										
endmodule


modelsim 仿真:

library 中找到测试台module,一般命名为 xxx_tb,右键simulate

在这里插入图片描述

object 中找到输入变量 add to,wave,signal in region

在这里插入图片描述

wave窗口中依次 restart,run all

与非门

在这里插入图片描述
4位与非门

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值