1

我的开发板(Papilio One 500k)有一个 32 MHz 的板载振荡器,连接到P89.

我在下载的默认约束 (UCF) 文件中看到,它有一行:

NET CLK   LOC="P89" | IOSTANDARD=LVTTL | PERIOD = 31.25 ns;

现在,为什么这里将周期定义为 31.25 ns。

如果板载振荡器是设定频率,为什么我可以在这里设置周期?

我的想法是,这个声明是为了通知编译器板载振荡器的周期,而不是指定周期是什么。

4

1 回答 1

1

您还可以在 UCF 文件中设置频率。这是一个例子:

NET "SystemClock_200MHz_p"  LOC = "H9";         ## U64.4
NET "SystemClock_200MHz_n"  LOC = "G9";         ## U64.5
NET "SystemClock_200MHz_?"  IOSTANDARD = LVDS;
NET "SystemClock_200MHz_p"  TNM_NET = "NET_SystemClock_200MHz";

TIMESPEC "TS_SystemClock"   = PERIOD "NET_SystemClock_200MHz" 200 MHz HIGH 50 %;

代码中的周期设置为 31.25 ns,因为这是 32 MHz 时钟信号的周期。

周期:= 1/频率

是的,约束对电路板或振荡器没有物理影响。静态时序分析器 (STA) 需要它来检查您的设计是否满足所有时序要求(例如建立和保持时间)。

于 2015-11-21T01:41:48.203 回答