1 - 基本逻辑门代码设计和仿真

本文介绍了使用Verilog实现基本逻辑门的设计流程,包括反相器与与非门的设计及仿真验证过程。提供了完整的代码示例,展示了如何利用Verilog进行逻辑电路设计,并通过测试平台验证其功能正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 - 基本逻辑门代码设计和仿真

设计流程的改变:

image-20211117182951018

反相器:

image-20211117183040239

八位反相器:

image-20211117190447049

与非门:

image-20211117190536647

四位与非门:

image-20211117190831257

位逻辑操作运算符:

image-20211117190919154

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

image-20211117191018064

代码结构:
时间作者
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:

学习内容总结自网络,主讲教师为北京交通大学李金城老师。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值