Intel® Hyperflex™ 体系结构高性能设计手册

ID 683353
日期 10/04/2021
Public
文档目录

2.4.1.2. 时间域多路复用(Time Domain Multiplexing)

时间域多路复用通过使用多线程计算来提高电路吞吐量。这种技术也称作C缓慢重定时(C-slow retiming)或者多线程处理(multithreading)。

时间域多路复用使用一组串联C寄存器取代电路中的每个寄存器。每个额外的寄存器复制创建一个新的计算线程。通过设计的一次计算要求C与原始电路一样多的时钟周期相乘。然而,Compiler能够重定时额外的寄存器以提高fMAX一个C因子。例如,您可以例化一个运行在800 MHz的模块,而不是例化两个运行在400 MHz的模块。

下图显示了C缓慢重定时的进程,开始于一个初始电路。

图 49. C缓慢重定时起点

编辑RTL设计,将每个寄存器(包括回路中的寄存器)替换为一组C寄存器,每个独立计算线程有一个寄存器。

图 50. C缓慢重定时中间点此实例显示了每个寄存器被两个寄存器替换。

此时此刻编译电路。当Compiler优化电路时,用附加寄存器执行重定时有更大的灵活性。

图 51. C缓慢重定时终点

除了用一组寄存器替换每个寄存器之外,还必须将多个输入数据流多路复用到模块中,并将输出流多路分解出此模块。当设计包含多个并行线程时使用时间域多路复用,为此回路限制每个线程。您优化的模块不能对延迟敏感。