




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、透過FPGA原型驗證復雜的ASIC 時間:2009-02-20來源:52RD硬件研發(fā) 制程技術以不間斷的步調(diào),發(fā)展至今已經(jīng)達到65奈米的階段,先進的制程技術也讓數(shù)百萬邏輯閘的復雜設計(gates),在GHz頻率范圍里得以實行。這樣快速的步調(diào),既是幸運也是挑戰(zhàn)。更多的閘(gate)數(shù)量,系代表利用一個晶片、或是 HYPERLINK :/ eaw /news/listbylabel/label/SoC SoC、乃至以其他復雜的 HYPERLINK :/ eaw /news/listbylabel/label/ASICs ASICs(complex ASICs)來完成整個系統(tǒng)的設計,是有可能實現(xiàn)的。
2、復雜的ASIC與SoC的驗證挑戰(zhàn)今日的挑戰(zhàn),是要在設計實作成硅晶片(silicon)之前,使其需求的功能及完成時間有效化。而在驗證過程中令人喪氣的主要原因,是因為驗證設計需要大量的測試向量(test vector)。由于產(chǎn)品生命週期很短,而市場的機會有限,所以重新編寫(re-spinning)一個有瑕疵的ASIC/SoC也不是個好的選擇。此外,光罩(mask)的成本動輒超過百萬美元,若連工程師的成本也加進去的話,將無法估計。當ASIC 與 SoC 有顯著的差別時,在光罩設計完成(tape out)前創(chuàng)造出一個原型(prototype)的需求仍然是存在的。原型系統(tǒng)最顯著的能力是對于能在SoC上執(zhí)
3、行大量軟體內(nèi)容的需求,以及擁有能夠從原始設計中,快速創(chuàng)造衍生產(chǎn)品的能力。這些要求是希望軟體工程師在晶片完成silicon之前,能利用原型系統(tǒng)執(zhí)行偵錯(Debug)開發(fā)韌體(firmware)以及軟體(Software)。本文主旨在于檢驗原型如何利用先進的RTL分割技術(advanced RTL partitioning)及RTL除錯工具(RTL debugging tool),幫助你用較低的成本,達到預期的成果。明確地說,你可以創(chuàng)造出達到目標的高速度原型板,同時也可以將它復制成多個開發(fā)原型板,以較低的成本,讓工程師同時完成系統(tǒng)整合以及前期的軟體發(fā)展。本文敘述的流程,將會完全相容(compati
4、ble)大部份的開發(fā)板供應商的現(xiàn)貨原型。且設計的流程,也能夠輕易的以最新FPGA科技做升級。不同的專家與使用者使用不同的驗證策略。本文將討論以下主題:驗證策略、原型的模擬優(yōu)劣、原型之前需考量到的不同技術議題,茲舉Synplicity Certify的原型流程,及使用Synplicity Identify的除錯流程為例說明。驗證策略這個章節(jié)將簡短地檢驗多項驗證策略,包括模擬、硬體加速、原型設計及硬體模擬。模擬法(Simulation)事件導向(Event-driven)的軟體模擬器是較慢的,但當設計區(qū)塊(design block)小時,其工作狀況很好,模擬器提供非常好的除錯能力,如同軟體的除錯功
5、能,有百分之百的可視性(visibility)。然而,即使最快的模擬器在最高階的工作站里運作,其速度只有大概一秒鐘10到30design-clock cycles。對于較大的設計,超過250,000邏輯閘(gates)時,光應用數(shù)億的測試向量(test vector),都會花上數(shù)周,甚至數(shù)月,非常不實際。即便只運作小部份的軟體也很不合理。硬體加速(Hardware Acceleration)利用硬體加速,被驗證的設計被燒錄(map)至硬體(FPGA序列或是客制化處理器),來加速設計的表現(xiàn)。然而其瓶頸在于測試程式碼(test bench)已存在于軟體的模擬器。為了加速表現(xiàn),測試程式碼(test
6、bench)也許會被要求要在應用層級溝通(application level),而非訊號層級(signal level)。資料轉(zhuǎn)換為主體(Transaction-based verification,TBV)的驗證方法,讓測試程式碼的互動最小化,以提高表現(xiàn)。加速器(accelerators)主要的限制在于其獨立驗證設計,并非在系統(tǒng)里進行驗證。成本則是另一個需考量的因素,因為加速器無法共用。硬體加速的一般表現(xiàn)大約在200 Hz到100,000 Hz的范圍內(nèi)。硬體模擬法(Emulation)硬體模擬方法可同時燒錄(map)設計以及合成測試程式碼(test bench) 至硬體,是一個陣列的FPGA
7、或是高速的客制化處理器(custom processors)。你可以在實際系統(tǒng)背景下進行電路模擬(in-circuit mode),驗證硬體模擬設計。硬體模擬時除錯能力有明顯的進步,其表現(xiàn)正常會在1至2 MHz的范圍,或是更多(假設有少量非同步設計時脈),且通常在500600 KHz的范圍內(nèi)執(zhí)行。當有些低層級診斷軟體(diagnostic software)可以在這些速度下執(zhí)行,系統(tǒng)表現(xiàn)就不足以去發(fā)展應用軟體。當模擬器可以被分享時,整體成本會非常高昂,約是數(shù)十萬或是超過一百萬美元。高成本讓使用多平臺(replicates)的想法不切實際,且限制了早期使用者的數(shù)量,如軟體開發(fā)人員和潛在客戶。FP
8、GA原型驗證(FPGA-Based Prototyping)接下來所敘述的部分,則是將會代表FPGA基礎的原型驗證(FPGA-based prototyping)。多年以來,F(xiàn)PGA的表現(xiàn)及閘道的容量(gate capacity)有很顯著的進步。利用最新的技術,可以map超過一百萬ASIC 邏輯閘進入單一FPGA(Altera Stratix ll and Xilinx Virtex 5 家族)。高度自動化的分割工具(Certify)以及除錯工具(Identity)已讓原型驗證更容易實行。低成本(1-3美分/ASIC gate)加上高速表現(xiàn)(超過9 MHz)使得原型驗證成為硬體/軟體最理想的協(xié)
9、同驗證(co-verification)方法。有了原型驗證,你可以設計自己的客制化開發(fā)板,或是向自開發(fā)板的供應商購買現(xiàn)貨即可。為何選擇原型驗證(Prototype)或硬體模擬(Emulation)?設計的大小以及復雜度,當設計在光罩完成(tape-out)前,已被廣泛的驗證及確認。驗證復雜的設計極具挑戰(zhàn)性,如在數(shù)位游戲產(chǎn)業(yè)里使用的3D繪圖晶片,有許多不同的快取記憶體尺寸或是架構。同樣的,驗證大型處理器,如IBM用于Microsoft的Xbox 64-bit PowerPc(一億六千五百萬個電晶體或是四千一百二十五萬ASIC邏輯閘),亦需要即時的裝置來驗證。圖一 驗證階段表硬體基礎的驗證可以提供
10、即時速度及介面讓硬體除錯,以及硅晶圓在晶圓代工廠到達前,執(zhí)行軟體的能力。圖一統(tǒng)整了設計的階段,以及當硬體及軟體同步完成驗證所節(jié)省的時間。在了解硬體及軟體同步驗證的優(yōu)勢之后,下一個重要的問題就是,是否要硬體模擬或是原型驗證設計呢?你可以經(jīng)由比較成本、系統(tǒng)表現(xiàn)、硬體及軟體的共同驗證、復制或是除錯能力等方面來找出最好的答案。成本購買原型驗證平臺及模擬器的成本有多少呢?這是一個很重要的問題。一個完整的系統(tǒng)(硬體+軟體+維護)的成本,可以以一個ASIC邏輯閘多少分(0.01美元)為指標來衡量。下表比較Palladium(Cadence)、VStation(Mentor)及Zebu-XL(Eve)等模擬器
11、,及來自Hardi、PreDesign及Dini集團的原型驗證平臺。補充注釋1. 工程成本以及維護成本除外,兩種做法里,此兩項成本幾乎完全相同。2. Mentor VStationPro:價格從4百萬個ASIC邏輯閘需要美金450,000開始。3. Palladium-:價格從半個基板(約2百萬ASIC邏輯閘的容量)美金288,000開始。一個完全滿載的Palladium-系統(tǒng)大約一億兩千八百萬ASIC閘,費用一千五百四十萬美元。4. Eve-Zebu:Eve有兩個家族,UF及XL。UF家族走向原型驗證,而XL走向模擬器。5. 原型驗證平臺,數(shù)家廠商僅提供硬體(如Hardi, Dini)。而其
12、他廠商則提供額外的前端軟體 (如ProDesign的ChipIt Manager)。價格范圍是可以比較的,當比較類似的硬體時。a. Dini 新聞發(fā)布:2005/10/10及2005/12/9 對Virtex-4 為基礎的基板的資料。b. ProDesign新聞發(fā)布:以ChipIt Gold Edition Pro 為基礎,兩個Virtex 晶片及軟體- 美金兩萬九千元。c. Hardi新聞發(fā)布:以HAPS-31基礎,單一Virtex-4 FPGA需要美金八千九百元。注: Standalone 加速器,例如Tharas Hammmer 及Axis(現(xiàn)為Cadence)并未被考慮,因其有限的科技
13、能力,如同在Section 2.2里的討論。系統(tǒng)表現(xiàn) (執(zhí)行時間)在系統(tǒng)的背景與即時輸入信號(real-time stimulus)下執(zhí)行設計,系統(tǒng)的表現(xiàn)為關鍵。下表比較執(zhí)行時間在原型系統(tǒng)以及模擬器下的表現(xiàn)。表現(xiàn)的好壞,顯著地取決于應用程式、設計類型以及非同步時脈的數(shù)量。補充注釋1. 根據(jù)EVE的客戶來說,設計大小為4百萬邏輯閘,其表現(xiàn)被認為,可作為傳輸基礎的驗證。2. 當燒錄(map)為單一的FPGA,較高的系統(tǒng)表現(xiàn)是可能的。例證對于一個復雜的影像晶片,大約需要650萬次循環(huán)撥放單一的畫面格數(shù)(video frame),其需要撥放單格畫面的時間(wall clock),當在原型系統(tǒng)下以9.5
14、MHz運作,會得到以下的結果。請注意協(xié)同模擬模式下的表現(xiàn),顯著地取決于測試程式碼(test bench)的效力,以及設計的結構。補充注釋1. 模擬器里設計以及系統(tǒng)測試(用于比較系統(tǒng)表現(xiàn)的參考)2. 設計燒錄(map)為原型驗證硬體,僅有test-bench(HDLsignal level)在模擬器里3. 設計燒錄(map)為原型驗證硬體,僅有 test-bench (C code, signal level)在模擬器里。4. 設計及合成處理器燒錄(map)為原型驗證硬體,僅test-bench (C code, 處理器的軟體部分)在模擬器里。5. 設計及test-bench皆燒錄(map)于原
15、型驗證硬體。硬體/軟體的協(xié)同驗證 軟硬體協(xié)同驗證的目標,在于發(fā)展診斷、韌體與應用軟體以驗證系統(tǒng)設計。執(zhí)行低層級軟體(診斷/韌體),通常需求4-6MHz的系統(tǒng)表現(xiàn)(也可以較慢的速度執(zhí)行,但效率極低)。對于應用層級的軟體,通常需要8 MHz或更快的速度。這樣的速度在原型驗證上是可以達到的,而模擬器(emulator)由于其不佳的系統(tǒng)表現(xiàn),則被證明為無效率。系統(tǒng)復制(System Replicates)當在原型系統(tǒng)上的設計為穩(wěn)定且無錯的情況下,在設計實作成硅晶片前,軟體工程師及潛在的客戶/最終使用者需要使用這個原型系統(tǒng),作為測試以及應用程式的發(fā)展。由于原型系統(tǒng)的低成本,你可以創(chuàng)造一個原型系統(tǒng)的”復制
16、品”,將其交給開發(fā)者或是客戶。而復制模擬器(emulator)在經(jīng)濟考量下,其成本是過高的。除錯能力硬體模擬器(emulator)提供極佳的除錯能力,因其具有模擬器般的可視性(visibility),但是你必須在系統(tǒng)表現(xiàn)以及邏輯資源作出取捨。在原型系統(tǒng)里,有效的除錯取決于供應商的工具,然而經(jīng)常缺乏需要的可視性能力。當除錯工具持續(xù)的進步,如Identify暫存器轉(zhuǎn)換階層除錯器(RTL Debugger),原型驗證的除錯限制因素-可視性(visibility)就變成較小的問題。此外,請注意Debugger只消耗少許(310 %)的邏輯資源以執(zhí)行除錯邏輯。其他需要考慮的因素,包括分割簡易化、目標介面
17、的輸入輸出(I/O)數(shù)量、輸入輸出技術支援、設計的編輯及P&R時間、電力需求等;有關目標介面需求皆列于本文結論的表格,茲簡短敘述于下:設計分割這是過程中相當關鍵的步驟,模擬器(emulator)也已自動化這個步驟。在原型系統(tǒng)里,手動分割一個設計有許多限制,包括了無效率的資源分配。另一個挑戰(zhàn)則是當手動執(zhí)行時,由于FPGA限量的腳位(pins),使其腳位需要多路傳輸(multiplex)。這些問題在Synplicity的Certify中可以得到解決。速率轉(zhuǎn)接器(Rate Adapters)當與即時輸入信號(real-time stimulus)連結時(如RF頻率與Spirent測試物運用3G Mo
18、bile Station Tester于無線應用或是乙太網(wǎng)路應用),原型系統(tǒng)的高效表現(xiàn)是很重要的。由于低運作速度,模擬器經(jīng)常需要購買速率轉(zhuǎn)接器介面(rate adapter interfaces),例如Cadence的SpeedBridge(速率轉(zhuǎn)接器能夠使低速元件如模擬器與高速元件、測試器或是高速影像資料串流)溝通。在某些案例中,較快的元件無法降低足夠的速度以配合模擬器的速度,則使得介面不實用。原型驗證的高速排符合了使用速率轉(zhuǎn)接器的需要。編輯、佈局繞線與下載次數(shù)(Compile, Place and Route & Download Times)在過去,模擬器要花費68小時為一百萬個邏輯閘道
19、(gate)的設計做繞線。今日整體時間已有顯著的進步。舉例而言,四百萬個閘門設計的編譯(Compile)暫存器轉(zhuǎn)換階層(RTL)至邏輯閘約一個小時,而下載時包括佈局繞線的時間只要幾分鐘。若是在原型系統(tǒng)內(nèi),執(zhí)行同樣的設計,大約需要花費四到六個小時或更久。電力需求模擬器消耗大量的電力,通常需要在15安培(amperes)下使用220伏特(volts)(Candence的Palladium及Mentor的VStationPro的需求)。這樣的需求可轉(zhuǎn)換為額外的成本及維護,且使系統(tǒng)相較之下無可攜性。當滿載地執(zhí)行模擬器時,通常需要空調(diào)或是冷卻設備,并且產(chǎn)生大量的熱;原型系統(tǒng)使用標準110伏特,消耗的電力
20、比模擬器少很多,且能夠輕松攜帶,便于在辦公室及實驗室間移動。輸入輸出(I/O)可取得性由于目標開發(fā)板的設計界面,以及其他副系統(tǒng)在內(nèi)建電路模式(in-circuit mode)執(zhí)行時,I/O數(shù)目是重要的考量條件。大部分的現(xiàn)貨開發(fā)板供應商皆有多于足夠量的I/O。Palladium-I 有8448 I/Os ,一億兩千八百萬個邏輯閘,Palladium-II 有61440 I/Os,而VStation 有4608 I/Os。輸入輸出腳位(I/O Pin)技術如果你與非常高速的外部訊號做連結(如1Gbps),作為一部分的即時輸入訊號,差動訊號技術(differential signaling tech
21、nology)的支援如LVDS是必要的。你的系統(tǒng)也必須在每個介面連接器下,支援可配置的多重輸入輸出電壓,如5.0,3.3,2.5,1.8及1.5。從上述的討論中可以得到結論,模擬器在除錯能力(Debug capabilities)、自動化分割(automated partitioning)以及編譯(compile)速度有較優(yōu)秀的表現(xiàn)。然而,原型系統(tǒng)仍有下列顯著的優(yōu)勢:1. 成本2. 系統(tǒng)表現(xiàn)3. 硬體/軟體的協(xié)同驗證能力4. 復制(Replicates)5. 運用最新的FPGA轉(zhuǎn)移到原型系統(tǒng)的能力總結上述討論,可得出下表補充注釋1. 指Candence Palladium-I 與II2. 指M
22、etor VStationPro3. 指Zebu-XL(模擬器) 與Zebu-UF(原型系統(tǒng))4. 指Zebu-XL 為了轉(zhuǎn)換基礎(transaction-based)的驗證的表現(xiàn)原型驗證(Prototyping)的關鍵考量因素以下主要是檢驗部份關鍵性的考量因素,以達到改善的ROI。在開始實行原型系統(tǒng)前,有一些問題需要詢問:原型系統(tǒng)成本考量設計一個高速訊號的PCB本身就可以是一個企劃專案。必須要小心考量輸出(layout)問題,包含訊號完整性(signal integrity),串音(cross-talk)、阻抗匹配(impedance matching)、對地彈跳雜訊(ground boun
23、ce)以及時脈偏移(clock skew)。1. 訊號需要在原型板上從一個FPGA到另一個FPGA行進,這時必須用最快的速度且用同樣的時間行進相同的距離,以維持訊號完整性。舉例而言,訊號在數(shù)據(jù)匯流排上行進,往/返記憶體(DDR2、SDRAM或是QDRII SRAM)必須在相同時間到達終點。2. 為了分配外部時脈(clocks)至開發(fā)板,採用高速時脈驅(qū)動器是必要的。直線排列時脈(clock lines)必須被編排,以確定它們同時與所有FPGA一起到達,且須將偏移(skew)降到最低。在高頻(超過100 MHz),自動PCB工具并不會投注百分之百的能力在繞線(routing)上,大約有1015百分
24、比的繞線,需要用手動完成。同樣的,考慮到對稱地設置全球時脈(global clocks),其中一個方法就是將他們設置在開發(fā)板的中央,以最小化偏移現(xiàn)象。3. 當我們使用多個FPGA開發(fā)板時,時脈訊號必須從一個開發(fā)板驅(qū)動另外一個開發(fā)板。因為最后的ASIC設計通常會有多個不同的時脈訊號,因此應該安排多個高速時脈訊號。4. 開發(fā)板上多電壓的電力如何分配是另一個重要課題,必須非常小心地去耦合電源層,以防止對地彈跳雜訊。ASIC到FPGA編碼改變基本上,ASIC的設計碼需要被修改,以燒錄至FPGA。閘控式時脈(gated clocks)(減低電量時使用)及Synopsys DesignWare元件必須利用
25、合成工具,在適當?shù)慕Y構下被翻譯及重新佈局。Syplicity的Certify及Synplify Premier產(chǎn)品能夠自動地管理這個任務。另外一個方面需要考量的是要把ASIC設計的記憶體轉(zhuǎn)換至FPGA的記憶體。FPGA記憶體可能是區(qū)塊記憶體(Block momory)或是邏輯資源(CLBs/ALMs)。在ASIC設計中,經(jīng)常有非常廣的匯流排(bus),在稍后ASIC設計流程的時期,這些匯流排會分裂成較小的匯流排,同時為了減少電量及符合時序(timing),較小的匯流排可使佈局工具繞線簡易化。此外也可以使用Certify 工具的裂解功能(zippering)來處理匯流排。并需要修改Synopsy
26、s SDC檔案或重新從草圖創(chuàng)造檔案。設計切割當設計的尺寸過小,或許可以符合單一的高密度FPGA。如果設計并不符合,就必須切割設計為多個FPGA。手動切割有時會很沒效率,尤其是採用了嘗試錯誤法(trial-and-error)。當需要手動完成腳位的分配,且腳位的數(shù)量大量地增加(例如一個單一的Virtex-4 FPGA有960 I/O),便是另一個冗長乏味的任務。有時經(jīng)常需要從FPGA多路傳輸訊號以驅(qū)動另一個,之所以提起這個問題,是因為在Synplicity的Certify中,經(jīng)常因其自動化切割及分配腳位(pin)的能力,而增加許多價值。設計除錯現(xiàn)在有了原型系統(tǒng),只需要在設計中有好的可視性(vis
27、ibility)以幫助追蹤錯誤,并將其原因與HDL源頭的RTL編碼建立關聯(lián)即可。設計師們大部分都對其RTL編碼很熟悉,當設計是合成的且燒錄至FPGA時,可視性會消失,Synplicity的Identify則可在暫存器轉(zhuǎn)換階層(RTL)源頭層級的除錯能力。IP整合度SoC設計經(jīng)常同時由soft IP(可合成的RTL碼)以及hard IP標準元件(Standard components)與外部程式碼(bond-out cores),從公司內(nèi)部或是從第三單位供應商取得。目標是轉(zhuǎn)移所有或大部分的IP,至原型系統(tǒng)的FPGA或子卡(daughter card)中。任何IP在執(zhí)行軟體模擬器時維持原型(mod
28、el),會顯著的減緩系統(tǒng)表現(xiàn)。此時可以考慮利用可合成的轉(zhuǎn)換器(transactors),使用TBV方法論。其目標是將軟體模擬器(Software simulator)的交互作用最小化。此外也必須考慮到會用到哪一個匯流排介面(PCIe,AMBA,USB),以及外部記憶體(off-chip memory,如RAM/ROM/Flash等)被放置在開發(fā)板或是子卡(daughter card)上的情況。IP安全性在提供原型復制品給潛在客戶的情況下,若想要確定發(fā)展的IP是安全且加密過,Synplicity有能力加密且安全地轉(zhuǎn)移設計。軟體除錯器的關聯(lián)介面當發(fā)展軟體(診斷、韌體以及應用程式)時,需要建立設計/
29、處理器的介面給第三單位除錯器,如Motorola Metrowerks、TI Code Composer、Green Hill Probe或是ARM Muti-ICE/RealView,這些都取決于處理器,此時也要了解能在目標元件上調(diào)整到多慢的速度,并保證除錯器仍能發(fā)揮預估的功能。即時元件的關聯(lián)介面哪些其他元件會需要關聯(lián)介面以提供即時輸入信號?這些都取決于應用程式,并可能得連接至第三單位的測試器,舉例來說,在3G無線應用,可能會連接至Spirent 測試產(chǎn)生器3G MST(Mobile Station Tester)。除了必須了解RF輸入信號至你的原型系統(tǒng)的特殊的連接器/電力需求,在輸入訊號上
30、也可能需要類比跟數(shù)位間的轉(zhuǎn)換,反之亦然。原型復制原型驗證的其中一個主要優(yōu)點,為能夠提供軟體工程師及潛在客戶,對于原型開發(fā)板有較早的存取使用。早期存取可以使軟體工程師擁有提前開始進行軟體除錯的機會,并且允許客戶利用他們的系統(tǒng)測試IP。當設計的除錯仍在進行時,便可以創(chuàng)造復制的原型開發(fā)板。再利用性對于未來的計劃,能再度使用原型系統(tǒng)的能力是重要考量因素。如果你正在設計自己的開發(fā)板,不要妥協(xié)于系統(tǒng)表現(xiàn),或是耗費太多的努力在創(chuàng)造客制化子片(custom daughter cards)的再利用性?,F(xiàn)貨的開發(fā)板也許是可規(guī)劃配置的(configurable)。輸入輸出無障礙(I/O Accessibility)
31、當使用多重FPGAs與次系統(tǒng)(sub-system)元件,如:記憶體、匯流排介面、A/D與D/A轉(zhuǎn)換器,以及客制化邏輯時,需要大量可用的I/Os。更重要的是,必須具備容易重新配置在高速連結器中I/Os的互動能力,而此項能力將幫助在較高速中FPGA容量(最初開始需要除錯的設計),之后,一旦設計完成,新增的I/Os將可供給外部介面使用。配置原型開發(fā)板為了配置設計,或許得用到一個JTAG連接,或是一個與Compact-Flash連結的介面。使用Compact-Flash的優(yōu)點在于可以儲存多種設計,并同時擁有兩種選擇,因為必須要JTAG替軟硬體除錯利用Synplicitys Certify軟體進行原型
32、驗證(Prototyping)在前文已經(jīng)討論過部份原型驗證前的議題,此時或許你已經(jīng)準備好將暫存器轉(zhuǎn)換階層(RTL)設計,燒錄到自行設計或是向供應商採買的的原型驗證系統(tǒng)(Prototyping system),對于一個多FPGA的開發(fā)板來說,第一個問題是如何將系統(tǒng)分割(Partitioning)并映射到(map)到不同的FPGA上!基于以下幾個理由,手動分割一個系統(tǒng)將是令人氣餒的工作。即便只是要分割到兩塊FPGA上,當?shù)谝淮伍_始燒錄設計時,就必須估計與猜測哪些設計區(qū)塊適合放到其中一個FPGA,而哪一些區(qū)塊則適合放到另一個。這些估計無法被證明是合理的。在多數(shù)的案例中,更大的問題是,這些邏輯的輸入輸
33、出信號所需要的腳位,可能需要比這個FPGA可用的腳位更多(被Rents rule限制?。?。這樣的局面暗示著必須犧牲效能,以手動的方式將信號利用多路傳輸(multiplex)的方法將信號整合。對應裝置的輸入輸出,是為了維持需求的效能水準,因此必須重復地復制某些邏輯閘。如果有數(shù)個區(qū)塊,而且必須分割到三個或以上的FPGA上頭,那么排列的方法之多,將無法管理。試著想像手動所產(chǎn)生多個FPGA間的連結工作(舉例來說,一個Xilinx Virtex-4 有960個使用者輸入輸出腳位)吧!因此對設計者來說,真正需要的是自動化這個程序并移除猜測性的工作。此外,也必須有能力對于一個被指定的暫存器轉(zhuǎn)換階層(RTL)
34、,快速估計出邏輯閘使用和輸入輸出資源分配,自動多路傳輸是必要的。Synplicity的Certify將可以處理這些手動且錯誤傾向的方法,并自動且可靠的完成這些步驟。自動分割與合成多顆FPGA設計Synplicity的Certify暫存器轉(zhuǎn)換階層(RTL)工具,是一個以多顆FPGA為基礎的原型驗證系統(tǒng)的分割與合成工具。大多數(shù)現(xiàn)成的多FPGA原型驗證系統(tǒng)開發(fā)板供應商,都將相對應的開發(fā)板描述檔案和開發(fā)板一起出貨,這個檔案定義了開發(fā)板架構并且用作Certify軟體的輸入。Certify支援Verilog、VHDL和混合語言設計。Certify流程的第一步是轉(zhuǎn)換以特殊應用積體電路(ASIC)導向設計的程
35、式碼成為適合FPGA的程式碼。舉例來說,gated clocks將會被轉(zhuǎn)換成gate-enabled flops,且Synopsys的DesignWare單元會被轉(zhuǎn)換成同樣功能的FPGA架構。在本例中,現(xiàn)成的多顆FPGA原型驗證開發(fā)板被使用,只要點選一個下拉式選單,列出由其他供應商所提供的開發(fā)板,以確定使用正確的開發(fā)板定義檔。對于客制化的開發(fā)板來說,Certify工具有能力創(chuàng)造出一個虛擬的多顆FPGA開發(fā)板定義,并在其后的使用中逐漸建立真實的環(huán)境。此外,Certify軟體亦可用于自動分割設計到多個FPGA(圖二)。Synplicity的硬體描述語言分析工具(HDL Analyst utilit
36、y)緊密的和Certify軟體整合,這套工具可以自動產(chǎn)生與IC制程無關的圖形化概觀,與高階的階層化區(qū)塊圖,以及對應的合成后抽象化電路圖(schematics)。圖二 使用Certify與三個FPGA的多FPGA原型驗證流程除了多樣化的設計概觀之外,Certify軟體也提供原型驗證版的FPGA圖形化的表示法。每一個虛擬的元件都有兩個相關的量測數(shù)值,一個反映了這個裝置的輸入輸出的使用率(Utilization),而另外一個則反映了面積與資源的使用率。基于軟體有FPGA輸入輸出腳位使用率與資源使用率的資訊,以及FPGA間的繞線(routing)資源資訊,Certify軟體可以自動的執(zhí)行腳位指定(pi
37、n assignments),還可以利用QPT快速分割技術(Quick Partitioning Technology)分割設計。簡單利用拖曳區(qū)塊來完成初始的關鍵區(qū)塊手動置放之后,QPT就可以說是自動完成了分割所剩區(qū)塊的冗長瑣事。Certify工具的另外一個效用則是分析分割結果,并提供使用者一個使用CPM(Certify Pin Multiplexing,針腳多路傳輸)的機會。這可以整合多個信號以減輕裝置的輸入輸出負荷,至于另一個效用,則是當一個分割的可能選項被實現(xiàn)的時,這個實現(xiàn)過程可以被命名且儲存,在當成一個之后分割最佳化的起始點,以提供使用者維護與操作多個分割的方案。一旦分割被執(zhí)行,這套C
38、ertify軟體將會合成對應到各個FPGA上頭的暫存器轉(zhuǎn)換階層(RTL)程式碼,Certify軟體使用一套和Synplicitys Synplify Pro FPGA合成引擎相同的合成技術。Certify軟體包含了資源共享、暫存器平衡(register balancing)、復制(replication)與重新合成(re-synthesis)等先進合成能力。Certify將不同的FPGA視為設計階層中額外的一層,這樣的方法表示這套工具提供了獨特的能力去將時序路徑(timing paths)最佳化以提升效能,即使這些路徑跨越多個FPGA也一樣,。Certify軟體也提供時序報告讓設計者可以在硬體
39、被程式化之前,即可預知該原型模擬所達到的效能。利用Identify Debugger設計除錯當一個FPGA系統(tǒng)在即時介面與時脈速度運作時,去了解在FPGA里頭發(fā)生什么狀況是相當重要的。邏輯分析儀提供精密的觸發(fā)(triggering)選項,但是觸發(fā)并不是設計用于捕捉FPGA內(nèi)部的事件,只能操作在與外部針腳相連的節(jié)點(node)上。至于探測能力則是被裝置的可用針腳數(shù)以及開發(fā)板的針腳數(shù)所限制住,因此利用邏輯分析儀進行FPGA設計的除錯,是相當耗時、受限又不完整,在嵌入式邏輯分析儀中,工程師也同樣面臨了最所熟悉的問題:必須理解FPGA內(nèi)部之中的錯誤與暫存器轉(zhuǎn)換階層(RTL)程式的相關性。Identif
40、y除錯軟體允許直接在RTL程式對設計量測并除錯,這項能力在除錯中非常關鍵,因為設計者多半是對暫存器轉(zhuǎn)換階層(RTL)程式熟悉,而非邏輯閘階層電路(gate-level net list)。Identifier暫存器轉(zhuǎn)換階層(RTL)除錯流程Identify包含兩個工具: Identify Instrumentor還有Identify Debugger。Identify Instrumentor 用于設定查看點(watch point_與中斷點(break point)與控制何時資料該被收集與儲存。當一個設計被量測時,偵錯點和控制邏輯會被合成以及佈局與繞線到FPGA裝置中,步驟完成后Debugg
41、er將會被用來直接檢查FPGA的結果。自動探測(Automated Probing)Identify軟體使用圖形化介面,導覽所有設計階層并直接把探針(Probe point)加入到硬體描述語言的原始碼(圖三)。直接量測讓設計中的信號名稱改變可被忽略,因為探針的連結依舊存在,即使名稱在實現(xiàn)過程中改變,連結依舊存在而且是以原來的名稱顯示。利用RTL原始碼控制除錯流程是Identify工具一個關鍵優(yōu)勢。Identify Debugger讓你可以在設計階層(RTL)控制并顯示除錯的結果,亦可以直接顯示在暫存器轉(zhuǎn)換階層(RTL)上,或選擇以波形觀看器(waveform viewer)顯示。Identif
42、y支援multiple IICE(Intelligent In-Circuit Emulator)instances利用以多個非同步時脈觸發(fā)的邏輯,并觀看多個不同的clock domains中的節(jié)點,訊號以圖形化的方式被標記為探測點。旁邊的文字視窗則顯示了設計層級,作為組成部分、模組、程序,以及假如(IF)宣告在原始碼中被標示行號,以讓設計者更容易找到設計的某個部分。在設計階層中選擇一個點將會在隔壁的視窗中顯示文字。圖三 Synplicitys Identify Instrumentor從硬體描述語言觀點來觀察設計,監(jiān)看點和中斷點被加入到量測中。設計的探針以各自的色彩標記顯示。除了探針外,Identify Instrumentor通訊模組到設計中來傳輸樣本資料,經(jīng)由JTAG埠,輸出到個人電腦上頭的波形觀看器。探測點可以提供資料來顯示或樣本觸發(fā)(sample triggering)。一個設計在被量測之后,將會被合成與編譯來提供FPGA工具佈局與繞線。設計的量測絕對無法影響一個設計的功能上的行為,并且通常只佔用大約百分之一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨區(qū)域康復合作中的文化融合與溝通策略
- 生物實驗課程的評估辦法計劃
- 客戶信息管理系統(tǒng)的應用計劃
- 品牌建設的長期規(guī)劃與愿景計劃
- 2024基于大數(shù)據(jù)的設備遠程智能檢測和安全運維技術服務平臺
- 職業(yè)發(fā)展的前瞻性計劃
- 名著《紅巖》三年中考真題及典型模擬題訓練(原卷版)
- 教師與學生的學習契約計劃
- 高效工作與休閑平衡的自我管理策略
- 質(zhì)量飛躍水泥行業(yè)質(zhì)量提升項目案例分析
- 2022年四川省綿陽市中考化學試卷
- 學習-化工單元第十四講萃取
- (完整版)微生物檢驗技術練習題(含答案)
- 貝利嬰幼兒發(fā)展量表
- 佛山市內(nèi)戶口遷移申請表
- 《工程制圖完整》課件
- 說課比賽一等獎《醫(yī)用化學》說課課件
- 常見焊接缺陷以及其處理方法PPT
- 《子宮脫垂護理查房》
- 關于對項目管理的獎懲制度
- A320主起落架收放原理分析及運動仿真
評論
0/150
提交評論