仅对英特尔可见 — GUID: dud1489007836568
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: dud1489007836568
Ixiasoft
2.2.7.4. 重定时复位流程(Retiming Reset Sequences)
在某些条件下,Retime阶段会执行c-cycle值大于零的寄存器转换。此功能可以帮助提高设计的最大频率。但是,大于零的c-cycle等效值的寄存器重定时需要额外的预防措施,以确保重定时后的功能等效。为了保持功能等效,请重新使用现有的复位流程,并添加适当的时钟周期数,如以下部分所述:
修改复位序列
请按照如下建议在重定时期间最大化复位的操作频率:
- 从所有自然复位的寄存器中删除sclr信号。此删除操作使寄存器能够在重定时期间在逻辑中自由移动。
- 确保ALLOW_POWER_UP_DONT_CARE global assignment设为ON。此设置最大化寄存器移动。
- 计算由c-cycle等价导致的额外时钟周期的相关数量,并加入到复位同步器中。
添加时钟周期到复位
Compiler报告要加入到Fitter > Retime Stage > Reset Sequence Requirement报告中复位序列中的时钟周期数。此报告在时钟域基础上列出了要加入的周期数。
图 20. 复位序列要求报告
到多个分支的寄存器复制的c-cycle值为1。无论复制寄存器的数量是多少,寄存器始终是一个远离其原始源的连接。一个时钟周期后,所有分支再次具有相同的值。
以下示例显示了如何在复位序列中添加时钟周期,以确保重定时后设计的功能等同性。
图 21显示了具有前向重定时潜力的寄存器的流水线操作。c-cycle值等于0。
图 21. 流水线和寄存器复制
图 22显示了一个寄存器的向前重定时后的流水线寄存器。由于c-cycle值等于1,因此该电路的复位序列需要一个额外的时钟来实现复位后的功能等效。
图 22. 一个寄存器移动的影响
图 23显示了两个寄存器的向前重定时后的流水线寄存器。由于c-cycle值等于2,因此该电路的复位序列需要两个额外的时钟来实现复位后的功能等效。
图 23. 两个寄存器移动的影响
流水线中的寄存器每次移到逻辑中时,寄存器就会复制,C-cycle值就会加1。