本题的目的是用图6-28 所描述的折叠集,对该图 中的格型滤波器进行折叠。 假设乘法运算映射为2级流 水线乘法硬件,加法运算 映射为1级流水线加法器。 硬件架构需用周期为1u.t.的 时钟定时

image.png
- 
进行折叠重定时,使得所有折叠后的边延迟非负 N = 2 PA = 1, PM = 2 SA1 = {A2, A1}, SA2 = {A3, A4}, SM1 = {M1, M2}, SM2 = {M3, M4}, SM3 = {空, M5} 边 折叠方程 A2 -> M2 DF(A2 -> M2) = 2(0) -1 + 1 -0 = 0 A2 -> M5 DF(A2 -> M5) = 2(0) -1 + 1 - 0 = 0 A2 -> M4 DF(A2 -> M4) =2(1) - 1 + 1 - 0 = 2 A2 -> M1 DF(A2 -> M1) =2(2) - 1 + 0 - 0 = 3 A2 -> A1 DF(A2 -> A1) =2(2) - 1 + 1 - 0 = 4 M1 -> A2 DF(M1 -> A2) =2(0) - 2 + 0 - 0 = -2 M2 -> A1 DF(M2 -> A1) = 2(0) - 2 + 1 - 1= -2 A1 -> M3 DF(A1 -> M3) = 2(0) - 1 + 0 - 1 = -2 M3 -> A3 DF(M3 -> A3) = 2(0) - 2 + 0 - 0 = -2 M4 -> A3 DF(M4 -> A3) =2(0) - 2 + 0 - 1 = -3 M5 -> A4 DF(M5 -> A4) =2(0) - 2 + 1 - 1 = -2 A3 -> A4 DF(A3 -> A4) = 2(0) - 1 + 1 - 0 = 0 根据上表可知,为了消除为负的折叠方程,可以通过重定时技术,将负的转化为正的,可得下图重定时DFG image.png
根据割集,可得到新的DFG如下图所示

image.png
通过上图可得新的折叠方程如下表所示
| 边 | 折叠方程 | 
|---|---|
| A2 -> M2 | DF(A2 -> M2) = 2(0) -1 + 1 -0 = 0 | 
| A2 -> M5 | DF(A2 -> M5) = 2(0) -1 + 1 - 0 = 0 | 
| A2 -> M4 | DF(A2 -> M4) =2(1) - 1 + 1 - 0 = 2 | 
| A2 -> M1 | DF(A2 -> M1) =2(2) - 1 + 0 - 0 = 1 | 
| A2 -> A1 | DF(A2 -> A1) =2(3) - 1 + 1 - 0 = 6 | 
| M1 -> A2 | DF(M1 -> A2) =2(1) - 2 + 0 - 0 = 0 | 
| M2 -> A1 | DF(M2 -> A1) = 2(1) - 2 + 1 - 1= 0 | 
| A1 -> M3 | DF(A1 -> M3) = 2(1) - 1 + 0 - 1 = 0 | 
| M3 -> A3 | DF(M3 -> A3) = 2(1) - 2 + 0 - 0 = 0 | 
| M4 -> A3 | DF(M4 -> A3) =2(3) - 2 + 0 - 1 = 3 | 
| M5 -> A4 | DF(M5 -> A4) =2(3) - 2 + 1 - 1 = 4 | 
| A3 -> A4 | DF(A3 -> A4) = 2(0) - 1 + 1 - 0 = 0 | 
- 折叠重定时后的DFG
根据重定时方程,可得折叠后的DFG如下图所示。

微信图片_20200412002956
考虑习题7中折叠后的格形滤波器。由于习题7所得折叠边的延时,通过寿命分析,确定为了存储每个功能单元的输出所需要的最小寄存器数,然后用前后项寄存器分配为每个功能单元综合出一个存储单元。用这些最小寄存器存储单元画出完整的折叠架构。将架构中的寄存器与习题7中的寄存器数量比较
第七题图如下所示,将计算节点从上到下,从左到又进行进行编号,A2节点编号1,A4节点编号9

1586612967
根据之前计算出的折叠方程,以及上图的折叠集合
| 边 | 折叠方程 | 
|---|---|
| A2 -> M2 | DF(A2 -> M2) = 2(0) -1 + 1 -0 = 0 | 
| A2 -> M5 | DF(A2 -> M5) = 2(0) -1 + 1 - 0 = 0 | 
| A2 -> M4 | DF(A2 -> M4) =2(1) - 1 + 1 - 0 = 2 | 
| A2 -> M1 | DF(A2 -> M1) =2(2) - 1 + 0 - 0 = 1 | 
| A2 -> A1 | DF(A2 -> A1) =2(3) - 1 + 1 - 0 = 6 | 
| M1 -> A2 | DF(M1 -> A2) =2(1) - 2 + 0 - 0 = 0 | 
| M2 -> A1 | DF(M2 -> A1) = 2(1) - 2 + 1 - 1= 0 | 
| A1 -> M3 | DF(A1 -> M3) = 2(1) - 1 + 0 - 1 = 0 | 
| M3 -> A3 | DF(M3 -> A3) = 2(1) - 2 + 0 - 0 = 0 | 
| M4 -> A3 | DF(M4 -> A3) =2(3) - 2 + 0 - 1 = 3 | 
| M5 -> A4 | DF(M5 -> A4) =2(3) - 2 + 1 - 1 = 4 | 
| A3 -> A4 | DF(A3 -> A4) = 2(0) - 1 + 1 - 0 = 0 | 
加法器流水为1,乘法器流水为2,可以得出寿命表如下所示
| 节点 | Tinput - > Toutput | 
|---|---|
| 1 | 1 -> 7 | 
| 2 | 3 -> 3 | 
| 3 | 2 -> 2 | 
| 4 | 2 -> 2 | 
| 5 | 2 -> 2 | 
| 6 | 3 -> 6 | 
| 7 | 3 -> 7 | 
| 8 | 1 -> 1 | 
| 9 | - | 
根据寿命表画出寿命图如下所示

image.png
由上图可知需要7个寄存器
| 周期 | 输入 | R1 | R2 | R3 | R4 | R5 | R6 | R7 | 输出 | 
|---|---|---|---|---|---|---|---|---|---|
| 0 | |||||||||
| 1 | n1 | ||||||||
| 2 | n1 | ||||||||
| 3 | n6,n7 | n1 | |||||||
| 4 | n6 | n1 | n7 | ||||||
| 5 | n6 | n1 | n7 | ||||||
| 6 | n6 | n1 | n7 | n6 | |||||
| 7 | n7 | n1 | n1,n7 | ||||||
| 8 | 
根据上表可得出新得DFG如下所示

0daa936044a8564ea459588c523a5c8
