1 - 基本逻辑门代码设计和仿真
设计流程的改变:

反相器:

八位反相器:

与非门:

四位与非门:

位逻辑操作运算符:

多位宽电路符号图画法(打斜杠写数字):

代码结构:
时间作者
module 功能
timescale
module (端口名)
端口属性【输入输出】
输入输出关系
endmodule
module testbench; // testbench 没有端口,不带括号,但要写分号
定义输入输出,输入 reg,输出 wire,把信号接到例化后的 module 里面。
异名例化 module
initial 按时间定义各个变量的值
endmodule
例子:
//2021.11.15 lyw
//反相器设计
//1ns的时间单位,10ps的时间精度
`timescale 1ns/10ps
module inv (
A,
Y
);
input A ;
output Y ;
assign Y=~A;
endmodule
//测试代码 testbench 不带括号
module inv_tb;
reg aa ;
wire yy ;
inv inv(
//异名例化
.A (aa ),
.Y (yy )
);
initial begin
aa<=0;
//#10表示过十个时间单位
#10 aa<=1;
#10 aa<=0;
#10 aa<=1;
//仿真停止用Verilog的系统任务
#10 $stop;
end
endmodule
代码关键:assign 组合逻辑赋值语句,用 initial 语句块写 testbench。
PS:
学习内容总结自网络,主讲教师为北京交通大学李金城老师。
本文介绍了使用Verilog实现基本逻辑门的设计流程,包括反相器与与非门的设计及仿真验证过程。提供了完整的代码示例,展示了如何利用Verilog进行逻辑电路设计,并通过测试平台验证其功能正确性。

被折叠的 条评论
为什么被折叠?



