仅对英特尔可见 — GUID: fzx1468480633479
Ixiasoft
仅对英特尔可见 — GUID: fzx1468480633479
Ixiasoft
1.5.1. 部分重配置设计指南
下表列出了PR设计流程中各个步骤的重要设计指南:
PR设计步骤 | 指南 | 原因 |
---|---|---|
对部分重配置进行设计 |
不要在PR区域内的寄存器中假定初始状态。PR完成后,请确保将所有控制路径寄存器复位成一个已知状态,但要忽略数据路径寄存器。 |
PR区域中的寄存器在重配置之后包含未定义的值。忽略数据路径寄存器可减少复位信号上的拥塞。 |
对于 Intel® Arria® 10或者 Intel® Cyclone® 10 GX部分重配置,您不能将同步复位定义成一个全局信号。 |
PR区域不支持寄存器的同步复位作为一个全局信号,因为 Intel® Arria® 10和 Intel® Cyclone® 10 GX LAB在全局缓存上不支持同步清零(sclr)信号。LAB支持从本地输入或者全局网络行时钟驱动的异步清零(aclr)信号。因此,只有aclr可以是全局信号,驱动PR区域中的寄存器。 |
|
PRESERVE_FANOUT_FREE_NODE assignment不能保留fanout-free寄存器,此寄存器在对其进行定义的Verilog HDL或VHDL模块内没有扇出。要保留这些fanout-free寄存器,请在源文件中实现noprune pragma: (*noprune*)reg r; 如果此模块有多个实例,只有一些实例需要保留fanout-free寄存器,那么在HDL中的寄存器上设置一个虚拟编译指示(dummy pragma),并设置PRESERVE_FANOUT_FREE_NODE assignment。dummy pragma使寄存器综合能够实现assignment。例如,在Verilog HDL中设置寄存器r的dummy pragma: (*dummy*)reg r; 然后设置此实例assignment: set_instance_assignment -name \ PRESERVE_FANOUT_FREE_NODE ON \ -to r; |
如果在定义一个寄存器的Verilog HDL或VHDL模块中未使用此寄存器,那么PRESERVE_FANOUT_FREE_NODE assignment不适用。 | |
对设计进行分区 |
寄存PR区域的所有输入和输出。 |
改进时序收敛和时间预算。 |
减少设计中与PR区域和静态区域对接的信号数量。 |
减少导线LUT数量。 |
|
为PR区域创建一个wrapper。 |
wrapper创建到静态区域的通用覆盖区(common footprint)。 |
|
当PR区域保持复位状态并且PR区域的冻结比特置位时,将所有PR区域输出端口驱动为无效状态。 |
防止静态区域逻辑在部分重配置操作期间接收随机数据。 |
|
PR边界I/O接口必须是所有PR Persona I/O接口的超集。 |
确保每个PR分区实现相同的端口。 |
|
准备部分重配置 |
完成所有待处理的传输。 |
确保静态区域没有处于等待状态。 |
在部分重配置期间维护部分工作的系统 |
将所有输出保持为已知恒定值。 |
确保PR区域在重配置期间和之后接收到的未定义值不会影响PR控制逻辑。 |
部分重配置后进行初始化 |
复位后初始化。 |
从存储器或者其他器件资源中检索状态。 |
使用Signal Tap Logic Analyzer对设计进行调试 |
|
Intel® Quartus® Prime软件的当前版本仅支持每个修订版一个.stp (Signal Tap文件)。此限制要求您一次选择一个分区以进行布线。 |
不要在同一.stp文件中跨区域布线。 |
确保所有角色之间的接口(边界)一致。 |
|
仅布线预综合信号。在Node Finder中,过滤Signal Tap: pre-synthesis。 |
确保PR角色的信号布线从综合开始。 |