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

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

5.2.9. 域边界入口和域边界出口(Domain Boundary Entry and Domain Boundary Exit)

Path Info列出了关键链的Domain Boundary Entry或Domain Boundary Exit。域边界入口(domain boundary entry)或域边界出口(domain boundary exit)指的是不受约束的路径,异步时钟域之间的路径或者时钟域与顶层器件输入输出之间的路径。域边界入口和出口也指示为某些假路径。

域边界入口是指设计拓扑中位于时钟域边界上的一个点,如果使能了Hyper-Pipelining,Hyper-Retiming可以在此点上插入寄存器阶段(延迟可以进入时钟域)。域边界入口的概念与数据流方向无关。 Hyper-Retiming可以在模块的输入处插入寄存器级,并执行向前重定时推动。 Hyper-Retiming还可以在模块的输出端插入寄存器阶段,并执行向后重定时推送。这些插入出现在域边界入口点。

域边界出口是指设计拓扑中的一个点,位于时钟域边界上,如果使能了Hyper-Pipelining,Hyper-Retiming可以移除寄存器阶段,延迟可以退出时钟域。移除一个寄存器似乎是反直观的。但是,通常使用这种方法来保持功能的正确性,具体取决于Hyper-Retiming执行的其他优化。

当在寄存器到寄存器路径上有未寄存的I/O驱动组合逻辑( feeding combinational logic)时,如下图所示,关键链有时表示一个域边界入口或出口。

图 121. 包括未寄存输入/输出的域边界

根据路径限制Hyper-Retiming的方式,寄存器到寄存器路径可能会显示为具有域边界入口或域边界退出的关键链段。未寄存的输入可防止Hyper-Retiming在域边界插入寄存器阶段,因为输入是未寄存的。同样,未寄存的输入也可以防止Hyper-Retiming在域边界移除寄存器阶段。

具有域边界出口的关键链不能提供用于确定是什么阻止将寄存器重定时出时钟域的完整的信息。要确定寄存器无法重定时的原因,请查看设计以找到与域边界出口相关联的寄存器另一端连接的信号。

域边界入口和域边界出口可以独立出现在关键链中。他们也可以组合出现在关键中,例如:没有域边界入口的域边界出口,或者关键链起始或和末尾的域边界入口。

以下关键链以域边界入口(domain boundary entry)开始和结束。域边界入口是连接到顶层器件I/O的输入和输出寄存器。输入寄存器是round_robin_requests_r ,输出寄存器是round_robin_next

图 122. 包括域边界的关键链原理图

基本编译的限制原因是不足寄存器(Insufficient Registers)。

图 123. 包括Insufficient Registers的Retiming Limit Summary

以下部分关键链报告显示了端点标记为Domain Boundary Entry。

图 124. 包括Domain Boundary Entry的关键链

输入和输出寄存器都指示为Domain Boundary Entry,因为如果使能了Hyper-Pipelining,那么Fast Forward Compile通常会在这些边界插入寄存器级。