新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 如何有效的管理FPGA設計中的時序問題

        如何有效的管理FPGA設計中的時序問題

        作者: 時間:2012-08-31 來源:網絡 收藏

        首先,我們使用TimingDesigner軟件通過存儲器數據表為QDR SRAM創造一個圖表(圖4)。我們利用此圖確定存儲器與數據窗口中的時鐘和數據信號的關系。目的是精確定義存儲器的信號關系,并在PCB到中傳遞這種關系。

        本文引用地址:http://www.104case.com/article/148473.htm

          

        圖4:QDR存儲器讀取時序圖-MT54W1MH18J。

          圖4:QDR存儲器讀取圖-MT54W1MH18J。

          從圖4可以看出在的管腳上,PCB傳播延遲與時鐘(CQ_)和數據(Q_FPGA)信號間的關系。在TimingDesigner軟件的動態鏈接參數表中使用單獨的變量可以輕松地獲得PCB板的延時及延遲值對相關的信號的影響。現在,我們可以在適當的FPGA裝置中,為獲取時鐘而得到內部布線延遲和確定正確的相位偏移。

          四、FPGA要素

          大多數的FPGA利用約束驅動進行布局和布線。約束為關鍵信號提供時序信息。TimingDesigner軟件提供獨特的時序參考圖如測量和計算變量結果,從行內文字到文件都支持廠商特定的約束語法。例如,在一個FPGA約束布線中,對符合其動態文字窗口的語法要求中,可以通過時序圖中為特定信號計算延遲誤差。然后,我們可以將這些語法通過一個文本文件導入到FPGA的開發系統中,或者我們可以直接將數值復制到FPGA的約束編輯器中。

          對于高速存儲器接口,數據存儲器被放置在FPGA裝置I/O單元的附近,以盡量減少布線延時的影響。該I/O單元只有一個布線路徑為輸入數據信號,因此在數據總線的每一部分都存在數據路徑延遲。FPGA的PLL也被用來進行適當的時鐘控制,并通常有幾種可能的從輸入焊盤到捕捉寄存器的路徑。制造商通過控制特定的屬性,使PLL的特點包括相位偏移,相乘,或相除等因素,無論是原始示例的設計代碼或約束都可以帶入模塊。因此,時鐘和數據路徑的布線和延誤必須確定,以實現適當的時鐘相位偏移。

          

        圖5:TimingDesigner軟件為FPGA設計流程提供直觀的界面。

          圖5:TimingDesigner軟件為FPGA設計流程提供直觀的界面。

          在FPGA的最初布局和布線完成后,時序報告提供數據總線中每個時序的詳細延時信息。如果有必要,可為FPGA開發系統的關鍵信號設定延時路徑,TimingDesigner軟件可以提取相關信息和利用圖表更新。在這個設計實例中,我們需要輸入數據總線和相關時鐘信號的時序報告。

          導入布線后的時序到TimingDesigner軟件中

          導入FPGA的時序報告信息,我們需要規劃最壞的情況從而確定在圖表(Q_FPGA)中相關的波形圖。信號設計規范定義在同一個時序圖表中不能帶有同名的波形圖。通過規劃端口, TimingDesigner軟件可以過濾時序報告并提取有用的信息。這些規劃被存儲在圖表文件內并可預先解決的布局和布線

          提供可視化的捕捉寄存器

          從導入時序報告文件開始, TimingDesigner軟件為關鍵信號延時創建變量,并在電子數據表中規劃和分配這些信號端口。變量過去是用來在時序圖中更新時鐘與數據關系。現在,可確定在FPGA器件內捕捉寄存器中的邊緣關系。

          內部寄存器建立和保持是從時序報告和相關的約束中提取所需的時序。下一步,在時序圖表中添加另外兩個信號和偏移時序報告中的布線延時;在捕捉寄存器中添加數據和時鐘,然后建立和保持FPGA器件適用的約束。用時鐘邊緣和數據窗口邊緣的補償確定必要的相位偏移,來平衡設計中的數據窗口。

          平衡有效數據窗口

          我們可以使用下列公式來確定PLL時鐘信號產生的相位偏移:

          1、從設計的實際有效數據窗口減少FPGA裝置I/O部分的最小有效數據窗口,然后結果除于2,實際結果為這2個有效數據窗口的差額(DlyDVW)。(參考圖3)

          DlyDVW=(DVWdata-DVWdev)/2

          2、I/O寄存器數據建立時間加上DlyDVW值,就確定了相對時鐘邊緣的有效數據窗口(DlyRelSU)。

          DlyRelSU=DlyDVW+IOEsu

          3、最后,從相對建立時間(上面第2步得到的數值),減去時鐘信號與捕捉寄存器的有效數據窗口(從時序圖測量)之間的補償。

          Clk_offset=DlyRelSU-EdgeOffset

          利用上述公式,我們可以確定FPGA開發系統中PLL的相位偏移量,并執行到下一步的布局和布線。

          驗證結果

          再次導入做過以上修改的布線后時序文件,TimingDesigner軟件會自動更新需要的數值,并更正及重新定位I/O單元的時鐘信號CQ_intPLL。如圖6所示。依靠改變PLL,確切的平衡建立和保持空余將是不可能的。對于這些情況下,應該在FPGA裝置的PLL中獲取平衡增量以解決這個

          

          圖6:在改變時鐘和平衡建立及保持空余后,獲取數據分析的時序圖表。

          五、綜述

          高速設計往往有嚴格的規范和嚴謹的發布時間表,所以需要一個交互式的時序規劃和分析工具,來獲得快速和完整的時序空余,以分析并解決可能影響到最終設計成功的因素。本文說明了利用TimingDesigner軟件對FPGA設計流程進行準確地捕捉和交換時序信息,以幫助在整個設計過程中時序空余,并提供可視化的界面驗證設計,并預測設計性能。今天的FPGA器件產品都帶有多功能的時鐘配置和豐富的I/O資源,并且帶有高數據傳輸能力,TimingDesigner軟件為高速存儲器如DDR QDR SRAM提供精確的關鍵路徑時序分析功能。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 湟中县| 阆中市| 郧西县| 桃园市| 罗甸县| 普宁市| 托克托县| 康乐县| 沈阳市| 泸西县| 大化| 庄河市| 中阳县| 闽侯县| 黄山市| 招远市| 巴林左旗| 讷河市| 天镇县| 巩留县| 元阳县| 孝昌县| 建阳市| 临洮县| 叙永县| 新乡市| 太仆寺旗| 三穗县| 仙居县| 金塔县| 湖北省| 柳河县| 钟祥市| 鲁甸县| 城步| 南乐县| 资中县| 蒙自县| 哈密市| 博野县| 晋中市|