国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式軟處理器在硅IP開發(fā)中的驗證加速方法

2011-11-25 02:37:16
制造業(yè)自動化 2011年14期
關鍵詞:乘法器輸入輸出內(nèi)存

黃 梅

HUANG Mei

(樂山職業(yè)技術學院,樂山 614000 )

0 引言

在現(xiàn)代的集成電路設計過程中,常常使用“用磚頭,蓋房子”類似的方法來進行大規(guī)模項目的設計。硅IP模塊就是蓋房子用的“磚頭”?!按u頭”質(zhì)量的好壞,直接決定了整個集成電路設計的成敗。對于集成電路而言,在大多數(shù)情況下,任何小缺陷都會造成整個集成電路的失敗,因此在商業(yè)過程中,往往采用經(jīng)過市場驗證過的硅IP,或者經(jīng)過反復驗證該IP的可用性。驗證IP的質(zhì)量和性能,逐漸成為設計工作中價值最大,最耗費人力和才智的工作。隨著計算機軟件技術的進步,出現(xiàn)了許多計算機軟件工具用于提高設計的自動型,以避免人為錯誤。然而,由于摩爾定律的作用,集成電路上晶體管的成本在不斷下降,越是大型的設計可能反而性價比越高,迫使商業(yè)公司和其他機構(gòu)不斷往電路上加入更多更復雜的設計,來保持市場競爭力。在摩爾定律作用下,芯片成本線性降低,規(guī)模線性增長,但復雜度卻呈現(xiàn)指數(shù)上漲趨勢,導致原有的軟件設計工具越來越難以滿足需要。

1 目前軟件設計工具存在問題主要表現(xiàn)在以下方面

1)芯片的設計規(guī)模不斷翻番,但計算機的硬件性能卻不能同步增長;2)即使使用最先進的計算機硬件,但操作系統(tǒng)的能力又再次限制了系統(tǒng)的性能。主流的計算機操作系統(tǒng),從16位,到32位,到64位,三次跨越耗費了近30年時間,但芯片設計規(guī)模,仍然保持18個月就翻番。當前主流的操作系統(tǒng),其程序使用空間如WindowsXP 32bit和NT系統(tǒng),僅僅在2G~3G Byte之間,但千萬門級的設計,在現(xiàn)在已經(jīng)只能算中等規(guī)模設計,就是讀入這樣的設計,已經(jīng)讓當前的主流計算機系統(tǒng)狼狽不堪,仿真這樣的設計,幾乎到了無路可走的地步;3)在使用軟件對集成電路IP進行設計時候,測試向量的生成可能非常困難。由于軟件工具靠手工輸入數(shù)據(jù),在面臨大量數(shù)據(jù)處理的設計時候,手工輸入幾乎成為了不可能的事情。典型的就是比如高清視頻信號處理,每秒鐘的仿真,需要輸入的數(shù)據(jù)量達到了1920X1080X30X3=186624000 byte,也就是說接近200MB。對這么大量的數(shù)據(jù),進行大規(guī)模軟件仿真,已經(jīng)不現(xiàn)實了。所以,配合新技術新方法的出現(xiàn),大型商業(yè)設計往往采用以下思路進行:

2 軟件設計工具改進思路

1)將大型設計盡量分割開,區(qū)分可靠設計和待完成設計,重點把時間用在待完成設計上。團隊能并行進行設計工作。

2)采用可編程器件(FPGA),將芯片待開發(fā)的硅IP映射到可編程器件中,讓可編程器件模擬硅IP的工作。

由于可編程器件并行工作,其運行速度遠高于計算機軟件仿真,還可以反復擦寫可編程器件,使測試和調(diào)整變得更容易,還可以反復測試和驗證修改結(jié)果。這個過程常常被稱為FPGA原型驗證。同時,可編程器件的軟件還兼顧一個優(yōu)點,就是可以通過軟件編譯結(jié)果,查看硅IP大致的資源使用狀況,方便設計者調(diào)整硅IP流片形成的成本。比較典型的就是信號處理器的乘法器,在算法不斷調(diào)整優(yōu)化的情況下,乘法器常常占到設計1/3的晶體管,為了使得芯片成本更便宜,開發(fā)者常常想辦法降低乘法器使用的晶體管,比如浮點乘法器改定點、高精度轉(zhuǎn)低精度,用幾個小型乘法器替代大型乘法器等。

目前,主流的設計,已經(jīng)開始慢慢接受和采用上述開發(fā)手段。但是上述開發(fā)手段又出現(xiàn)了新的不匹配。例如IP的輸入輸出系統(tǒng)。把一個IP看成一組信號輸入和輸出的系統(tǒng)。在現(xiàn)實的物理世界,每個系統(tǒng)的輸入輸出通常是比較穩(wěn)定的。如網(wǎng)絡接口、無線廣播信號、圖像信號、聲音信號等等。但采用可編程器件來模擬硅IP,則引起了新的問題,就是每次硅IP調(diào)整后,可能占用的可編程資源都不同,其運行速度和性能都將發(fā)生變化,從而導致對外部信號的處理能力出現(xiàn)不匹配的狀況;再如原先能接受1.25M無線GSM手機信號,運行在80Mhz,修正后只能運行在75Mhz了,盡管內(nèi)部處理過程邏輯正確、外部信號輸入仍然不變,但FPGA仿真系統(tǒng)卻無法提供更高性能而正確工作了。因此,要在FPGA里調(diào)試IP,并不是容易的事情,為FPGA原型系統(tǒng)提供準確的數(shù)據(jù)通路,變得非常重要。

3)嵌入式軟處理器與待驗證的IP相融合,將提高IP的騅證。

若將嵌入式軟處理器與待驗證的IP相融合,將為IP的驗證帶來極大的便利。主要原因為:

(1)軟處理器本身與待驗證IP可以共享時鐘和其他FPGA資源,其運行速度很容易與待驗證IP匹配;

(2)軟件處理器的及其外圍資源,比如IO接口、總線、存儲器資源,都是動態(tài)可配置的成熟IP資源,其運行規(guī)模和實時性可配置而達到待驗證IP的驗證要求;

(3)軟件處理器的外部接口資源,容易與PC系統(tǒng)連接,建立起PC資源與待驗證IP之間的數(shù)據(jù)橋接通道;

(4)軟處理器和PC資源相配合,能產(chǎn)生超越馮。諾曼體系結(jié)構(gòu)的計算系統(tǒng)(在傳統(tǒng)的馮。諾曼結(jié)構(gòu)里,程序被固化在固定的存儲空間,處理器按照固定的路徑執(zhí)行和跳轉(zhuǎn);而軟處理器與PC資源相結(jié)合,則能隨時用PC來更新軟處理器運行的程序代碼和功能),成為特殊的計算方案,非常有利于IP設計的反復迭代優(yōu)化過程。

3 待驗證的視頻解碼IP的騅證過程

以Xilinx公司的軟處理器MicroBlaze為例,介紹一個待驗證的視頻解碼(或者編碼或者圖像增強)IP的驗證過程,其主要思路是:

待驗證IP作為MicroBlazer軟處理器的外設運行,其輸入和輸出由軟處理器系統(tǒng)來調(diào)度和存儲,由于軟處理器系統(tǒng)在同一個FPGA中運行,因此能使用高帶寬和實時性的外部直連內(nèi)存池為待驗證IP提供足夠的實時性和帶寬需求;同時由于軟處理器本身可編程,就可以對待驗證的IP輸入輸出需求進行模擬和匹配;軟處理器系統(tǒng)也提供了與PC通訊的能力,因此PC上能方便地產(chǎn)生測試向量并解讀軟處理器系統(tǒng)發(fā)回的驗證結(jié)果。當驗證開始時,F(xiàn)PGA復位啟動了軟處理器,軟處理器啟動后將PC端生成的測試向量通過PC接口下載到FPGA控制的內(nèi)存池當中;當測試向量下載完成,軟處理器的程序再啟動待驗證IP,并根據(jù)待驗證IP的需求不斷將內(nèi)存池中的測試向量發(fā)送給待驗證IP,然后取得處理結(jié)果,仍然存放在內(nèi)存池中;當測試向量完成處理,軟處理器就暫停待驗證IP,然后向PC發(fā)送驗證結(jié)果;驗證結(jié)果在PC上就會很容易被檢查了。

1)將待驗證IP轉(zhuǎn)化為Microblazer能夠控制的IP。

MicroBlaze能夠以200Mhz的性能運行,其總線接口OPB/PLB基本能同步運行,8條FSL接口各自運行速度在600Mbps。而一般的待驗證IP運行速度在50~80Mhz。這樣我們就能將待驗證IP轉(zhuǎn)化為Microblazer能夠控制的IP。

(1)將待驗證視頻IP接口中的全局時鐘,Reset信號上加入控制電路,使得Microblazer通過寄存器操作能對待驗證IP進行全局復位和時鐘速度切換。

(2)將待驗證視頻IP的輸入輸出數(shù)據(jù)格式,轉(zhuǎn)化為MicroBlazer總線系統(tǒng)接口,由于PLB總線速率較低,一般采用OPB總線,為了達到更大吞吐量,需要配置OPB總線的DMA模塊,在需要更大實時吞吐量的場合,則采用FSL接口,與Microblazer實現(xiàn)指令級的同步。這樣,在軟處理器看來,待驗證視頻IP可以成為軟處理器子系統(tǒng)的兩個外設設備。

2)利用MicroBlazer資源進行IO資源轉(zhuǎn)換。

由于軟處理器系統(tǒng)與待驗證IP系統(tǒng)在同一個FPGA內(nèi)運行,我們要保證軟處理系統(tǒng)能消除待驗證系統(tǒng)的輸入輸出瓶頸。

(1)配置MicroBlazer的存儲器接口為DDR2,64bit,533Mhz,4G容量,Xilinx軟件能自動生成內(nèi)存控制器。利用MicroBlazer的32位尋址能力,它能實現(xiàn)4GBye容量的總數(shù)據(jù)吞吐量作為緩存。就高清視頻解碼或者壓縮來說接近20秒,其性能是8.5GB/s,已經(jīng)能充分滿足驗證需求。

(2)配置MicroBlazer系統(tǒng)與PC通訊的資源,這里我們采用USB接口,能實現(xiàn)熱插拔,我們采用成熟方便的Cypress68013接口芯片與系統(tǒng)掛接,其極限數(shù)據(jù)持續(xù)傳輸率在20MB/s左右。因此,比起通常的PC的IO能力用于驗證,軟處理器系統(tǒng)能輕易提高400倍的性能。

3)生成軟處理器與待驗證IP的硬件系統(tǒng)

Xilinx在轉(zhuǎn)化用戶邏輯到FPGA配置過程中,有一個網(wǎng)表生成的過程,其軟處理器和周邊資源以宏單元方式在網(wǎng)表階段,與其他IP網(wǎng)表相結(jié)合,這樣保證了其軟處理和相關資源不會被盜用到其他FPGA平臺或者用于ASIC設計。因此,我們可以在Xilinx的設計工具EDK里面,按照Wizard生成包含軟處理器、總線、內(nèi)存控制器等子系統(tǒng),再將修正過接口的USB通訊接口和待驗證IP作為設備連接在子系統(tǒng)上。只要相關接口符合規(guī)范,EDK軟件就自動完成了網(wǎng)表合并,生成FPGA的硬件配置文件。

4)軟處理器的軟件編程

(1)軟件處理器的軟件主要完成3個模塊。與PC的通訊模塊,實現(xiàn)了內(nèi)存池與PC的數(shù)據(jù)交換;待測IP的啟動和終止;伺服待驗證IP的數(shù)據(jù)輸入輸出。前兩個模塊相對穩(wěn)定是通用模塊,伺服待驗證IP的數(shù)據(jù)輸入輸出則與待驗證IP的特性有關。在待驗證IP通過硬件橋接到標準軟處理器總線的情況下,軟件通用性和移植性就很好保證;若采用簡單連接,則用軟件來為待測模塊提供輸入輸出特性,靈活性強,但系統(tǒng)運行性能低一些,移植性和通用性也弱一些。Xilinx的EDK工具能使得用戶直接采用C語言和C++進行編程,并自動根據(jù)硬件配置設置好軟件環(huán)境。因此調(diào)整軟件是非常方便的。

(2)軟件處理器的軟件最好控制軟件長度和復雜度。當軟處理器軟件代碼長度能夠在FPGA內(nèi)部放下的時候,能取得最高的性能;其次,就必須映射到外部存儲器完成,內(nèi)存帶寬影響到處理器的運行能力;最差就是采用外部的非易失性存儲器來存儲代碼,運行速度最慢。因此建議主要模塊在軟處理器中完成,但負責調(diào)度的工作流程可以不在軟件處理器內(nèi)完成,而由PC軟件遠程調(diào)度。這樣能實現(xiàn)更大的靈活性,并節(jié)省代碼長度。

經(jīng)驗表明,F(xiàn)PGA原型驗證方法比PC軟件模擬進行IP驗證,能提高系統(tǒng)運行速度1000倍以上;而如果采用FPGA進行原型驗證,但輸入輸出結(jié)果直接依賴PC,不但效率大大降低,而且對IP的驗證覆蓋效果也因為待驗證IP的IO性能瓶頸大大降低;嵌入式處理器系統(tǒng)的出現(xiàn),結(jié)合了PC的靈活資源與FPGA的性能優(yōu)勢,大大改善了IP設計效果,尤其適合高性能高帶寬要求的IP驗證。

[1] 數(shù)據(jù)信號處理FPGA電路設計[M]. 高等教育出版社出版.

[2] FPGA嵌入式系統(tǒng)設計[M]. 電子工業(yè)出版社出版.

[3] XilinxFPGA開發(fā)實用教程[M]. 清華大學出版社出版.

猜你喜歡
乘法器輸入輸出內(nèi)存
Camtasia Studio高清視頻輸入輸出原理及方法
“春夏秋冬”的內(nèi)存
當代陜西(2019年13期)2019-08-20 03:54:22
鐵路信號系統(tǒng)安全輸入輸出平臺
輸入輸出理論在大學英語聽說課堂中的教學探索
輸入輸出視角下高職英語教學研究
基于FPGA的流水線單精度浮點數(shù)乘法器設計*
基于內(nèi)存的地理信息訪問技術
乘法器模塊在FPGA中的實現(xiàn)
基于FPGA 的數(shù)字乘法器性能比較*
電子器件(2011年6期)2011-08-09 08:07:22
上網(wǎng)本為什么只有1GB?
郯城县| 肥西县| 聊城市| 长宁区| 香港 | 碌曲县| 特克斯县| 文登市| 汽车| 北票市| 武穴市| 息烽县| 瓮安县| 南部县| 子长县| 巨鹿县| 鹿泉市| 昭苏县| 通江县| 宾阳县| 仪陇县| 德化县| 承德市| 湘阴县| 富蕴县| 福建省| 馆陶县| 明光市| 思茅市| 巴彦县| 合水县| 东乌珠穆沁旗| 交城县| 泰顺县| 宁陵县| 霍城县| 额尔古纳市| 紫金县| 安阳市| 交口县| 临沧市|