將ARM AXI4用于FPGA 把恒星裝入瓶中
同時,ADC 以 DDR 格式提供數(shù)據(jù),即數(shù)據(jù)在時鐘上升沿和下降沿均有效。要把這些數(shù)據(jù)恢復(fù)為單數(shù)據(jù)速率 (SDR),需要使用被硬連線在 I/O 焊盤上的 IDDR 原語。它有一個單數(shù)據(jù)引腳輸入,兩個數(shù)據(jù)引腳輸出。我們使用 SAME_EDGE_PIPELINED 屬性,保證數(shù)據(jù)同時在兩個引腳上都有效,這樣可以減少其它邏輯。這樣做會增加一個時延周期,但對我們來說這點時延可以接受。
本文引用地址:http://www.ex-cimer.com/article/127296.htm賽靈思架構(gòu)另一個對我們有幫助的功能是 FPGA 夾層卡 (FMC) 接插件。嚴格地說,這并非是 FPGA 的一項特有功能,而是 FPGA 板的一項特有功能。即便如此,經(jīng)實踐證明這是一項非常有用的功能,能夠與 Virtex-6 有效配合。FMC 接插件包含高頻時鐘引腳,可以連接到 ML605 板上 Virtex-6 的時鐘功能引腳上。這樣可以通過 FMC 把時鐘信號發(fā)送到 FPGA 中。這種做法的優(yōu)勢在于我們只需要一個時鐘進入點。
使用賽靈思工具套件
賽靈思提供了許多有助于 FPGA 系統(tǒng)開發(fā)的工具。我們用過的不在少數(shù)。
我們使用項目瀏覽器進行手動 VHDL 和 Verilog 編碼。此外,可以利用其圖形界面生成“原理圖”,用于可視化地創(chuàng)建邏輯。不過我們發(fā)現(xiàn)項目瀏覽器是一個底層工具,雖然我們可以輕松地完成觸發(fā)器(單數(shù)位)運算,但擴展到更大數(shù)位的運算就會變得相當(dāng)復(fù)雜。我們發(fā)現(xiàn) 項目瀏覽器對底層時鐘設(shè)計最有用。它能夠讓我們準確地控制由哪個時鐘驅(qū)動特定的邏輯。
對于高級邏輯設(shè)計,我們使用系統(tǒng)生成器。它特別適用于邏輯由單一時鐘頻率驅(qū)動的設(shè)計(但不局限于這種情況)。系統(tǒng)生成器使用簡單,能夠訪問大量 IP 核,比如 FFT、除法器生成器和濾波器。另外,可以把邏輯輕松地連接到 MicroBlaze 處理器中,用作讀/寫寄存器和共享存儲器。該工具能夠自動創(chuàng)建外設(shè)核心 (PCore),并將其添加到 XPS 項目中。
我們使用 CORE Generator™ 調(diào)節(jié) ADC FIFO 的參數(shù)。FIFO 必須是 256 位寬度,寫入時鐘125MHz,讀取時鐘 200MHz。我們把最后生成的 NGC 文件導(dǎo)入到 XPS 中用作 PCore。我們通過創(chuàng)建必要的 .mpd、.pao 和 .bbd 文件來手動完成這項工作。
Impact 工具可以幫助我們對 FPGA 編程,還能生成 SystemACETM 文件,用于將固件永久存入壓縮閃存 (CompactFlash) 中。壓縮閃存的工作非常可靠,但值得注意的是它會給我們的系統(tǒng)提出一項額外的要求(見下面的 SDK 一段)。
由于我們需要在我們的系統(tǒng)中植入 MicroBlaze 處理器,因此我們需要可創(chuàng)建該處理器系統(tǒng)的工具,即賽靈思 Platform Studio。XPS 是一種全面的工具套件,可以讓用戶創(chuàng)建以處理器為中心的系統(tǒng)。在它的幫助下,用戶可以借助向?qū)斫⑺璧逆溄?。用戶還可以使用 Create IP 向?qū)е踩胗?CORE Generator 生成的 IP 核。它現(xiàn)在還包含高性能 AXI4 片上互聯(lián)。
最后,我們使用賽靈思軟件開發(fā)套件 (SDK) 來開發(fā)運行在處理器上的程序。實際上,開始的時候我們只需要運行一個程序,就是 SREC 引導(dǎo)程序。由于壓縮閃存使用的是 FAT 文件系統(tǒng),所以用于訪問 SREC 程序(也在閃存上)的庫文件會使生成的可執(zhí)行文件變大。我們需要停止調(diào)試,進行優(yōu)化,并使用“mbstrip –g ”作為編譯后命令,來縮小文件的大小。即使完成所有這些步驟后,我們得到的仍然是一個比較大的 91Kb 的可執(zhí)行文件。因此,我們必須增加內(nèi)部 BRAM,才能使用這樣大小的可執(zhí)行文件初始化比特流。
另一個需要解決的問題是 Virtex-6 的編譯時間太長。賽靈思的軟件 PlanAheadTM 能夠有力地幫助解決這個問題。我們準備讓 PlanAhead 發(fā)揮出極致,來縮短編譯時間。
我們對新型 Zynq™-7000 可擴展處理平臺的新功能感到歡欣鼓舞(見第 75 期 Xcell 雜志的封面報道)。不過,Zynq 是否會淘汰 MicroBlaze,還是 MicroBlaze 能夠憑借其自身的軟特性和 10 余年的開發(fā)基礎(chǔ)繼續(xù)生存下去,都還有待觀察。將來的緩存一致型多處理器 MicroBlaze 系統(tǒng)能否超越 ARM® 雙核 CortexTM-A9 MPCoreTM 的性能呢?Zynq 或MicroBlaze 的物理地址擴展能否促成地址空間超過 32 位的更強大的系統(tǒng),從而實現(xiàn) 4Gb以上的 RAM 呢?我們只需等待,看時間如何回答這個問題。
尖端系統(tǒng)
最后,我們采用最先進的賽靈思技術(shù),開發(fā)出了一套在 FPGA 領(lǐng)域中處于尖端地位的全功能數(shù)據(jù)采集系統(tǒng)(見圖 5)。它的實時采集速度可達 10Gbps(或者 80Gbps),而最后的成本只有不足 1.5 萬美元。我們希望這項技術(shù)能夠用于世界上最大的聚變實驗項目,比如 ITER 項目(圖 6)。
圖 6:該 ITER 托卡馬克裝置目前正在法國南部建造,建成后能夠產(chǎn)生 500 兆瓦巨變能,可為聚變電站的建立打下堅實的基礎(chǔ)。
聚變能是人類試圖克服的最艱巨的技術(shù)挑戰(zhàn)之一。FPGA 憑借其在各個方面獨特的優(yōu)勢,正在幫助我們攻克這個難題。我們的聚變研究設(shè)備使用最先進的 AXI4 互聯(lián)技術(shù)和賽靈思工具流程,通過融合 Virtex-6 FPGA 的性能優(yōu)勢,能夠在小巧緊湊的系統(tǒng)上實現(xiàn)極高的數(shù)據(jù)率。
這個新網(wǎng)站(http://fusion.phys.tue.nl/fpga/doku.php)將成為溝通思路和交換材料的絕佳場所,可幫助人們更好地將 FPGA 技術(shù)應(yīng)用于聚變設(shè)備的開發(fā)。
評論