你的位置:首頁 > 互連技術 > 正文

特約技術專家:FPGA仿真器與定制硅仿真器的差異化

發(fā)布時間:2015-01-21 來源:LauroRizzatti 責任編輯:sherryyu

【導讀】該技術專家10多年以來,一直堅定地支持基于FPGA的硬件仿真系統(tǒng),并在2013年一直不遺余力地宣傳其優(yōu)勢。自那以后,已成為精通各類硬件仿真專業(yè)知識的顧問,但現在來評論FPGA硬件仿真系統(tǒng)與定制硅硬件仿真系統(tǒng)之間的區(qū)別雖然有些姍姍來遲,但是還是很有必要的。
 
商用FPGA硬件仿真器與定制硅硬件仿真器之間的根本區(qū)別在于映射被測設計(DUT)的核心單元。顧名思義,定制硅硬件仿真器是基于定制器件而造,不可用于商業(yè)用途。定制硅硬件仿真器就是采用兩個不同種類當中的一個來實現的。
 
在第一類中,核心單元是專為硬件仿真應用而設計的定制FPGA,但通用FPGA是個糟糕的選擇。Mentor Graphics提供一種稱為Crystal2的此類器件,并稱之為定制片上硬件仿真器,如圖1。在第二類中,核心單元包括大量簡單的布爾處理器,此類處理器在巨大的內存中執(zhí)行設計數據結構存儲。Cadence供應商稱之為“基于處理器的硬件仿真器”。很顯然,定制FPGA硬件仿真器與商用FPGA硬件仿真器具有一些相似之處,但仍然具備獨特的功能。
Mentor Graphiscs Crystal2“定制片上硬件仿真器”。
圖1:Mentor Graphiscs Crystal2“定制片上硬件仿真器”。
 
定制FPGA硬件仿真器
 
定制FPGA硬件仿真器由法國初創(chuàng)公司MetaSystems(1996年被Mentor Graphics收購)最先開發(fā)并商業(yè)化,采用不同于Xilinx和Altera所提供的獨特FPGA。該硬件仿真器是基于定制硅上仿真器架構,專為涵蓋整個硬件仿真器(包括可配置單元、局部互連矩陣、嵌入式多端口內存、I/O通道、帶探測電路的調試引擎和時鐘發(fā)生器)的仿真應用而設計。
 
這種方法使用了三個創(chuàng)新點,每個創(chuàng)新點都可提供獨特的優(yōu)勢:
 
●可編程單元的內部互連網絡;
 
●定制FPGA的外部互連網絡和I/O結構;
 
●DUT調試引擎。
 
可編程單元的內部互連網絡
 
可編程單元的互連網絡包括兩個不同分級層:位于查找表(LUT)及其集群(Cluster)級別的低層;以及更大塊的LUT集群,即所謂的疊塊的高層。
 
可以用空間類推法來描述低層。假設所有的LUT都位于球體表面上,任何兩個LUT互連都必須穿過球體中心,則無論兩個LUT位于何處,互連導線的長度始終相同。(圖2)。
描述低層空間類推法
圖2:描述低層空間類推法。
[page]

上述類推法延伸到更高層級,LUT集群可以分布在更大球體的表面上,并采用相同的方式互連(圖3)。這基本上是一個重復相同模式的分形圖,從外到內或從內到外移動。高層通過專利結構互連疊塊,提供類似于低層固有的優(yōu)勢。
高層級空間類推法
圖3:高層級空間類推法。
 
高層通過微小的交互開關矩陣(有些類似于片上網絡(NoC)架構)互連疊塊,因此使該結構有別于傳統(tǒng)網格互連網絡。這種方法可以確保布線可預測、快速和無擁塞。
 
此外,時鐘樹通過導線連接到獨立于數據路徑的專用路徑,因而可以預測和重復時序,并通過構造防止時序違規(guī)行為,因為數據路徑比時鐘路徑更長。不可預測的時序和保持時間違規(guī)行為會破壞商用FPGA的可用性。
 
與商用FPGA的結構相比,定制方法可以確保時序的確定性和可重復性。該方法消除了布局約束,確保實現簡單的布線和快速的編譯(圖4)。
商用FPGA與定制的對比
圖4:商用FPGA與定制的對比。
 
多層互連網絡對高容量進行權衡,現可用于最大的FPGA,并支持快速和無擁塞的FPGA布局和布線(P&R)。可以在約五分鐘內對一個定制FPGA進行布局布線。即使將最大FPGA的填充率降低至50%或以下,P&R仍可能需要幾個小時。
 
毫無疑問,與使用當前市場上最大的商用FPGA相比(例如Xilinx Virtex-7 XC7V2000T),映射10億ASIC等效門設計將需要更多的定制FPGA器件。實際差異可能會小于通過比較內部資源(例如LUT)估算的結果,因為定制FPGA的利用率接近100%,而商用FPGA則為50%左右。
[page]

以下因素有助于減輕容量差距:內置的VirtualWire邏輯(用于I/O數最大化而不是消耗LUT);內置的調試引擎(節(jié)約留給DUT映射的寶貴的可配置資源);以及一個有效的布線器。
 
這兩種技術都受益于在多個PC分配P&R,但定制方法仍然具有優(yōu)勢。在一系列定制FPGA上對10億ASIC等效門設計進行布局和布線(在大型模擬場進行操作)可能需要30分鐘。在一系列較小的Xilinx Virtex-7上對相同的設計進行布局和布線將需要幾個小時。
 
擁有了該技術,定制FPGA硬件仿真器供應商可以管控運營,優(yōu)化和定制P&R軟件,而這是商用FPGA硬件仿真器供應商無法做到的。因為后者受FPGA廠商支配。
 
片上硬件仿真器的外部互連網絡
 
片上硬件仿真器的外部互連網絡是基于所謂的VirtualWire技術。借助VirtualWire,FPGA集合會自動編譯為一個巨大的FPGA,該FPGA不會受到可破壞通過傳統(tǒng)方式互連的一系列等效FPGA的潛在時序問題的影響。該技術在開發(fā)時僅可用于采用商用FPGA的硬件仿真器?,F在,相同的技術已嵌入到片上硬件仿真器。
 
VirtualWire是基于多個再綜合流程(時序、存儲器、互連),此類流程將DUT轉換為映射到一系列定制片上硬件仿真器器件的功能等效的設計。
 
時序再綜合使用正確性維護轉換來重新定時用戶的設計,通過引入單個高速時鐘來保護其免受不準確的FPGA延遲。此外,還消除了傳統(tǒng)硬件仿真系統(tǒng)的保持時間問題。
 
存儲器再綜合實現低成本實施各類存儲器(包括寬多端口RAM),無需構建定制存儲卡或使用FPGA存儲器。多路復用和存儲器共享支持使用快速且便宜的常見SRAM芯片進行存儲器硬件仿真。
 
互連再綜合通過在器件固定和有限數量的I/O管腳上增加傳輸中的I/O信號數,來擴展器件間的通信帶寬,并以最大速度進行連接。最終結果是,器件利用率顯著提高到約100%,避免擁塞并維護DUT完整性。
 
在每個I/O管腳增加I/O信號類似于在FPGA原型板上實施I/O數最大化的方法。
 
VirtualWire實現更為復雜。該技術:
 
●通過保證局部時序正確性實現全局時序正確性和系統(tǒng)可擴展性;
 
●提供為所有觸發(fā)器計時的虛擬時鐘,分配單個同步低偏移時鐘;
 
●信號布線和調度受編譯器控制,因為信號必須通過已知數量的FPGA。
 
VirtualWire實現還擴展了帶寬,從而可提高FPGA和導線的利用率。多路復用技術可以擴展各級封裝的互連帶寬,從FPGA間和板間到機箱間,使得分區(qū)更容易。
 
此外,還提供相同的多路復用技術來訪問存儲器。通過對數據總線進行多路復用,可以使用常見的SRAM芯片構建寬存儲器??梢允褂肧RAM芯片實施多端口存儲器??梢栽诓季€和調度步驟中整合存儲器調度。
 
[page]
集成設計調試功能
 
第三個創(chuàng)新涉及定制方法的集成設計調試功能。該方法是基于在芯片內部實施的實時智能數據捕獲和安裝在仿真板上每個芯片旁邊的跟蹤存儲器,可以確保監(jiān)控DUT的所有單元。這是通過構造而非編譯內部探頭實現的。并且還避免了硬件仿真速度下降。
 
通過將所有LUT和嵌入式存儲器輸出連接到硅中片上信號探測電路實現全面監(jiān)控,無需在編譯時進行布線。探測電路依次將探測數據定向到快速內存芯片庫,該庫耦合到安裝在仿真板上的定制片上硬件仿真器器件。這樣就可預留布線資源來構建設計圖片,提高可重新配置硬件的效率(圖5)。
預留布線資源來構建設計圖片,提高可重新配置硬件的效率
圖5:預留布線資源來構建設計圖片,提高可重新配置硬件的效率。
 
通過集成觸發(fā)機制和帶圖形路徑瀏覽器的內置邏輯分析儀來增強設計調試功能,以加快識別難以發(fā)現的缺陷。默認情況下,片上硬件仿真器啟用了觸發(fā)寄存器、強制與解除(force/release)、內存/寄存器讀寫以及斷點保存與恢復。

片上硬件仿真器的缺點
 
遺憾的是,與最大的商用FPGA相比,定制方法也有缺點,因為定制芯片的容量密度較低。一個缺點是,要映射任何給定的設計尺寸,硬件仿真器將需要更多的FPGA,從而導致物理尺寸更大、重量更重。
 
粗略地講,與具有相同設計容量的商用FPGA硬件仿真器相比,尺寸大一個數量級。重量約重5倍。功耗約高4倍以上,雖然比例較低。
 
商用FPGA硬件仿真器的原始時鐘速度更快。據公開數據顯示,似乎比片上硬件仿真器快兩倍。同樣,這源于兩種芯片的容量差異。事實上,具有更大容量的現成FPGA可以容納設計的更大部分,并支持更少的器件以適應整個設計。最終結果是,互連導線更短,傳播延遲更快。
 
但是,若要利用這種功能,則耗時的手動分區(qū)始終是必要的。如果沒有優(yōu)化分區(qū)和消除跳距——即組合導線跨越多個FPGA——那么在商用FPGA硬件仿真器中,仿真速度可能會下降。原始速度是一回事。真實環(huán)境中的實際性能/帶寬則是另一回事。
 
要采購仿真器么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉