英特尔 Quartus Prime Pro Edition用户指南: 设计建议

ID 683082
日期 8/03/2023
Public
文档目录

1.6.4.1. 状态机上电

英特尔 Stratix 10器件中,如果寄存器不在同一扇区中,那么它们未必在同一时钟周期上电。如果状态机进入未定义状态,那么此情况能够导致状态机出现问题。

独热(one-hot)编码的状态机尤其容易受到此问题的影响,因为未定义状态的数量比合法状态的数量大。重定时(retiming)还会增加此问题的风险,因为当状态寄存器跨逻辑或布线重定时时,一个状态机的不同状态寄存器位于不同扇区的可能性就更大。

为了减轻这种风险,对于英特尔 Stratix 10设计,Compiler会自动将Safe State Machine用于6个或更少状态的任何状态机。如果状态机进入未定义状态,那么此Safe State Machine设置将强制状态机返回到复位状态。Compiler不会自动将Safe State Machine用于6个以上状态的状态机,或用于英特尔 Arria 10或者英特尔 Cyclone 10 GX器件,因为对结果质量的影响可能很大。