如果您正在执行时序分析并且使用由逻辑单元(LE)寄存器提供输入的异步RAM块,则可能会在Quartus软件中收到此错误消息。
这种设计的一个例子是,如果写入使能信号( WREN
)和数据输入( DATA
)到异步RAM块是由LE寄存器的输出馈送的。假设寄存器由一个名为clk
的信号计时,Quartus软件计算的数据延迟将是:
clk_path_to_data_reg + tco + REG2DIN
Quartus计算的时钟延迟为:
clk_path_to_wren_reg + tco + REG2WE
Quartus软件假定WREN 信号是RAM的异步时钟信号。 |
当这些寄存器位于LE中时,数据延迟变得比WREN
信号延迟短,从而产生RAM总是写入错误数据的情况。
解决方案是将寄存器放入嵌入式系统块(ESB)本身,并使RAM功能同步。这是通过将RAM函数的LPM_INDATA
和LPM_ADDRESS_CONTROL
参数设置为REGISTERED
。如果这样做,时钟偏差将足够小,以便始终使用有效数据写入RAM。
没有回复内容