赛灵思
直播中

陈萍

7年用户 196经验值
私信 关注
[问答]

Spartan-3 DCM需要哪些时序分析约束?

在Vivado 2016.1和Kintex-7 FPGA中,我可以使用名为“Clocking Wizard v5.3”的IP来配置为我的项目输出系统时钟的MMCM。
自定义此IP后,将自动为IP生成约束文件(XDC文件),它包含用于时序分析的“create_clock”和“set_input_jitter”约束。
在ISE 14.7和Spartan-3 FPGA中,我可以使用称为“时钟向导”的IP来配置为我的项目输出系统时钟的DCM。
自定义此IP后,我有以下问题:
Spartan-3 DCM需要哪些约束(用于时序分析),它们是否会自动放置在我的项目中的某个位置?

回帖(2)

陈玉筠

2019-8-2 10:06:46
ISE中的时钟向导不会生成约束。
Vivado中许多强大的概念之一是支持“范围约束” - 与特定模块相关的约束文件,无论模块在实例化的层次结构中的哪个位置都可以应用。
这使得时钟向导可以生成一个可用于时钟核心的约束文件,而无需知道时钟核心实例化的完整路径名称(也不使用通配符)。
ISE没有这样的机制。
某些IP内核生成“示例”UCF文件 - 这些文件包含可以复制到主UCF文件中的命令 - 您可以修改分层INST和NET名称以匹配您的层次结构。
但是,时钟向导却没有。
就需要什么约束而言 - 您需要输入时钟引脚的PERIOD约束 - 通常是表单的约束
NET TNM_NET =;
TIMESPEC TS_ PERIOD = INPUT_JITTER HIGH;
由此,该工具将自动为DCM的输出导出适当的PERIOD约束 - 您可以在ngdbuild(.bld文件)的日志文件中查看派生约束。
Avrum
在原帖中查看解决方案
举报

陈玉筠

2019-8-2 10:19:50
ISE中的时钟向导不会生成约束。
Vivado中许多强大的概念之一是支持“范围约束” - 与特定模块相关的约束文件,无论模块在实例化的层次结构中的哪个位置都可以应用。
这使得时钟向导可以生成一个可用于时钟核心的约束文件,而无需知道时钟核心实例化的完整路径名称(也不使用通配符)。
ISE没有这样的机制。
某些IP内核生成“示例”UCF文件 - 这些文件包含可以复制到主UCF文件中的命令 - 您可以修改分层INST和NET名称以匹配您的层次结构。
但是,时钟向导却没有。
就需要什么约束而言 - 您需要输入时钟引脚的PERIOD约束 - 通常是表单的约束
NET TNM_NET =;
TIMESPEC TS_ PERIOD = INPUT_JITTER HIGH;
由此,该工具将自动为DCM的输出导出适当的PERIOD约束 - 您可以在ngdbuild(.bld文件)的日志文件中查看派生约束。
Avrum
举报

更多回帖

发帖
×
20
完善资料,
赚取积分