ASIC和SoC器件成本的逐步上升迫使半導體供應商必須進(jìn)一步開(kāi)拓各個(gè)器件的市場(chǎng)以尋求滿(mǎn)意的投資回報。 日益增長(cháng)的軟件使用為此提供了有效的機制,因為增加的軟件內容等同于更多的功能和軟件變化提供了特定市場(chǎng)產(chǎn)品的差異化。這種趨勢致使上百萬(wàn)行軟件代碼在A(yíng)SIC或SoC中出現也就不足為奇了。多內核的使用增長(cháng)致使在這些器件中使用的軟件數量大幅飚升,也提高了它們的復雜性。那么,軟件含量增多的趨向對整個(gè)設計過(guò)程意味著(zhù)什么呢? 軟件復雜度的提高意味著(zhù)如果想要實(shí)現產(chǎn)品的上市時(shí)間目標就必須更早地著(zhù)手軟件開(kāi)發(fā)。由于軟件復雜度對全新應用來(lái)說(shuō)非常高,開(kāi)發(fā)過(guò)程可能超過(guò)18個(gè)月,因此要在芯片量產(chǎn)前就著(zhù)手軟件的開(kāi)發(fā),如果等到硬件開(kāi)發(fā)出來(lái)就為時(shí)已晚。 基于FPGA的原型是一種理想的軟件開(kāi)發(fā)平臺,因為它們運行軟件的速度至少要比模擬和仿真等其它驗證技術(shù)快10倍。雖然各種可供選擇的驗證技術(shù)在驗證流程中都占有各自的位置(見(jiàn)圖1),但只有FPGA原型才具備足夠快的速度訓練非常復雜的軟件程序和操作系統。最佳的系統集成和軟件測試要求速度在10MHz-50MHz以上,100MHz則更佳。而只有FPGA原型方案能達到這樣的速度,這也是它們應用越來(lái)越廣泛的原因。 具備更低成本是FPGA原型設計使用增長(cháng)的另一個(gè)關(guān)鍵原因。如今,一個(gè)復雜的SoC需要投入100-200個(gè)軟件開(kāi)發(fā)人員已經(jīng)是很常見(jiàn)的事。由于FPGA原型既是低成本又是可部署的,因此可分配給軟件開(kāi)發(fā)小組的各位成員。這意味著(zhù)軟件開(kāi)發(fā)小組的大部分成員無(wú)論身在何處都可以比其它方法提前幾個(gè)月組織并運轉起來(lái)。 軟硬件的集成是一個(gè)艱辛的過(guò)程。設計小組必須確保所有規格按原計劃得以執行。而這通常要等硬件設計通過(guò)徹底的測試并確信沒(méi)有程序錯誤才可以開(kāi)始。然而,即使經(jīng)過(guò)了大量驗證,當軟硬件集成到一起時(shí),那些難以查找的程序錯誤最終還是會(huì )出現。復雜SoC中的程序錯誤會(huì )深藏在系統中,并以不確定的方式表現出來(lái),這是因為硬件和軟件之間存在復雜而無(wú)法預料的相互作用。簡(jiǎn)單地檢測這些缺陷需要特別長(cháng)和耗時(shí)的測試序列,這對于較慢的驗證方法是不切實(shí)際的。而且,一旦問(wèn)題出現,實(shí)際的設計調試也需要花費大量的時(shí)間和精力。新的原型調試方法,如Synplicity公司的TotalRecall完全可視技術(shù),可以通過(guò)捕獲針對難以查找的程序錯誤而開(kāi)發(fā)的測試平臺而充分簡(jiǎn)化這些工作,以致能在仿真器中重現這些程序錯誤。 圖1:SoC驗證方法論的主要相關(guān)任務(wù)以及在每項任務(wù)范圍內原型設計的使用率。 FPGA原型還有一個(gè)有趣而強大且與設計驗證無(wú)關(guān)的應用,就是它們可以在設計初期用于架構探究(architectural exploration)。例如,架構設計師可能想要探究DSP或圖形算法以觀(guān)察使用不同算法或不同實(shí)現方式時(shí)候系統性能的變化。在這種情況下,為了評估架構變化對視頻圖形算法的影響,需要一定的硬件性能。使用FPGA原型設計,架構師就可以在設計早期就完成架構探究,以確保在實(shí)現SoC性能之前作出有效的選擇。 通過(guò)與用戶(hù)和供應商的交流以及對用戶(hù)的調查,Synplicity公司估計有超過(guò)90%的SoC和ASIC在用FPGA做原型。對ASIC和SoC原型的這種需求正在呈兩位數增長(cháng),而且據市場(chǎng)調研公司Gary Smith EDA對業(yè)界多內核使用的預測,這一趨勢將會(huì )繼續下去。 盡管有這些優(yōu)點(diǎn),但FPGA原型設計并不能替代其它驗證方法,而是對一些現有技術(shù)的重要補充。事實(shí)上,更好地集成全套驗證技術(shù)將成為未來(lái)開(kāi)發(fā)的主要方法。Synplicity公司利用TotalRecall技術(shù)集成了原型調試和仿真就是在這一方向上邁出的第一步,但還有更多的事情要做。例如,還需要加快原型開(kāi)發(fā)并使它易于修改。最終目的是建立一個(gè)能讓設計師快速工作、快速調試、無(wú)時(shí)延更改的環(huán)境。在這個(gè)新時(shí)代,FPGA原型設計將與其它驗證技術(shù)一樣重要!皩(shí)速”(at-speed)運行能力,即以硬件一樣快的速度執行測試,將是SoC驗證不可或缺的一部分。只有這樣,設計師才能應對不斷提高的器件和軟件復雜性所帶來(lái)的新興挑戰。 |