IC设计(一)-verilog实现1bit全加器

写作目的:

写给新手,帮助新手快速上手verilog,能够实现快速的FPGA开发需求或者IC design需求。

设计代码:

其中Ai,Bi为输入,Ci为输入进位,So为输出结果,Co为输出进位。

module full_adder(
    input Ai,Bi,Ci,
    output So,Co
);
    assign {Co,So} = Ai + Bi + Ci;
endmodule

testbench代码:

下面编写简单的testbench来进行仿真和验证。

`timescale 1ns/1ns
`include "full_adder.v"
module full_adder_tb();
    reg Ai, Bi, Ci;
    wire So, Co;

    full_adder u_full_adder(
        .Ai(Ai),
        .Bi(Bi),
        .Ci(Ci),
        .So(So),
        .Co(Co)
    );

    initial begin
        Ai = 0;
        Bi = 0;
        Ci = 0;
        # 50
        Ai = 1;
        Bi = 1;
        #50
        Ai = 1;
        Bi = 0;
    end

    initial begin
        $dumpfile("full_adder.vcd");
        $dumpvars(0);
        #200 $finish;
    end
endmodule

仿真后的波形如图所示:

可以看到,波形正确,设计无误。

本文后续会持续更新,旨在帮助新手快速上手IC设计或者人工智能,新手想学习可以加关注~

相关链接:

IC设计_pku_zihao的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值