ASIC與SoC器件的成本不斷上升,迫使半導體廠商不斷擴大每種器件的市場應用范圍,以提高投資回報率。軟件使用的趨勢還在不斷加強,這作為一種有效的機制,擴大了單個器件的市場使用范圍,因為軟件內容能帶來更多特性,而不同軟件則能滿足特定市場專用產品的特色化需求。正由于上述趨勢的發展使然,ASIC或SoC的軟件代碼都達到上百萬行之多。此外,多內核的使用越來越多,這也推動了上述器件中所用軟件的發展,進一步提高了其復雜性。那么,擴大軟件使用這一趨勢對總設計過程有何影響呢? 軟件的復雜性越來越高,這要求軟件開發應在設計周期的早期就開始進行,這樣公司才能實現及時向市場投放產品的目標。由于新型應用的軟件復雜性非常高,開發周期可能長達18個月之久,因此公司在芯片推出之前就應進行軟件開發。等硬件開發完成之后再開發軟件就太晚了。 基于FPGA的原型設計是一種理想的軟件開發平臺,因為其運行軟件的速度至少比仿真及模擬等其它驗證技術快10倍。每種驗證技術在驗證流程中都占據不同的地位,但只有基于FPGA的原型設計才能實現足夠快的速度,可以運行非常復雜的軟件應用與操作系統。最佳系統集成與軟件測試要求速度超過10 MHz,當然超過50 MHz,甚至100 MHz的速度更好。而基于FPGA的原型設計是唯一能夠實現上述速度的解決方案,這也正是為什么這種技術得以不斷推廣的原因。 較低的成本是基于FPGA的原型設計技術不斷推廣的又一主要原因。目前,一兩百名軟件開發人員同時開發復雜的SoC已不鮮見。由于基于FPGA的原型設計技術成本較低,部署又方便,因此被軟件開發小組的不同成員廣泛采用。這就是說,不管他們身居何處,大多數軟件開發小組成員采用這種技術都能很快開始設計工作,比采用其它技術要提前數月。 軟硬件集成是一項艱巨的任務。設計小組必須確保所有規范都按計劃實施。通常說來,軟硬件集成要在硬件設計經過全面測試并確保沒有問題之后才能進行。不過,不可避免的是,即便經過了廣泛的驗證,一些難以發現的問題還是會在設計后期階段冒出來,而這時軟硬件已經集成在一起了。SoC中的問題可能深藏于系統中,由于軟硬件之間的互動非常復雜且難以預測,因此這些故障表現的方式是非確定性的。光是檢測到這些問題就需要極長的時間,需要進行長期的測試工作,如果驗證技術速度緩慢的話,那么這簡直就是不能完成的任務。此外,一旦檢測到了問題,設計過程中的實際調試工作也會要求大量的時間和精力。Synplicity的TotalRecall作為一種新型的原型驗證調試工具,提供了完全的可視化技術,可以在測試基準(testbench)中捕獲到難以發現的問題,這樣就能在仿真器中將這些故障進行重放,從而簡化驗證工作。 基于FPGA的驗證工作還可應用于與設計驗證毫不相干的另一種有趣而強大的應用,即這種驗證技術還能在設計最開始階段用于架構探測(architectural exploration)。舉例來說,架構師希望探測DSP或圖形算法,看看不同算法或不同實施方案間的性能有什么差別。在這種情況下,為了評估架構變化對視頻圖形算法的影響,我們就需要一定的硬件性能。利用基于 FPGA 的原型設計技術,架構師能在設計早期階段就完成架構探索,因此他能確信自己做出了最明智選擇,在實際 SoC 的性能得以顯現之前就做到心里有數。 現在,根據同客戶、廠商的互動交流以及對客戶的調查,Synplicity估計90%的SoC和ASIC器件均采用了FPGA技術進行原型設計。ASIC和SoC原型設計的需求還在以兩位數的速度上升,同時根據市場調研公司Gary Smith EDA的預測,多內核的使用率也將繼續提高。 盡管具有上述諸多優勢,但基于FPGA的原型設計技術并不能取代其它驗證技術。相反,基于FPGA的原型設計技術是現有各種技術的重要補充。事實上,與現有驗證技術更好地加以集成,正是這種技術未來發展的主要動力所在。Synplicity通過TotalRecall技術將原型調試技術與仿真技術相結合,這是在這一方向上邁出了第一步。此外,我們在加快原型設計速度和便于修改方面還有很多工作可做。我們的終極目標,就是為設計人員提供一種快速啟動工作、快速調試、毫無延遲就能進行修改的環境。在這一全新的時代里,基于FPGA的原型設計技術將與其它驗證技術一起發揮重要作用。在SoC驗證中,測試運行的速度要達到硬件本身的運行速度,這一點是至關重要的。只有在實現這一目標時,設計人員才能夠解決隨著器件及軟件的復雜性的提高所帶來的新的挑戰。 |