【问题标题】:What is redundant versus non-redundant number format?什么是冗余与非冗余数字格式?
【发布时间】: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


    【解决方案1】:

    了解一些背景知识并查看 users.ece.utexas.edu/~adnan/vlsi-05-backup/lec12Datapath.ppt 建议以下内容:

    执行正确的二进制加法相对较慢和/或占用空间,因为正确传播进位需要时间。

    如果你并行工作,你可以取三个二进制数,将每个数字中相同位置的位相加,并产生两个二进制数。

    幻灯片 27 指出 0001 + 0111 + 1101 = 1011 + 0101(0)。

    由于乘法器需要进行大量加法运算,因此您将加法器树构建为将 3 个数字减少为 2 个数字的集合,最终以两个数字作为输出,abcde....z 和 ABCDE...Z0。这是您的冗余形式的输出,而真正的答案实际上是 abcde...z + ABCDE...Z0

    【讨论】:

    • 好的,所以任何时候您使用 CSA(3:2 架构)时,您都可以将 3 个数字添加到 Sum + Carry 中,这称为“进位冗余”形式。我没有意识到它有一个特殊的名字。 (虽然我对 CSA 很熟悉)。那么 CPA 确实是关键,取 2w 冗余格式并将其折叠为 1w 总和进行存储。好的答案谢谢
    猜你喜欢
    • 2020-06-17
    • 2018-09-19
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    相关资源
    最近更新 更多