在早于5.1版的Quartus®II软件版本中可能会出现此问题。受问题影响的路径在单元中被切断,因此在定时分析期间被忽略,而不是由fitter优化。从版本5.1开始修复此问题,并且问题未出现在TimeQuest Timing Analyzer中。
以下行是Quartus II设置文件( .qsf )中可能出现问题的CUT分配示例:
set_instance_assignment -name CUT -from * -to reg_* ON
要在早于5.1的版本中解决此问题,请创建一个包含*作为其唯一成员的时间组。然后将CUT分配源更改为时间组的名称。例如,假设您已创建名为my_group的时间组,并将*作为成员,则以下行显示应用变通方法后的CUT分配:
set_instance_assignment -name CUT -from my_group -to reg_* ON
在Quartus II软件5.0中,在编译报告的Timing Analyzer部分的Unconstrained Paths报告中报告了由于CUT分配而被忽略的路径。
出现此问题的原因是除了切割寄存器之间的路径之外,CUT分配还会切断从时钟到寄存器的路径。当您指定*作为CUT分配的来源时,*匹配数据和时钟馈送寄存器,导致两个路径被切断。在不分析馈送寄存器的时钟的情况下,从寄存器到其目标寄存器没有已知的时钟设置要求。这些路径未经过优化或报告,因为它们不受约束。
如果要将时钟的CUT分配应用于寄存器,则必须将时钟名称指定为CUT分配的源,而不是使用通配符(*)。
从Quartus II软件5.1开始,使用*作为CUT分配的来源与时钟名称不匹配。
没有回复内容