仅对英特尔可见 — GUID: mtr1430270822482
Ixiasoft
2.4.2.1. 高速时钟域(High-Speed Clock Domains)
2.4.2.2. 重构回路(Restructuring Loops)
2.4.2.3. 控制信号反压(Control Signal Backpressure)
2.4.2.4. 使用FIFO状态信号的流程控制
2.4.2.5. 包含skid缓冲器的流程控制
2.4.2.6. Read-Modify-Write存储器
2.4.2.7. 计数器和累加器
2.4.2.8. 状态机
2.4.2.9. 储存器
2.4.2.10. DSP模块
2.4.2.11. 一般逻辑
2.4.2.12. 求模与除法
2.4.2.13. 复位
2.4.2.14. 硬件重用
2.4.2.15. 算法要求
2.4.2.16. FIFO
2.4.2.17. 三元加法器(Ternary Adders)
5.2.1. 不足的寄存器(insufficient Registers)
5.2.2. 短路径/长路径(short path/long path)
5.2.3. 快进限制(Fast Forward Limit)
5.2.4. 回路(loop)
5.2.5. 每个时钟域一个关键链
5.2.6. 相关时钟组中的关键链
5.2.7. 复杂的关键链
5.2.8. 延伸到可定位的节点
5.2.9. 域边界入口和域边界出口(Domain Boundary Entry and Domain Boundary Exit)
5.2.10. 包括双时钟存储器的关键链
5.2.11. 关键链比特和总线
5.2.12. 延迟线
仅对英特尔可见 — GUID: mtr1430270822482
Ixiasoft
2.4.2.4. 使用FIFO状态信号的流程控制
在处理流程控制信号时需要考虑高时钟速度。对于同时在多个位置门控一个数据通路的信号而言,此考虑因素是尤为重要的,例如,使用时钟使能信号或FIFO full或empty信号。 使用一个延迟的信号来替代实时控制信号。您可以在FIFO模块中构建一个缓冲器。控制信号对上游数据通路表明它几乎变满,对于上游数据还有几个时钟周期来接收其门控信号。此方法减缓了对控制信号的时序收敛困难。
当使用FIFO满和空信号时,为防止上溢或下溢,您必须在一个时钟周期内处理这些信号。
图 61. FIFO流程控制回路从FIFO中读取控制信号的同时形成回路。
如果使用一个almost full或者almost empty信号,那么您可以在流程控制回路中添加流水线寄存器。如果almost full阈值越低,并且almost empty阈值越高,那么可添加到信号的寄存器就越多。
图 62. 通过使用Almost Full替代Full FIFO而改进的FIFO流控制回路下面实例显示了完全控制流程信号中的两个额外的寄存器。FIFO生成almost full标志后,信号要经过两个周期达到data producer模块。在已发送的数据停止到达FIFO之前需要两个额外的周期。这种情况会导致四个周期的延迟。只要almost full标志被置位,data producer就能在FIFO变慢之前再发送4个字。测量FIFO模块大小,以确保这些额外有效数据的正确存储。控制路径中的两个额外流水线寄存器有助于布线,并且实现比使用传统的单周期FIFO控制方案更高的速度。