【FPGA & Verilog】各种加法器Verilog

1bit半加器adder设计实例

module adder(cout,sum,a,b);
output cout;
output sum;
input a,b;
wire cout,sum;
assign {cout,sum}=a+b;
endmodule

解释说明

(1)assign {cout,sum}=a+b 是连续性赋值

对于线网wire进行赋值,必须以assign或者deassign开始

assign [delay] wire_net = expression

assign 语句逻辑结构就是右边驱动左边。某个值被指派给线网变量,右边操作数可以是标量或者向量的wire或reg;也可以是 function函数,无论何时,右边表达式都重新计算,在指定的延时时间后赋值;

(2){cout,sum}是为拼接操作符,例如两个3bit的a,b拼接在一起后,{a,b}就相当于6bit数

同步4bit全加器adder4

module adder4(cout,sum,ina,inb,cin,clk);
output reg [3:0]sum;
output reg cout;
input [3:0]ina,inb;
input cin,clk;
reg [3:0] tempa,tempb;
reg tempc;
always@(posedge clk)
begin
 tempa=ina;
 tempb=inb;
 tempc=cin;
end

always@(posedge clk)
begin
{cout,sum}=tempa+tempb+tempc;
end

endmodule

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-03 17:52:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-03 17:52:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-03 17:52:03       82 阅读
  4. Python语言-面向对象

    2024-02-03 17:52:03       91 阅读

热门阅读

  1. 头歌C++之函数进阶练习题

    2024-02-03 17:52:03       52 阅读
  2. SQL--IFNULL()、NULLIF()、ISNULL()函数 简单明了的讲解

    2024-02-03 17:52:03       48 阅读
  3. Docker应用之SpringBoot项目启动(四)

    2024-02-03 17:52:03       57 阅读
  4. CSS transition的一些见解

    2024-02-03 17:52:03       48 阅读
  5. CentOS 6使用`ntp`服务进行时间同步

    2024-02-03 17:52:03       50 阅读
  6. 在C#中如何避免内存泄漏

    2024-02-03 17:52:03       53 阅读
  7. 计算机网络(第六版)复习提纲23

    2024-02-03 17:52:03       46 阅读
  8. 使用websocket建立长链接实现用户点对点即时通讯

    2024-02-03 17:52:03       42 阅读
  9. C#学习笔记_继承

    2024-02-03 17:52:03       47 阅读
  10. 从汇编层面理解C++ this指针

    2024-02-03 17:52:03       48 阅读
  11. 2024美赛C题:网球中的动量

    2024-02-03 17:52:03       49 阅读