Verilog学习之与或非门

第一个工程:

module        and_or_not

                input        wire        a,

                input        wire        b,

                output        wire      c,

                output        wire     d,

                output        wire     e

assign c = a&b;

assign d = a|b;

assign e = ~a;

endmodule

这里assign语句一般是用于组合逻辑赋值,&表示按位与,|按位或,~按位取反,还有assign语句输出变量类型必须是线网型,接下来写一下仿真代码:

`timescale 1ns / 1ps

module tb_and_or_not();

//Reg define

reg sys_clk;

reg sys_rst_n;

reg        a;

reg        b;


 

 //Wire define

wire        c;

wire        d;

wire        e;

 initial

 begin

        sys_clk = 1'b0;

        sys_rst_n = 1'b0;

//变量a,b初始化为0

        a = 1'b0;

        b = 1'b0;

        #200

        sys_rst_n = 1'b1;

        a = 1'b0;

        b = 1'b1;

        #200

        a = 1'b1;

        b = 1'b0;

        #200

        a = 1'b1;

        b = 1'b0;

 end

 always #10 sys_clk = ~sys_clk;//每10ns时钟翻转一次

and_or_not      and_or_not_inst//例化

(

    .a      (a),

    .b      (b),

    .c      (c),

    .d      (d),

    .e      (e)

);

 endmodule

仿真如下:


看看RTL视图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nullptr_NULL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值