在Verilog中进行描述的最佳方式

在Verilog中进行描述的最佳方式,verilog,Verilog,我有两个输入向量 wire [4:0] pow; wire [12:0] number; 和一个输出向量 wire [43:0] result; 因此, result = number * (2 ^ pow) 在编程中,它相当于向左移动次数功率次。对于这项任务,什么是最快和消耗最少的电路,以及如何在Verilog中描述它 编辑:我想强调的是,问题不仅在于如何将我需要的东西放入Verilog,还在于解释在合成过程中会发生什么。如果写入result=number则使用左移位 result =

我有两个输入向量

wire [4:0] pow;
wire [12:0] number;
和一个输出向量

wire [43:0] result;
因此,

result = number * (2 ^ pow)
在编程中,它相当于向左移动
次数
功率
次。对于这项任务,什么是最快和消耗最少的电路,以及如何在Verilog中描述它

编辑:我想强调的是,问题不仅在于如何将我需要的东西放入Verilog,还在于解释在合成过程中会发生什么。如果写入
result=number则使用左移位

result = number << pow;
result=number使用左移

result = number << pow;

result=numberI使用向量部分选择、31位总线大小和9位移位部分添加了83个逻辑元件和86个组合函数,完成了移位器克隆的实现。我认为这与放置条件运算符相当。

我使用向量部分选择完成了移位器克隆的实现,总线大小为31位,移位部分为9位,添加了83个逻辑元素和86个组合函数。我认为这与使用条件运算符类似。

我不知道Verilog,但将数字提高到幂并不等于将数字向左移动。天哪,对不起,我弄错了,我编辑了问题我不知道Verilog,但是将一个数字提高到一个幂并不等于将数字向左移动。天哪,我很抱歉,犯了一个错误,我编辑了这个问题:它是即时操作(因为不涉及时钟)吗?它被合成到哪个电路?时钟的参与可能取决于您的实际硬件。在任何情况下,时钟的移动都是必要的。它是否立即运行(因为不涉及时钟)以及它被合成到哪个电路?时钟的参与可能取决于您的实际硬件。在任何情况下,都有必要改变时钟。