当相同的UniPHY内核不止一次实例化时,Quartus®II10.0版本中存在一个已知的问题。问题sdc计时脚本导致设置不正确的输入最大延迟,因此读取捕获失败。
这个问题已在Quartus II软件10.1中修复。按照以下步骤操作10.0以解决问题。
1.在文本编辑器中打开<core> .sdc文件。
2.找到“for”循环,其中核心的所有实例都受搜索文本“foreach {inst} $ instances”的约束。
3.在“for”循环内,向下滚动到“QUERIED TIMING”部分,找到这两行;
set data_input_max_delay [round_3dp [expr $ data_input_max_delay + $ fpga …
set data_input_min_delay [round_3dp [expr $ data_input_min_delay – $ t(CK)…
将它们更改为:
set final_ data_input_max_delay [round_3dp [expr $ data_input_max_delay + $ fpga …
set final_ data_input_min_delay [round_3dp [expr $ data_input_min_delay – $ t(CK)…
4.在“for”循环内向下滚动,找到下面的行:
#指定DQ引脚和DQS引脚之间的最大延迟差:
set_input_delay -max $ data_input_max_delay -clock [get_clocks …
#指定DQ引脚和DQS引脚之间的最小延迟差:
set_input_delay -min $ data_input_min_delay -clock [get_clocks …
改变他们
#指定DQ引脚和DQS引脚之间的最大延迟差:
set_input_delay -max $ final_ data_input_max_delay -clock [get_clocks …
#指定DQ引脚和DQS引脚之间的最小延迟差:
set_input_delay -min $ final_ data_input_min_delay -clock [get_clocks …
5.保存文件并重新编译项目,检查读取捕获时序,以确保所有接口的读取时间均为正。
没有回复内容