天天看點

建立基本的時鐘周期限制

1、Organizing Your Constraints

建立基本的時鐘周期限制

Xilinx建議将時序限制和實體限制分别存放在不同的XDC檔案中!

2、Clock Description

建立基本的時鐘周期限制

3、Primary Clock 主時鐘

建立基本的時鐘周期限制
建立基本的時鐘周期限制

4、Generated Clock 生成時鐘

建立基本的時鐘周期限制

生成時鐘分為兩類:(1)使用者自定義的時鐘 (2)自動生成時鐘

(1)對于自動生成的時鐘是指由CMB生成的時鐘,其中CMB可以是MMCM、PLL、BUFR,一旦建立主時鐘周期限制,vivado會自動據此推斷生成時鐘周期而無需人工幹預;

建立基本的時鐘周期限制

(2)對于使用者自定義的時鐘,如下圖所示:

建立基本的時鐘周期限制
建立基本的時鐘周期限制

5、report_clocks

建立基本的時鐘周期限制

6、Rename Tool-Generated Clocks 重命名自動生成的時鐘

建立基本的時鐘周期限制

7、Clock Group 時鐘組

建立基本的時鐘周期限制
  • Asynchronous Clock Groups 異步時鐘分組
    建立基本的時鐘周期限制
  • Exclusive Clock Groups 獨立時鐘分組
    建立基本的時鐘周期限制

8、Unexpandable Clocks 不可擴充時鐘

建立基本的時鐘周期限制

不可擴充時鐘是指時鐘引擎無法在1000個時鐘周期内找到兩個時鐘邊沿對其的情形,例如clk1=5.125ns,clk2=6.666ns,兩者分别由兩個MMCM生成,在這種情形下,如果這兩個時鐘之間存在跨時鐘域的資料互動,那麼預設情況下,Vivado會認為兩者的setup requirement為0.01ns,顯然這是不合常理的。通常,我們将不可擴充時鐘歸類為異步時鐘處理。

9、Clock Relationships

建立基本的時鐘周期限制