如何有效地管理FPGA設(shè)計中的時序問題
理想的解決辦法是為器件的建立和保持提供一個最大的安全空余,可以通過轉(zhuǎn)化平衡空余,為二者都提供相同的安全空余。為了平衡空余,我們?yōu)榻邮掌骷_定最低的有效數(shù)據(jù)窗口,在實(shí)際有效數(shù)據(jù)窗口的中心窗內(nèi)可以給我們的存儲器提供設(shè)計參數(shù)。
利用接收器件最小的建立和保持時間,我們可以利用下面的公式確定最小的安全的有效數(shù)據(jù)窗口:
最小創(chuàng)建時間+最低保持時間=最低有效數(shù)據(jù)窗口
如圖3所示,在存儲器器件中可以看出,實(shí)際結(jié)果是在有效數(shù)據(jù)窗口中間。為了確保獲取數(shù)據(jù),總線必須在接收器最小的有效數(shù)據(jù)窗口外的安全區(qū)域內(nèi)進(jìn)行轉(zhuǎn)換。根據(jù)時鐘與數(shù)據(jù)的關(guān)系,信號設(shè)計在任一區(qū)域內(nèi),在獲取數(shù)據(jù)時,我們確保盡可能多的安全空余。
圖3:平衡實(shí)際有效數(shù)據(jù)窗口中的最小有效數(shù)據(jù)窗口
實(shí)現(xiàn)適當(dāng)?shù)臅r鐘偏移
源同步時鐘的相位偏移將有效地改變存儲控制器接收寄存器的最小有效數(shù)據(jù)窗口,因此將形成平衡有效數(shù)據(jù)窗口。時鐘偏移調(diào)整是FPGA裝置中PLL器件的一個組成部分。要確定偏移的值,我們必須考慮到影響信號的布線延遲和任何外部延遲。
首先,我們使用TimingDesigner軟件通過存儲器數(shù)據(jù)表為QDR SRAM創(chuàng)造一個圖表(圖4)。我們利用此圖確定存儲器與有效數(shù)據(jù)窗口中的時鐘和數(shù)據(jù)信號時序的關(guān)系。目的是精確定義存儲器的信號關(guān)系,并在PCB到FPGA的設(shè)計中傳遞這種關(guān)系。
圖4:QDR存儲器讀取時序圖-MT54W1MH18J
從圖4可以看出在FPGA的管腳上,PCB傳播延遲與時鐘(CQ_FPGA)和數(shù)據(jù)(Q_FPGA)信號間的關(guān)系。在TimingDesigner軟件的動態(tài)鏈接參數(shù)表中使用單獨(dú)的變量可以輕松地獲得PCB板的延時及延遲值對相關(guān)的信號的影響?,F(xiàn)在,我們可以在適當(dāng)?shù)腇PGA裝置中,為獲取時鐘而得到內(nèi)部布線延遲和確定正確的相位偏移。
四、FPGA設(shè)計要素
大多數(shù)的FPGA利用約束驅(qū)動進(jìn)行布局和布線。時序約束為關(guān)鍵信號提供時序信息。 TimingDesigner軟件提供獨(dú)特的時序參考圖如測量和計算變量結(jié)果,從行內(nèi)文字到文件都支持廠商特定的約束語法。例如,在一個FPGA約束布線中,對符合其動態(tài)文字窗口的語法要求中,可以通過時序圖中為特定信號計算延遲誤差。然后,我們可以將這些語法通過一個文本文件導(dǎo)入到FPGA的開發(fā)系統(tǒng)中,或者我們可以直接將數(shù)值復(fù)制到FPGA的約束編輯器中。
評論