Xilinx FPGA的Fast Startup
在眾多當代應用中,嵌入式系統必須滿(mǎn)足極其苛刻的時(shí)序要求。其中之一就是啟動(dòng)時(shí)間——即上電后電子系統進(jìn)入可操作狀態(tài)所需要的時(shí)間。PCI Express產(chǎn)品或汽車(chē)應用中基于CAN的電子控制單元(ECU)就是具有嚴格時(shí)序要求的電子系統的應用實(shí)例。
本文引用地址:http://dyxdggzs.com/article/125814.htm標準PCI Express(PCIe)系統上電后僅100毫秒,系統的根組件就開(kāi)始掃描總線(xiàn)以便弄清拓撲結構,并在這一過(guò)程中進(jìn)行初始化配置。 如果PCIe設備沒(méi)有準備好響應配置請求,根組件就找不到此PCIe設備,并認為它不存在。該設備將無(wú)法加入PCIe總線(xiàn)系統。[1]
汽車(chē)應用中的情形與此大體相仿。在基于CAN的網(wǎng)絡(luò )中,ECU進(jìn)入睡眠模式,這時(shí)它們將停止運行并切斷電源連接。只有很少部分電路仍然保持戒備狀態(tài),以便探測喚醒信號。一旦出現喚醒事件,ECU就會(huì )重新連接電源并開(kāi)始引導。雖然在喚醒事件后的頭一個(gè)100 毫秒內允許錯過(guò)一些消息,但在此之后所有ECU都必須在網(wǎng)絡(luò )(如CAN網(wǎng)絡(luò ))上做好充分的運行準備。
Xilinx Automotive、Xilinx研究實(shí)驗室以及德國卡爾斯魯厄技術(shù)研究所之間合作展開(kāi)了深入的研發(fā)工作,正在設法通過(guò)一種FPGA兩步配置方法解決這一問(wèn)題。
半導體行業(yè)的科技趨勢已經(jīng)能使FPGA廠(chǎng)家大大增加其器件中的資源。但比特流規模也在成比例地增長(cháng),配置器件需要的時(shí)間也是如此。因此,即使對于中等規模的FPGA,使用低成本配置方案也不可能滿(mǎn)足嚴格的啟動(dòng)時(shí)序要求。圖1表示不同的Xilinx® Spartan®-6 FPGA器件在使用低成本SPI/Quad-SPI配置接口時(shí)的配置時(shí)間。即使使用快速配置方案(即在40 MHz配置時(shí)鐘下運行的Quad-SPI),也只有小型FPGA器件才能達到100 毫秒的啟動(dòng)時(shí)序要求。對于Xilinx Virtex®-6器件來(lái)說(shuō),這個(gè)結果看來(lái)更具挑戰性,因為這些器件提供了更豐富的FPGA資源。
為了克服這個(gè)難題,Fast Startup分兩步配置FPGA器件,而非單步(整片)的全器件配置。按照這種新穎的思路,我們的策略是在上電時(shí)使用最高優(yōu)先級比特流僅載入時(shí)序關(guān)鍵模塊,然后再載入非時(shí)序關(guān)鍵模塊。這種方法最大程度地減少了初始配置數據,從而最大程度地減少了在面向時(shí)序關(guān)鍵設計的FPGA器件啟動(dòng)時(shí)間。
FAST STARTUP對比部分重配置
Fast Startup允許FPGA設計盡快啟動(dòng)設計的關(guān)鍵模塊,關(guān)鍵模塊的啟動(dòng)速度比標準全配置方法要快得多[2]。雖然,從本質(zhì)上來(lái)講Fast Startup利用了部分重配置,但它與這種方法的傳統概念所有不同。部分重配置的初衷是將完整設計作為可在運行時(shí)修改的初始配置使用。相反,Fast Startup已經(jīng)使用了一個(gè)初始的部分比特流,以在上電時(shí)僅僅配置FPGA器件的一個(gè)特定(很小的一部分)區域。第一次配置僅包含完整FPGA設計中必須配置和快速運行的那些部分。而剩下的部分則在以后、在運行時(shí),利用部分重配置進(jìn)行配置。圖2說(shuō)明了這一順序概念。
工具流程概述
Fast Startup的工具流程依靠設計保存流程,來(lái)創(chuàng )建針對時(shí)序關(guān)鍵子系統及非時(shí)序關(guān)鍵子系統的部分比特流。
設計保存流程將FPGA設計分割為邏輯模塊(稱(chēng)為“分區”)。分區構成了層次邊界,將內部模塊與設計中的其他組件相互隔離。分區一旦實(shí)現(即完成布局和布線(xiàn)),就能被其他實(shí)現運行導入,以按照每個(gè)實(shí)例中完全相同的方式實(shí)現該分區的模塊[3]。
因此,使用Fast Startup方法的第一步是將完整的FPGA設計分成兩部分:即含有時(shí)序關(guān)鍵子系統的高優(yōu)先級分區和針對其余組件的低優(yōu)先級分區。

圖1-計算出的Spartan-6配置時(shí)間的對數表示(按最壞情況計算)

圖2 – Fast Startup概念:順序配置
評論