【发布时间】:2017-11-15 01:51:36
【问题描述】:
我想设计一个实现以下逻辑的门级组合电路。不使用 Adder 可以做到吗?
...
input wire [3:0] in,
input wire sel,
output wire [3:0] out
...
assign out = ({4{sel}} & (~in + 1)) | ({4{~sel}} & in);
上面的verilog代码将实现为- 4个反相器,1个全加器和1个多路复用器。是否可以进一步优化?
这个想法是将 sel 合并到 2 的补码逻辑中,并生成一个门电路,该门电路消耗的门数少于加法器电路。真的可以吗?
【问题讨论】:
-
您的描述是什么语言的?请编辑您的问题以包含正确的标签(例如
verilog或vhdl或类似标签)。如果你想在没有 MUX 的情况下这样做,那么你应该删除那个标签? -
感谢您指出。我已经编辑了问题。
-
您可以使用 16 项 LUT 来进行 2 的补码转换。不过,我很想知道它与 4b 加法器之间的门差异。
标签: verilog register-transfer-level asic