當前位置:首頁 > 工業(yè)控制 > 電子設(shè)計自動化
[導(dǎo)讀]摘要:本文提出了一種基于USB接口的FPGA SelectMap配置方式的實現(xiàn)方案。方案以大容量Spartan3 FPGA作為配置目標,選用Cypress EZ-USB FX2LP作為USB設(shè)備芯片,采用其內(nèi)置的端點FIFO和GPIF狀態(tài)機實現(xiàn)了一個高性能的配置數(shù)

摘要:本文提出了一種基于USB接口的FPGA SelectMap配置方式的實現(xiàn)方案。方案以大容量Spartan3 FPGA作為配置目標,選用Cypress EZ-USB FX2LP作為USB設(shè)備芯片,采用其內(nèi)置的端點FIFO和GPIF狀態(tài)機實現(xiàn)了一個高性能的配置數(shù)據(jù)傳輸通道,并設(shè)計了USB廠商請求來控制配置進程。方案具有配置靈活、成本低、速度快、實現(xiàn)簡單的特點,目前已在很多軟件無線電項目中得到應(yīng)用,具有很強的實用性。

1. 引言

FPGA 器件結(jié)合了ASIC 的高性能和微處理器的靈活,不僅擁有豐富的邏輯資源,而且可以進行方便靈活的配置。主動配置方式盡管配置速度快、實現(xiàn)簡單,但并未發(fā)揮FPGA 配置靈活的特點,適合于FPGA 用作單一應(yīng)用的場合,并且大容量的配置芯片及其占用的電路板面積也帶來了較高的成本;被動配置方式需要使用外部控制單元產(chǎn)生配置時序,實現(xiàn)一般較為復(fù)雜,而且在目前常見的方案中,常由于接口速率限制[1]或者采用微處理器介入數(shù)據(jù)傳輸?shù)仍?,而造成配置速度不高。USB2.0 協(xié)議在目前PC 外設(shè)的接口方案中非常流行,它支持高速率、多管道、多類型的數(shù)據(jù)傳輸,可以方便的構(gòu)建出高性能的數(shù)據(jù)傳輸通道和靈活的控制通道。

本文提出了一種基于 USB 接口的FPGA SelectMap(并行被動)配置方式的實現(xiàn)方案,不但具有被動配置靈活、設(shè)計成本低的特點,而且實現(xiàn)簡單、配置快速。方案以Xilinx Spartan3系列目前最大容量的500 萬門FPGA(XC3S5000)作為配置目標,選用Cypress EZ-USBFX2LP 作為USB 設(shè)備芯片,并使用其內(nèi)部的大容量端點FIFO,在GPIF 狀態(tài)機的控制下,實現(xiàn)了一個高性能的配置數(shù)據(jù)傳輸通道。配置的進程則由設(shè)計的USB 請求來控制。此配置方案具有開發(fā)簡單、配置成本低、速度快、使用靈活的特點,具有很強的實用性。

2. 系統(tǒng)的總體設(shè)計

如圖 1 所示,系統(tǒng)使用USB 通道連接上位機和EZ-USB。EZ-USB 是一塊高速USB 外設(shè)芯片,它支持USB 協(xié)議所描述全部四種傳輸模式,并擁有1 個64Byte 的控制傳輸專用端點、2 個緩存為64Byte 的普通端點和4 個緩存最大可達1KB、并可以進行四倍緩沖的大端點。本設(shè)計方案使用了一個控制端點(端點0)和一個大端點(端點2)傳輸數(shù)據(jù)。其中控制端點是所有USB 設(shè)備所必備的,它用于在設(shè)備枚舉時傳輸USB 請求和相關(guān)數(shù)據(jù),在本設(shè)計中,控制端點還用來傳輸專門設(shè)計的USB 廠商請求來控制配置進程、獲取配置狀態(tài)。大端點用來傳輸配置數(shù)據(jù),由于配置數(shù)據(jù)需要及時、無誤的傳輸,因此使用可以同時保證傳輸準確性和最大延時的中斷傳輸方式,并設(shè)置端點緩存為1KB、做4 倍緩沖,最大傳輸間隔為一個微幀(125us),且每個傳輸間隔內(nèi)傳輸3 個有效載荷為1KB 的包(最后一個包的載荷可能小于1KB),這樣配置數(shù)據(jù)在USB 通道中的傳輸速率可達到3*1KB*(1/125us)=24000KB/s。


數(shù)據(jù)從端點轉(zhuǎn)移到外設(shè)(FPGA)的過程中,如果使用USB 設(shè)備芯片內(nèi)嵌的8051 MCU進行轉(zhuǎn)移的話,最快8 個時鐘周期才能傳輸一個字節(jié)的數(shù)據(jù)[2],在8051 的時鐘周期為48MHz情況下,傳輸速度為6MB/s,遠小于USB 通道的傳輸速率,會成為瓶頸而無法發(fā)揮出USB傳輸通道高傳輸速率的優(yōu)勢;而如果通過位寬為8bit 的 FIFO 來傳輸?shù)脑?,最快情況下,每時鐘周期都可以傳輸一個字節(jié)數(shù)據(jù)[2]。在EZ-USB 中,大端點的緩存可以作為端點FIFO 直接連接FPGA 的配置數(shù)據(jù)輸入口形成高速傳輸通道,端點FIFO 的讀寫時序可由EZ-USB 內(nèi)嵌的GPIF(General Programmable Interface)產(chǎn)生,MCU 可以不參與端點到FPGA 的數(shù)據(jù)轉(zhuǎn)移,只起到配置和控制的作用,在FIFO 位寬為8bit,GPIF 時鐘頻率為48MHz 的情況下,傳輸速率為48MB/s,這樣數(shù)據(jù)從端點到FPGA 的傳輸速度超過了上位機到端點的USB 中斷傳輸管道的最大速度,不對USB 傳輸通道構(gòu)成瓶頸。


3. 配置時序的發(fā)生

配置數(shù)據(jù)需要在配置時序的配合下寫入 FPGA。GPIF 是一個可編程的狀態(tài)機,它可以采集5 個輸入引腳(RDY)的狀態(tài),并通過5 個輸出引腳(CTL)對外產(chǎn)生任意時序,因此可用來產(chǎn)生FPGA 的配置時序。表1 說明了FPGA 在SelectMap 模式下各配置引腳的作用,如圖1 所示,CCLK 連接EZ-USB 提供的界面時鐘IFCLK,D[7:0]連接端點FIFO,其它配置引腳連接著GPIF 狀態(tài)機的RDY 及CTL 引腳。為了確保各引腳的輸入有充足的建立時間供FPGA 采樣,F(xiàn)PGA 的時鐘輸入應(yīng)與GPIF 的內(nèi)部時鐘倒相。

根據(jù)配置時序所設(shè)計的 GPIF 狀態(tài)機的狀態(tài)轉(zhuǎn)移圖如圖2 所示。配置時鐘為48MHz,所以PROG 低脈沖要維持25 個時鐘周期,狀態(tài)機會根據(jù)端點FIFO 的空滿狀態(tài)控制FPGA 的CS 引腳,確保FPGA 在FIFO 有配置數(shù)據(jù)輸出的情況下進行數(shù)據(jù)采樣,數(shù)據(jù)輸出在字節(jié)計數(shù)達到FPGA 配置比特流文件的字節(jié)數(shù)值時停止,500 萬門的XC3S5000 為13271936 bit。



4. 系統(tǒng)軟件的設(shè)計

4.1 EZ-USB 固件程序設(shè)計

EZ-USB 的固件框架如圖3 所示,Cypress 為大部分模塊提供了完整的代碼,本設(shè)計需要編寫的模塊有TD_Init,TD_Poll 和USB 請求解析模塊。TD_Init 模塊僅執(zhí)行一次,作用是設(shè)置端點和GPIF 傳輸界面,以及將端點2 緩存的控制權(quán)交給邏輯單元使得邏輯單元可以將總線上收到的數(shù)據(jù)包裝入緩存。TD_Poll 模塊會反復(fù)執(zhí)行,作用是在端點2 的緩存填入數(shù)據(jù)包后,開啟GPIF 狀態(tài)機,將FIFO 內(nèi)的配置數(shù)據(jù)寫入FPGA。USB 請求解析模塊需要解析本方案設(shè)計的2 條USB 廠商請求,0xB1 和0xB2,它們用于配置初始化和查詢配置狀態(tài)。


4.2 上位機程序設(shè)計

由于 Cypress 已提供USB 設(shè)備驅(qū)動,因此上位機程序只需要獲得了一個至 USB 設(shè)備驅(qū)動程序的句柄,打開包含配置代碼的文件并對其進行語法分析,在 USB 中斷傳輸?shù)拿看握{(diào)用過程中傳送取自配置文件的1024 字節(jié)發(fā)送出去,這一過程將繼續(xù)下去,直到配置文件中沒有剩余字節(jié)為止。

5. 配置性能的實際測試

配置數(shù)據(jù)傳輸?shù)钠款i在 USB 傳輸通道,而采用中斷端點時,USB 傳輸通道的速度極限值應(yīng)為24000KB/s,對于500 萬門的XC3S5000 而言,傳輸13271936bit 配置數(shù)據(jù)的理論時間約為527.4ms。

對配置時間進行的實際測試中,使用500 萬門的XC3S5000 作為配置對象,使用測量精度為10ms 的碼表測量從送出配置文件到FPGA 的Done 引腳所連接的LED 點亮的時間差,經(jīng)測量,配置實際使用時間為540ms??紤]到MCU 判斷端點緩存和開啟標志,以及開啟狀態(tài)機所用時間,實測值比理論值多出的時間是合理的。

6. 結(jié)論

采用 Cypress EZ-USB 及其內(nèi)置的GPIF 狀態(tài)機對大容量FPGA 進行 SelectMap 方式配置的方案,不僅具有被動配置方式靈活性高的優(yōu)點,而且因為不需要大容量配置存儲器、同時可以節(jié)約電路板空間,所以實現(xiàn)成本較低。另外Cypress 完善的開發(fā)工具也使得方案的實現(xiàn)非常簡單。經(jīng)過實際測試,本方案的配置速度非???,對于大規(guī)模FPGA 配置時間也能在一秒之內(nèi)完成,因此本方案具有很好的實用價值。

本文作者創(chuàng)新點:設(shè)計了一種針對大規(guī)模FPGA 的實用配置方案,配置方式靈活、配置、速度快、配置成本低、系統(tǒng)開發(fā)簡單。



來源:過往煙云0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉