Algorithm 什么是冗余与非冗余数字格式?

Algorithm 什么是冗余与非冗余数字格式?,algorithm,fpga,computer-architecture,Algorithm,Fpga,Computer Architecture,我很难理解FPGA电路中使用的算法。它处理冗余和非冗余数字格式。我见过一些非冗余格式的数学(形式)定义,但我就是不能真正理解它 本文中描述算法的摘录: 图3显示了可伸缩蒙哥马利乘数的框图。内核包含总共wp位单元的PW位PE。Z以进位保存冗余形式存储。如果PEP在PE1完成Z^(e-1)之前完成Z^0,则结果必须排队,直到PE1再次可用。[5]中的设计将结果以冗余形式排队,每个条目需要2w位。对于较大的n,队列占用大量的面积,因此我们建议将Z转换为非冗余形式,以节省一半的队列空间,如图4所示。在第

我很难理解FPGA电路中使用的算法。它处理冗余和非冗余数字格式。我见过一些非冗余格式的数学(形式)定义,但我就是不能真正理解它

本文中描述算法的摘录:

图3显示了可伸缩蒙哥马利乘数的框图。内核包含总共wp位单元的PW位PE。Z以进位保存冗余形式存储。如果PEP在PE1完成Z^(e-1)之前完成Z^0,则结果必须排队,直到PE1再次可用。[5]中的设计将结果以冗余形式排队,每个条目需要2w位。对于较大的n,队列占用大量的面积,因此我们建议将Z转换为非冗余形式,以节省一半的队列空间,如图4所示。在第一个循环中,Z被初始化为0。当不需要排队时,直接绕过进位保存冗余Z'以避免进位传播加法器的延迟。非冗余Z结果也是系统的输出

以及图表:

这是“改进的”PE框图。这显示了“改进的”PE方框图-“改进的”与一些不相关的方面有关。

我没有“未改进”FIFO的图片,但我认为这只是一个普通的FIFO。我不明白的是,FIFO的CPA和3输入多路复用器是否以某种方式在格式之间转换


理解冗余与非冗余格式(在具体示例中)是第一步,理解此电路如何实现它将是第2步。

一点背景知识并了解用户。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个数字加在和+进位中,这称为“进位冗余”形式。我不知道有一个特别的名字。(尽管我对CSA很熟悉)。因此,CPA确实是关键,它采用2w冗余格式,并将其折叠为1w和用于存储。回答得好,谢谢