
在FPGA設計中,時序約束的設置對于電路性能和可靠性都至關重要。
本文將重點講解主時鐘約束設置,給出詳細的約束命令,并介紹了在Vivado中如何寫入主時鐘約束。
一、主時鐘約束
(資料圖)
主時鐘是FPGA電路中最基礎的時鐘,其穩定性和精確性對電路的穩定運行有著至關重要的作用。在時序約束中,我們需要準確地定義主時鐘的時鐘約束,以確保電路的時序約束得以實現。
在Vivado中,我們可以使用create_clock命令來定義主時鐘的時鐘約束,其語法如下:
這里需要注意的是使用create_clock創建的時鐘必須是主時鐘primary clock。
FPGA中的主時鐘通常有兩種來源:
由外部時鐘源(晶振)提供,通過引腳進入。帶高速收發器(GT)FPGA芯片型號,有GT時鐘RXOUTCLK或TXOUTCLK。對于Xilinx 7系列FPGA,需要對GT的兩個時鐘都添加約束,但對于UltraScale以及以上系列FPGA,只需對GT的輸入時鐘約束即可。
設定從引腳clk輸入外部時鐘,時鐘周期為12ns,占空比50%,相移為0,則主時鐘約束如下所示:
如果存在相移為90,則主時鐘約束變為
PGA差分時鐘是指通過時鐘管腳的P端和N端共同進來的時鐘信號。通常應用于高頻或精度要求較高的場合,它的作用是消除共模噪聲,從而提高系統性能。
只需要約束差分時鐘的P端即可,不能同時約束P端和N端,N端可以被軟件自動識別到。
比如差分時鐘sys_clk_p和sys_clk_n,時鐘周期為6.667ns,則約束為:
FPGA高速收發器GT時鐘信號,是指在FPGA中使用高速收發器GT(Gigabit Transceiver)進行信號收發時,需要使用與其速率相匹配的時鐘信號進行同步傳輸。這樣做可以確保信號穩定地傳輸,避免了數據傳輸中可能出現的誤碼情況。
比如時鐘源由高速收發器gt0提供,則時序約束為:
點擊“+”號,選擇“add orcreate constras”,點擊下一步。
選擇“create file”,填入時序文件名即可。
(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中常見的操作,必須掌握,本文詳細介紹了操作命令和操作示范,希望可以幫助到大家學習并掌握這個知識。
標簽: