<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用 Platform Flash PROM 實現(xiàn)多重啟動功能

          利用 Platform Flash PROM 實現(xiàn)多重啟動功能

          作者: 時間:2007-09-12 來源:網(wǎng)絡(luò) 收藏
          提要

          一些應(yīng)用利用 Xilinx FPGA 在每次啟動時可改變的能力,根據(jù)所需來改變 FPGA 的功能。Xilinx Platform Flash XCFxxP PROM 的設(shè)計修訂 (Design Revisioning) 功能,允許用戶在單個PROM 中將多種存儲為不同的修訂版本,從而簡化了 FPGA 更改。在 FPGA 內(nèi)部加入少量的邏輯,用戶就能在 PROM 中存儲的多達四個不同的修訂版本之間進行切換。多重啟動或從多個設(shè)計修訂進行重新配置的能力,與 Spartan-3E FPGA 和第三方并行 flash PROM 一起使用時所提供的 MultiBoot 選項相似。

          本應(yīng)用指南將進一步說明 Platform Flash PROM 如何提供附加選項來增強配置失敗時的安全性,以及如何減少引腳數(shù)量和板面積。此外,Platform Flash PROM 還為用戶提供其他優(yōu)勢:iMPACT 編程支持、單一供應(yīng)商解決方案、低成本板設(shè)計和更快速的配置加載。

          本應(yīng)用指南還詳細(xì)地介紹了一個包含 VHDL 源代碼的參考設(shè)計。

          簡介

          與 FPGA 少量的內(nèi)部邏輯結(jié)合,Platform Flash PROM 可方便地支持需要選擇多種 FPGA配置或修訂版本(即多重啟動)的應(yīng)用。利用 Xilinx Platform Flash 的 設(shè)計修訂功能和 FPGA少量的內(nèi)部邏輯,即可實現(xiàn)多重啟動。該示例為需要多重啟動功能的應(yīng)用,此時 FPGA 需要同時支持一般功能和診斷功能(圖1)。在這種情況下,F(xiàn)PGA 使用診斷應(yīng)用啟動以進行板級測試。如果測試成功,F(xiàn)PGA 就通過第二個包含正常工作所需的一般功能配置鏡像的比特流觸發(fā)重配置。一般的 FPGA 應(yīng)用設(shè)計用于進行重配置,以便隨時按需重新加載診斷應(yīng)用。


          圖1 所示的示例中,默認(rèn)配置作為修訂版本 1 而存儲到 PROM 中。此默認(rèn)配置在系統(tǒng)復(fù)位時加載。當(dāng)多重啟動被觸發(fā)時,F(xiàn)PGA 將使用存儲在 PROM 中的配置鏡像(修訂版本 0)來自動重配置。

          注: Revision Select[1:0] 輸入有一個 50KΩ 的內(nèi)部上拉電阻接到 VCCO,在引腳未被驅(qū)動時,向器件提供邏輯 1。

          作為修訂版本 1 存儲的默認(rèn)配置可包含一個“最佳”或“失效安全型”配置鏡像,可用于與外界進行通信,檢查是否存在更新的配置鏡像。如果存在更新的配置鏡像,并且能夠通過驗證,那么最佳配置會觸發(fā)重配置來加載新的鏡像。

          注: 用戶能夠選擇使用存儲在多達 4 個修訂版本位置的任意一個配置鏡像,來重配置 FPGA。

          設(shè)計修訂設(shè)計修訂允許用戶在單個 PROM 或多個級聯(lián)的 PROM 中存儲多達 4 個不同的配置鏡像(圖2)。與動態(tài)重配置結(jié)合,Platform Flash PROM 的設(shè)計修訂能力就能創(chuàng)建多重啟動應(yīng)用。

          利用設(shè)計修訂,每個配置鏡像都被存儲到一個特定的修訂版本位置(0 到 3),并且都能得到串行和并行輸出模式下的 8/16/32 Mbit XCFxxP Platform Flash PROM 的支持。利用 iMPACT 軟件能夠創(chuàng)建 PROM 編程文件和修訂版本信息文件 (.cfi)。稍后需要使用此 .cfi 文件實現(xiàn)設(shè)計修訂編程功能(詳情請參見 Xilinx ISE 8 軟件手冊)。


          在使用一系列配置鏡像對 Platform Flash PROM 進行編程后,可以通過外部 REV_SEL[1:0] 引腳或內(nèi)部可編程設(shè)計修訂控制位,來選擇一個存儲在特定版本位置的配置鏡像。

          EN_EXT_SEL 引腳決定是使用外部引腳還是內(nèi)部控制位來選擇設(shè)計修訂版本。當(dāng)
          EN_EXT_SEL 為低電平時,通過外部修訂版本選擇引腳 REV_SEL[1:0] 來選擇使用哪個修訂版本。當(dāng) EN_EXT_SEL 為高電平時,則通過內(nèi)部可編程的修訂版本選擇控制位來選擇相應(yīng)的修訂版本。

          注: 對于本應(yīng)用指南的與參考設(shè)計, EN_EXT_SEL 須置為低電平。

          上電時,由配置 PROM 的內(nèi)部邏輯對設(shè)計修訂版本選擇輸入(引腳或控制位)進行采樣。上電結(jié)束后,當(dāng) CE 置為低電平(啟用 PROM 輸入),則在 CF 脈沖的上升沿,將再次對設(shè)計修訂版本選擇輸入進行采樣。在此參考設(shè)計中, CE 接地,用戶將利用 FPGA 上的一個 I/O 來控制 CF,請參見第 5 頁“參考設(shè)計”。選中的設(shè)計修訂版本的數(shù)據(jù)會出現(xiàn)在 FPGA 配置接口上。此接口可以是 8 位 SelecMAP (并行)或串行的。詳情請參見 DS123,Platform Flash 在系統(tǒng)可編程配置 PROM。

          典型應(yīng)用

          要利用 Platform Flash PROM 實現(xiàn)多重啟動功能,需要對標(biāo)準(zhǔn) PROM 接口進行一些修改,并且在 FPGA (圖3)中嵌入少量控制邏輯。除下面這幾個不同之處外,大部分與配置 PROM 的標(biāo)準(zhǔn)連接保持不變:

          CE 必須與低電平相連,以確保 PROM 一直處于啟用狀態(tài)。在通常情況下, CE 與 DONE相連,以便在配置完成后禁用 PROM。

          CF 由 FPGA 內(nèi)部的多重啟動控制邏輯的一個輸出驅(qū)動,而不再像通常那樣連接到
          PROG_B。

          FPGA 的 PROG_B 引腳由多重啟動控制邏輯的一個輸出驅(qū)動。
          注: 該連接需要使用 FPGA 的一個用戶 I/O。

          REV_SEL 由多重啟動控制邏輯的輸出驅(qū)動。


          控制邏輯監(jiān)控 RESET,而 RESET 可復(fù)位控制邏輯狀態(tài)機和多重啟動觸發(fā)器(圖3 中的 MB 觸發(fā)器)。每個狀態(tài)間的時序非常關(guān)鍵;如果要確保成功進行重配置,就需要仔細(xì)觀察一些建立和保持時間。這里給出了一個經(jīng)過充分驗證的控制邏輯設(shè)計,可以滿足這些時序約束條件(請參見第 5 頁“參考設(shè)計”)。

          硬件接口

          要啟用多重啟動功能,F(xiàn)PGA 的一個輸出控制 PROM 上修訂版本選擇引腳的采樣。該信號與PROM 上 的 CF 輸入相連。當(dāng) PROM 檢測到 CF 上的一個上升沿時,就開始對修訂版本選擇引腳進行采樣。修訂版本選擇引腳 REV_SEL[1:0],由 FPGA 的其他輸出驅(qū)動,他們可控制由哪個修訂版本來為 FPGA 提供配置數(shù)據(jù)。修訂版本選擇引腳至少要在采樣被觸發(fā)前 300 ns 時被設(shè)置好,(請參考 Platform Flash 在系統(tǒng)可編程配置 PROM)。CF 變?yōu)楦唠娖街?,F(xiàn)PGA 內(nèi)部的多重啟動邏輯模塊將一個與 PROG_B 相連的輸出驅(qū)動至低電平,并保持 300 ns,以觸發(fā)重配置。配置完成后,F(xiàn)PGA 將按照選中的那個修訂版本來工作。

          第 4 頁圖4 和表1 說明 FPGA 用于與 SelectMAP 模式下的 Platform Flash PROM 接口的配置信號。





          參考設(shè)計

          本應(yīng)用指南中所描述的參考設(shè)計,使用 Platform Flash PROM 中存儲的修訂版本實現(xiàn)了加載多重啟動配置數(shù)據(jù)所需的控制邏輯。在 FPGA 內(nèi)部實現(xiàn)的控制邏輯包含一個狀態(tài)機,用來選擇設(shè)計修訂版本和對 FPGA 進行動態(tài)重配置。多重啟動控制邏輯設(shè)計成一個單獨的模塊,以方便地集成到設(shè)計中。使用該模塊時,用戶須建立適當(dāng)?shù)倪B接,并在主應(yīng)用中插入邏輯,以便在觸發(fā)動態(tài)重配置過程之前,設(shè)置和保持 REV_SEL 引腳。

          本應(yīng)用指南中所描述的參考設(shè)計,可從以下站點下載:
          http://www.xilinx.com/cn/xlnx/xweb/xil_publications_display.jsp?category=Application+No
          tes/Device+Configuration+and+Programming/FPGA+Configuration
          show=xapp483.pdf

          控制邏輯狀態(tài)機

          控制邏輯狀態(tài)機包含三個狀態(tài):

          狀態(tài) 0

          一上電,F(xiàn)PGA 就從初始狀態(tài)(未畫出)進入狀態(tài) 0,以便對設(shè)計中使用的變量或信號進行置位/ 復(fù)位。收到來自主 FPGA 設(shè)計的動態(tài)重配置的觸發(fā)信號后,狀態(tài)機從狀態(tài) 0 進入狀態(tài) 1。

          狀態(tài) 1

          在控制邏輯將一個低電平信號驅(qū)動到 PROM 上的 CF 引腳上,并將主應(yīng)用設(shè)置好的修訂版本傳至 PROM 的 REV_SEL[0:1] 引腳。

          在達到指定的 REV_SEL 建立時間后 (300 ns),狀態(tài)機進入狀態(tài) 2。

          注: 對于使用 XCF16P PROM 或只需兩個修訂版本位置的設(shè)計,多重啟動控制邏輯模塊的 Rev_sel[1] 輸入必須接地,并且 PROM 的 REV_SEL[1] 也必須與地相連,以確保對 FPGA 進行適當(dāng)?shù)呐渲谩?BR>
          狀態(tài) 2

          一旦進入狀態(tài) 2,狀態(tài)機就將一個高電平信號和一個低電平信號分別驅(qū)動至 PROM 的 CF 輸入和 FPGA 上的 PROG_B 引腳上。300 ns 后,重配置開始,F(xiàn)PGA 開始對配置存儲器重新進行初始化。一旦 INIT_B (在與 PROM 上 OE/RESET 相連的 FPGA 上)變?yōu)楦唠娖?,F(xiàn)PGA 即已準(zhǔn)備好接收數(shù)據(jù)。PROM 將存儲在被選中的修訂版本中的配置數(shù)據(jù)發(fā)送到 FPGA 中。重配置完成后,F(xiàn)PGA 配置邏輯就通過將 DONE 引腳置為高電平來發(fā)出信號。隨后,狀態(tài)機回到狀態(tài)0。

          注: 本應(yīng)用指南假設(shè)每個修訂版本都包含有多重啟動控制邏輯的例示。實際上,狀態(tài) 2 下 PROG_B 變?yōu)榈碗娖胶螅?00 ns 后),配置存儲器包括狀態(tài)機都會被擦除。因此,狀態(tài)機實際上不會從狀態(tài) 2 回到狀態(tài) 0,而是在狀態(tài) 2 中就停止工作。重配置和初始化 FPGA 之后,新配置中的多重啟動控制邏輯例示將再次進入狀態(tài) 0。

          參考設(shè)計中所使用的狀態(tài)機的狀態(tài)圖如圖5 所示。


          優(yōu)勢這里所描述的多重啟動解決方案的主要優(yōu)勢有:

          進行重配置時不需要其他器件。該解決方案僅需要一個 Platform Flash XCFxxP PROM 和一個 FPGA,而大多數(shù)重配置設(shè)計都需要另一個邏輯器件,如 CPLD。

          動態(tài)重配置 FPGA 的能力。只要不要求同時實現(xiàn)存儲在每個修訂版本位置上的功能,用戶就能夠在同一個 FPGA 上實現(xiàn) 4 種完全不同的設(shè)計,從而有效地對 FPGA 資源進行分時操作。

          此外,多重啟動還能讓用戶利用 Platform Flash PROM 的優(yōu)勢:

          集成式 iMPACT 編程支持。在系統(tǒng)可編程能力 (In-System Programmability) 可以在開發(fā)和驗證期間輕松修改設(shè)計。

          更快速的配置。Platform Flash PROM 在快速配置方面進行了優(yōu)化,可使用 x8 接口和 30ns 的配置

          所需的接口線路數(shù)量減少,降低了板成本。由于只需使用數(shù)據(jù)線,因此與并行的 NOR
          flash 存儲器相比,板上布線的信號數(shù)量被降至最低。主串行模式下的配置能夠節(jié)省更多的引腳,僅需 4 個引腳就能配置 FPGA。

          單一供應(yīng)商支持。客戶可以利用 Xilinx Platform Flash 和 Xilinx FPGA 獲得單一供應(yīng)商解決方案。

          了解 Platform Flash PROM 優(yōu)勢方面的更多信息,請訪問:
          http://www.xilinx.com/cn/products/silicon_solutions/proms/pfp/index.htm

          結(jié)論

          Xilinx Platform Flash XCFxxP PROM 使用戶在其設(shè)計中能夠?qū)崿F(xiàn)多重啟動功能。實現(xiàn)多重啟動功能最基本的條件就是 Platform Flash PROM 的設(shè)計修訂能力,它允許將多個 FPGA 配置存放到單個 PROM (Xilinx FPGA 系列所有產(chǎn)品均支持)。Platform Flash PROM 的設(shè)計修訂能力與動態(tài)重配置功能結(jié)合,就產(chǎn)生了功能強大的多重啟動。
          利用 Platform Flash PROM 易于實現(xiàn)多重啟動解決方案,可降低板成本,獲得iMPACT 編程支持,并且允許對 FPGA 進行快速配置。

          如欲了解更多賽靈思技術(shù)文檔,請訪問http://china.xilinx.com/china/documentation/


          關(guān)鍵詞: 動態(tài) 配置 時鐘 周期

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();