在Vivado中如何寫入FPGA設計主時鐘約束?

2023-06-26 15:02:19 來源:FPGA入門到精通

FPGA設計中,時序約束的設置對于電路性能和可靠性都至關重要。

本文將重點講解主時鐘約束設置,給出詳細的約束命令,并介紹了在Vivado中如何寫入主時鐘約束。

一、主時鐘約束


(資料圖)

時鐘是FPGA電路中最基礎的時鐘,其穩定性和精確性對電路的穩定運行有著至關重要的作用。在時序約束中,我們需要準確地定義主時鐘的時鐘約束,以確保電路的時序約束得以實現。

在Vivado中,我們可以使用create_clock命令來定義主時鐘的時鐘約束,其語法如下:

這里需要注意的是使用create_clock創建的時鐘必須是主時鐘primary clock。

FPGA中的主時鐘通常有兩種來源:

由外部時鐘源(晶振)提供,通過引腳進入。帶高速收發器(GT)FPGA芯片型號,有GT時鐘RXOUTCLK或TXOUTCLK。

對于Xilinx 7系列FPGA,需要對GT的兩個時鐘都添加約束,但對于UltraScale以及以上系列FPGA,只需對GT的輸入時鐘約束即可。

1、外部輸入的單端主時鐘信號

設定從引腳clk輸入外部時鐘,時鐘周期為12ns,占空比50%,相移為0,則主時鐘約束如下所示:

如果存在相移為90,則主時鐘約束變為

2、外部輸入的差分時鐘信號

PGA差分時鐘是指通過時鐘管腳的P端和N端共同進來的時鐘信號。通常應用于高頻或精度要求較高的場合,它的作用是消除共模噪聲,從而提高系統性能。

只需要約束差分時鐘的P端即可,不能同時約束P端和N端,N端可以被軟件自動識別到。

比如差分時鐘sys_clk_p和sys_clk_n,時鐘周期為6.667ns,則約束為:

3、高速收發器GT時鐘信號

FPGA高速收發器GT時鐘信號,是指在FPGA中使用高速收發器GT(Gigabit Transceiver)進行信號收發時,需要使用與其速率相匹配的時鐘信號進行同步傳輸。這樣做可以確保信號穩定地傳輸,避免了數據傳輸中可能出現的誤碼情況。

比如時鐘源由高速收發器gt0提供,則時序約束為:

二、Vivado添加時序約束

**1、新建XDC文件,或添加已有的XDC文件

點擊“+”號,選擇“add orcreate constras”,點擊下一步。

選擇“create file”,填入時序文件名即可。

2、添加時序約束

(1)方法1

直接打開XDC文件,寫入時序約束語句即可

(2)方法2

在將工程綜合Synthesis完成后,點開“Open Synthesized Design”,等待打開完成后,直接在TCL console窗口中輸入時序約束語句,回車即可。

(3)方法3

在將工程綜合Synthesis完成后,點開“Edit Timing Constraints”,等待打開GUI界面。

在“分類區”選中要創建的約束類型,點擊“+”號,創建約束,彈出約束創建界面。

點擊source objects右側的“...”,打開模塊接口搜索界面,并點擊find按鈕,選中“sys_clk”信號,點擊“右箭頭”,最后點擊set即可。

最后輸入時鐘名,時鐘周期,和波形參數即可,點擊ok,并“ctrl + S”保存即可。

三、總結

主時鐘約束是FPGA中常見的操作,必須掌握,本文詳細介紹了操作命令和操作示范,希望可以幫助到大家學習并掌握這個知識。

標簽:

上一篇:MSP430FR6989單片機學習之點亮LED
下一篇:最后一頁