新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Xilinx-Spartan6 FPGA的MultiBoot設(shè)計(jì)的實(shí)現(xiàn)

基于Xilinx-Spartan6 FPGA的MultiBoot設(shè)計(jì)的實(shí)現(xiàn)

作者: 時(shí)間:2012-04-25 來(lái)源:網(wǎng)絡(luò) 收藏

摘要 介紹了Multibool的兩種實(shí)現(xiàn)方法。通過(guò)Xilinx Spartan-6 的Multiboot特性,允許用戶一次將多個(gè)配置文件下載入Flash中,根據(jù)不同時(shí)刻的需求,在不掉電重啟的情況下,從中選擇一個(gè)來(lái)重配置,實(shí)現(xiàn)不同功能,提高器件利用率,增加系統(tǒng)安全性,降低系統(tǒng)成本。
關(guān)鍵詞 ;Fallback;重配置

Xilinx公司出品的Spartan6系列所具有的特性,允許用戶在不掉電重啟的情況下,根據(jù)不同時(shí)刻的需求,有選擇地從存儲(chǔ)于Flash中的多個(gè)配置文件中加載其中的一個(gè),對(duì)FPCA在系統(tǒng)重配置,實(shí)現(xiàn)不同的功能。特性使得用戶可以在某些場(chǎng)合選擇較少邏輯資源的Xilinx FPGA,實(shí)現(xiàn)需要較大邏輯資源且較昂貴的FPGA或ASIC才能實(shí)現(xiàn)的功能,從而提高器件利用率及系統(tǒng)安全性、降低系統(tǒng)成本。

1 基本概念
Spartan-6 FPGA在上電時(shí)從片外Flash加載mcs文件進(jìn)行配置。根據(jù)所包含的bit流文件的個(gè)數(shù),mcs文件分為兩類(lèi):一類(lèi)是南單bit流文件生成的mcs文件,即該mcs文件中只包含一個(gè)bit流文件,用此類(lèi)mcs文件配置FPGA時(shí),只能實(shí)現(xiàn)一種功能;另一類(lèi)是由多個(gè)bit流文件生成的mcs文件,即該mcs文件包含多個(gè)bit流文件。用此類(lèi)mcs文件配置FPGA時(shí),可根據(jù)需求有選擇地加載其中的某個(gè)bit流文件對(duì)FPGA進(jìn)行系統(tǒng)重配置,即MultiBoot特性。
Spartan-6 FPGA擁有專(zhuān)用的MultiBoot邏輯配置模塊,來(lái)實(shí)現(xiàn)MultiBoot和Fallback操作。MultiBoot操作是在各配置bit流文件能正常加載的前提下,通過(guò)ICAP設(shè)置配置模塊中的相關(guān)寄存器并觸發(fā)IPROG命令,實(shí)現(xiàn)在不同配置bit流文件中的切換,達(dá)到FPGA實(shí)現(xiàn)不同功能的目的。Fallback操作是在從配置A切換到配置B的過(guò)程中出錯(cuò)時(shí),用另一個(gè)比較“安全”的bit流文件代替配置文件B配置FPGA的操作。這個(gè)比較“安全”的bit流文件稱為Golden。
FPGA的重配置操作,是通過(guò)專(zhuān)用的ICAP_SPARTAN6原語(yǔ)向配置模塊發(fā)送IPROG命令來(lái)實(shí)現(xiàn)的。重配置操作可由FPGA外部的處理器、微控制器、計(jì)算機(jī)和按鍵等“智能”終端觸發(fā)。在應(yīng)用設(shè)計(jì)中,只需在每個(gè)應(yīng)用程序中例化一個(gè)ICAP_SPARTAN6原語(yǔ)來(lái)實(shí)現(xiàn)相關(guān)命令序列即可實(shí)現(xiàn)MultiBoot特性。
Spartan6的多bit流配置可通過(guò)SPIx1,x2,x4及BPI模式實(shí)現(xiàn),文中只介紹基于SPI模式的MultiBoot特性的實(shí)現(xiàn),用配置文件代替應(yīng)用程序。

2 MultiBoot操作相關(guān)寄存器簡(jiǎn)介
(1)所有Spartan-6 FPGA的bit流控制命令都是通過(guò)讀寫(xiě)相關(guān)配置寄存器實(shí)現(xiàn)的。配置數(shù)據(jù)都是16位寬的字,也有一些數(shù)據(jù)是多字的,配置數(shù)據(jù)包含的3個(gè)主要命令如表1所示。

本文引用地址:http://butianyuan.cn/article/190467.htm

b.JPG


(2)所有的操作數(shù)據(jù)可分為兩種:
TYPE1包含兩部分:Header,Data。
TYPE2包含3部分:Header,Word Count,Data。
用TPYE1就能實(shí)現(xiàn)MultiBoot和Fallback操作,故只介紹TYPE1。TYPE1的Header是個(gè)16位字,用其中6位表示相關(guān)寄存器的地址,如表2所示。

c.JPG


其中Operation位[12:11]是表1中所列的操作碼,寄存器地址[10:5]如表4所示,字節(jié)數(shù)[4:0]表示操作所需的字節(jié)數(shù)。
TYPE1的數(shù)據(jù)部分形式如表3所示。

d.JPG


(3)Spartan-6 FPGA的MultiBoot常用配置寄存器及功能列表如表4所示。

e.JPG

fpga相關(guān)文章:fpga是什么



上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: Xilinx-Spartan MultiBoot FPGA

評(píng)論


相關(guān)推薦

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

關(guān)閉