verilog 4位全加器的实现

4位全加器

module ad4 (cout,sum,ina,inb,cin);
  input  [3:0] ina,inb;
  input cin;
  output [3:0] sum;
  output cout;

  assign {cout,sum} = ina + inb + cin;
  endmodule

综合电路图

`timescale 1ns/1ps 
module tb ()
 reg [3:0] ina,inb;
 reg cin;
 wire [3:0] sum;
 wire cout;
  
 integer i,j;
 always #5 cin = ~cin;
 initial 
 begin  
          ina = 0;
          inb = 0;
          cin = 0;
          for (i = 1; i<16;i=i+1)
          #10 ina = i;
 end 
  initial 
  begin 
          for (j=1;j<16;j=j+1)
          #10 inb = j;
   end 
   initial 
   begin 
           $monitor($time,,,"%d + %d  +%b = {%b,%d}",ina,inb,cin,cout,sum);
           #200;
           $finish;
   end 
//print waneform 
initial begin 
$fsdbDumpfile ("ad4,fsdb);
$fsdbDumpvars(0,tb);
end 

ad4 dut (
                .ina (ina),
                .inb (inb),
                .sum (sum),
                .cin (cin),
                .cout (cout)
                );
 endmodule 

在这里插入图片描述
在这里插入图片描述

  • 6
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值