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