【发布时间】:2017-05-02 10:48:26
【问题描述】:
我有两个输入向量
wire [4:0] pow;
wire [12:0] number;
和一个输出向量
wire [43:0] result;
因此,
result = number * (2 ^ pow)
在编程中,它相当于将numberpow 向左移动。对于这项任务来说,最快且消耗最少的电路可能是什么,以及如何在 Verilog 中描述它?
编辑:我想强调的是,这个问题不仅是关于如何将我需要的东西放入 Verilog 中,还要解释在综合之后发生了什么。如果按照@dave_59 的建议写result = number << pow; 会导致分配数千条线和逻辑元件,我可能会考虑同步顺序移位器。
Edit1:我需要的可以通过桶形移位器解释here来实现,但是除了data_in的第二个大小之外,它没有详细说明它需要多少资源。
【问题讨论】:
-
我不了解 Verilog,但是将数字的幂次方不等于将数字向左移动。
-
OMG 对不起,弄错了,我编辑了问题
标签: verilog