【发布时间】:2011-04-06 02:13:22
【问题描述】:
我无法理解此 FPGA 电路中使用的算法。它处理冗余与非冗余数字格式。我已经看到了一些非冗余格式的数学(正式)定义,但我无法真正掌握它。
摘自描述算法的论文:
图 3 显示了可扩展的蒙哥马利乘法器的框图。内核包含 p 个 w 位 PE,总共有 wp 个位单元。 Z 以进位保存冗余形式存储。如果 PE p 在 PE1 完成 Z^(e-1) 之前完成 Z^0,则结果必须排队,直到 PE1 再次可用. [5] 中的设计以冗余形式对结果进行排队,每个条目需要 2w 位。对于较大的 n 队列消耗大量区域,因此我们建议将 Z 转换为非冗余形式以节省一半的队列空间,如图 4 所示。在第一个循环中,Z 初始化为 0。当不需要排队时,直接绕过进位保存冗余 Z' 以避免进位传播加法器的延迟。非冗余Z结果也是系统的输出。
还有图表:
这是“改进的”PE 框图。这显示了“改进”的 PE 框图 - “改进”与一些不相关的方面有关。
我没有“未改进”的 FIFO 的图片,但我认为它只是一个普通的 FIFO。我不明白的是,FIFO的CPA和3输入MUX是否以某种方式在格式之间转换?
了解冗余与非冗余格式(在具体示例中)是第一步,了解此电路如何实现它是第 2 步..
【问题讨论】:
标签: algorithm fpga computer-architecture