在FPGA設(shè)計中,時序約束的設(shè)置對于電路性能和可靠性都至關(guān)重要。
本文將重點講解主時鐘約束設(shè)置,給出詳細(xì)的約束命令,并介紹了在Vivado中如何寫入主時鐘約束。
一、主時鐘約束
(資料圖)
主時鐘是FPGA電路中最基礎(chǔ)的時鐘,其穩(wěn)定性和精確性對電路的穩(wěn)定運行有著至關(guān)重要的作用。在時序約束中,我們需要準(zhǔn)確地定義主時鐘的時鐘約束,以確保電路的時序約束得以實現(xiàn)。
在Vivado中,我們可以使用create_clock命令來定義主時鐘的時鐘約束,其語法如下:
這里需要注意的是使用create_clock創(chuàng)建的時鐘必須是主時鐘primary clock。
FPGA中的主時鐘通常有兩種來源:
由外部時鐘源(晶振)提供,通過引腳進入。帶高速收發(fā)器(GT)FPGA芯片型號,有GT時鐘RXOUTCLK或TXOUTCLK。對于Xilinx 7系列FPGA,需要對GT的兩個時鐘都添加約束,但對于UltraScale以及以上系列FPGA,只需對GT的輸入時鐘約束即可。
設(shè)定從引腳clk輸入外部時鐘,時鐘周期為12ns,占空比50%,相移為0,則主時鐘約束如下所示:
如果存在相移為90,則主時鐘約束變?yōu)?/p>
PGA差分時鐘是指通過時鐘管腳的P端和N端共同進來的時鐘信號。通常應(yīng)用于高頻或精度要求較高的場合,它的作用是消除共模噪聲,從而提高系統(tǒng)性能。
只需要約束差分時鐘的P端即可,不能同時約束P端和N端,N端可以被軟件自動識別到。
比如差分時鐘sys_clk_p和sys_clk_n,時鐘周期為6.667ns,則約束為:
FPGA高速收發(fā)器GT時鐘信號,是指在FPGA中使用高速收發(fā)器GT(Gigabit Transceiver)進行信號收發(fā)時,需要使用與其速率相匹配的時鐘信號進行同步傳輸。這樣做可以確保信號穩(wěn)定地傳輸,避免了數(shù)據(jù)傳輸中可能出現(xiàn)的誤碼情況。
比如時鐘源由高速收發(fā)器gt0提供,則時序約束為:
點擊“+”號,選擇“add orcreate constras”,點擊下一步。
選擇“create file”,填入時序文件名即可。
(1)方法1
直接打開XDC文件,寫入時序約束語句即可
(2)方法2
在將工程綜合Synthesis完成后,點開“Open Synthesized Design”,等待打開完成后,直接在TCL console窗口中輸入時序約束語句,回車即可。
(3)方法3
在將工程綜合Synthesis完成后,點開“Edit Timing Constraints”,等待打開GUI界面。
在“分類區(qū)”選中要創(chuàng)建的約束類型,點擊“+”號,創(chuàng)建約束,彈出約束創(chuàng)建界面。
點擊source objects右側(cè)的“...”,打開模塊接口搜索界面,并點擊find按鈕,選中“sys_clk”信號,點擊“右箭頭”,最后點擊set即可。
最后輸入時鐘名,時鐘周期,和波形參數(shù)即可,點擊ok,并“ctrl + S”保存即可。
主時鐘約束是FPGA中常見的操作,必須掌握,本文詳細(xì)介紹了操作命令和操作示范,希望可以幫助到大家學(xué)習(xí)并掌握這個知識。
標(biāo)簽: