<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 利用 Platform Flash PROM 實(shí)現多重啟動(dòng)功能

利用 Platform Flash PROM 實(shí)現多重啟動(dòng)功能

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

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

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

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

簡(jiǎn)介

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


圖1 所示的示例中,默認配置作為修訂版本 1 而存儲到 PROM 中。此默認配置在系統復位時(shí)加載。當多重啟動(dòng)被觸發(fā)時(shí),FPGA 將使用存儲在 PROM 中的配置鏡像(修訂版本 0)來(lái)自動(dòng)重配置。

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

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

注: 用戶(hù)能夠選擇使用存儲在多達 4 個(gè)修訂版本位置的任意一個(gè)配置鏡像,來(lái)重配置 FPGA。

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

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


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

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

注: 對于本應用指南的與參考設計, EN_EXT_SEL 須置為低電平。

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

典型應用

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

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

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

FPGA 的 PROG_B 引腳由多重啟動(dòng)控制邏輯的一個(gè)輸出驅動(dòng)。
注: 該連接需要使用 FPGA 的一個(gè)用戶(hù) I/O。

REV_SEL 由多重啟動(dòng)控制邏輯的輸出驅動(dòng)。


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

硬件接口

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

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





參考設計

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

本應用指南中所描述的參考設計,可從以下站點(diǎn)下載:
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)機包含三個(gè)狀態(tài):

狀態(tài) 0

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

狀態(tài) 1

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

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

注: 對于使用 XCF16P PROM 或只需兩個(gè)修訂版本位置的設計,多重啟動(dòng)控制邏輯模塊的 Rev_sel[1] 輸入必須接地,并且 PROM 的 REV_SEL[1] 也必須與地相連,以確保對 FPGA 進(jìn)行適當的配置。

狀態(tài) 2

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

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

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


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

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

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

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

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

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

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

單一供應商支持??蛻?hù)可以利用 Xilinx Platform Flash 和 Xilinx FPGA 獲得單一供應商解決方案。

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

結論

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

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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>