仅对英特尔可见 — GUID: blo1544541010795
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: blo1544541010795
Ixiasoft
2.3.2.2.4. (可选)无可变延迟模块的自动流水线插入
按照以下针对目标寄存器的步骤来选择使能自动流水线插入,而不使用可变延迟模块(hyperpipe_vlat):
- 要指定要插入的最大级数,请点击Assignments > Assignment Editor,然后对Assignment Name选择Maximum Additional Pipelining,在Value中输入最大数量的流水线, 在To中输入到寄存器的层次路径。或者,将以下等效赋值语句添加到.qsf中。
set_instance_assignment -name HYPER_RETIMER_ADD_PIPELINING \ <maximum stages> -to <register path>
注: 如果使用altera_attribute语句在RTL中嵌入赋值,而不是添加到.qsf,那么必须在Verilog HDL和VHDL中将数值指定为字符串。 - 如要防止在自动流水线插入额外级之前进行总线优化,请指定preserve pragma,并在Assignment Editor中将目标寄存器的Netlist Optimizations设置为Never Allow,或者使用以下.qsf赋值语句进行指定。如果自动流水线操作将额外级添加到总线的某些比特中(而不是全部比特),那么在自动流水线操作之前对总线进行的任何优化都会对信号完整性产生影响。
set_instance_assignment -name \ ADV_NETLIST_OPT_ALLOWED NEVER_ALLOW -to <register path>
- 要确保相关寄存器接收相同数量的额外流水线级,需要创建一个assignment group以关联并分配组中的所有寄存器。如果没有定义assignment group,那么组名称将自动生成,前缀为add_pipelining_group ,并且对HYPER_RETIMER_ADD_PIPELINING指定的每个寄存器都将成为一组。
以下命令行显示了.qsf group assignment的语法:
set_instance_assignment -name \ HYPER_RETIMER_ADD_PIPELINING_GROUP <group name string> \ -to <register path>