我假设您正在研究 Xilinx FPGA,但我不确定为什么每个组件只能获得 1 个 MLUT,但我会尝试解释一下。
理解这一点的简单方法是理解逻辑单元包含单个查找表 (LUT),而 MLUT 只是具有存储能力的 LUT。每个 LUT 能够为一组 6 输入输出 1 位(用于后来的 Xilinx FPGA 系列)。因此,对于每个 1 位输出,您需要一个 LUT。
B) R3 需要 32 个逻辑单元,每个逻辑单元实现一个 RC 加法器,在 ROM 模式下使用 1 个进位和 1 个 MLUT。
C) 减法器和加法器各需要 16 个逻辑单元,在 ROM 模式下使用 1 个 MLUT
很容易属于所描述的类别。
现在,让我们看看特殊情况:
A) 寄存器 R0 到 R2 总共需要 32 个逻辑单元,每个单元使用在 Shift Reg 中运行的 1 个 MLUT 实现 3 级移位寄存器。模式。
消耗 32 个逻辑单元,因为它利用 Xilinx MLUT 中的一种特殊操作模式,即移位寄存器。
D) 比较器在 ROM 模式下需要 16 个逻辑单元和 1 个 MLUT。
比较器需要 16 个逻辑单元,因为每一级的结果取决于前一级,很像加法器。因此,您需要其中的 16 个才能正确比较结果。
需要注意的是,以上描述仅适用于 Xilinx FPGA,不适用于其他公司的 FPGA。其他公司的 FPGA 设计方法不同,无法直接翻译或比较。
我建议您阅读 Xilinx 的资源网站,了解 LUT 和 CLB 的构建方式。这应该能让你更好地理解。
希望这可以帮助。