【问题标题】:Can't figure out the correct amount of bits for an output无法确定输出的正确位数
【发布时间】:2021-11-28 16:11:30
【问题描述】:

好吧,我的任务是使用 4 位 cla 和多路复用器创建一个 n(n 是 4 的倍数)位 cla(进位超前加法器)。具体来说,我必须实现以下内容:

括号中的部分必须根据给定参数 n 的需要重复多次。我的问题是:我应该如何定义电线 r、t 和 c? 一开始我是这么想的:

wire [3n/4-3-1:0] c; // without considering the first wire that comes out of the right most cla4
wire [n - 4 - 1:0] r,t;

这确实适用于 n>4 (8,12,16...),但是当 n=4 ([-1:0]) 时存在明显问题。 有没有办法解决这个问题?一个简单的解决方案是让这些电线有更多所需的位,但我一直在尝试考虑另一种解决方案。

【问题讨论】:

    标签: verilog


    【解决方案1】:

    试试这个。

    localparam M = (N>4) ? (3*N)/4 - 3 : 1;
    localparam L = (N>4) ? N-4 : 1;
    
    wire [M-1:0] c;
    wire [L-1:0] r,t; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-28
      • 2017-12-19
      • 2018-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多