首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用verilog实现可综合的64位全加器

用verilog实现可综合的64位全加器
EN

Stack Overflow用户
提问于 2015-10-18 17:31:39
回答 1查看 1.5K关注 0票数 0

我想设计一个可综合的64位全加器,所以我需要实例化模块64次,这使得代码很笨重。有没有人能建议一种替代方法来最小化代码?

EN

回答 1

Stack Overflow用户

发布于 2015-10-20 04:16:32

除非你试图理解门级设计的结构,否则使用可合成RTL要容易得多:

代码语言:javascript
复制
localparam WIDTH = 64;
reg [WIDTH-1:0] a;
reg [WIDTH-1:0] b;
reg [WIDTH-1:0] sum;
always @* begin
  sum = a + b;
end


// to make output sync, put through flip flop
reg [WIDTH-1:0] sum_flop;
always @(posedge clk) begin
  sum_flop <= sum;
end

这可以重写为以下代码,但将生成相同的硬件。

代码语言:javascript
复制
localparam WIDTH = 64;
reg [WIDTH-1:0] a;
reg [WIDTH-1:0] b;
reg [WIDTH-1:0] sum_flop;

always @(posedge clk) begin
  sum_flop <= a + b;
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33196389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档