發布日期:2022-07-14 點擊率:39
,世界各地的設計師都在爭論用ASIC或FPGA實現數字電路設計的優缺點。爭論的焦點通常是全定制IC的性能優勢和低功耗與FPGA的靈活性和低NRE成本。為了最大化性能、縮小尺寸和降低量產成本,設計團隊就應該為ASIC設計進行巨大的前期NRE投資嗎?而設計團隊為高度可配置性能集和快速升級的市場需求所開發的最終產品是否只有FPGA才能滿足嗎?
奇怪的是,高密度IC設計所面臨的越來越艱巨的挑戰在許多方面使爭論失去了意義。隨著ASIC設計向新一代工藝節點移植,設計正變得越來越復雜,軟件成分也越來越多,驗證執行時間越來越長。而且最近的研究表明,60%以上需重新設計(respin)的ASIC的失敗原因不是時序或功率問題,而是邏輯或功能性錯誤。
因此,功能驗證已經成為ASIC開發周期中最關鍵的環節,通常也是最耗時的。越來越多的ASIC設計師發現用FPGA建立與設計功能等效的原型可以最好地滿足目標要求。事實上,目前90%以上的ASIC在流片(tapeout)前部分或者全部地用FPGA創建了原型。
因此,問題不再是用ASIC還是FPGA實現IC設計。為了滿足最新的市場需求,大多數設計團隊必須兩者都做。
驗證方案
隨著ASIC密度的提高和設計復雜性的增加,對流片一次性成功的需求越來越迫切,而錯誤出現的可能性卻越來越高,因此設計師無疑需要一種能夠在短時間內發現復雜芯片設計中所有錯誤的高效驗證方法。傳統的軟件模擬技術無法再為那些為滿足緊迫的上市時間而奮斗的設計團隊提供足夠的支持。
就拿典型的移動電話芯片組設計來說。雖然RTL模擬可以為設計提供高級別可視性,但軟件模擬的低性能意味著導入該芯片組需要長達30天的時間,從而使得這種方法不具有實際可行性,并極大地限制了合理驗證的等級和數量。使用較高層模型的軟硬件協同仿真方法可以將引導操作系統所需的時間縮短到10天,但即使這樣仍然不管用。另外,這些方法要求開發復雜的測試臺,而測試臺具有不完整性。雖然C模型模擬可以提供更短的運行時間,也許可以短至24小時,但仍無法滿足ASIC設計師通常需求的的詳細等級。
ASIC設計師需要的是一種接近ASIC運行速度的驗證方法。ASIC設計師需要通過某種方法來使用實際的激勵信號,而不是測試臺。他們需要一種負擔得起的、便于部署的驗證方法來支持軟硬件調試在整個設計團隊的分配。此外,這種驗證方法不僅能全速運行操作系統和應用軟件,還能方便地集成外部系統組件和接口。
使用FPGA實現ASIC原型,設計師可以在一秒內運行上百萬個測試向量,這個速度比傳統的軟件模擬要快上一百萬倍。移動電話芯片組的驗證時間在用軟件模擬器時最多只能縮短到1個月,但用FPGA原型只需30秒就可以了。
這種性能優勢在設計周期的軟件和系統集成階段可以提供巨大的益處。通過以ASIC相仿的速度運行,FPGA原型允許設計師驗證嵌入式或應用軟件在硬件上的運行結果,也可以利用視頻流或網絡數據來測試性能以及識別難以發現的缺陷;如果設計采用了嵌入式CPU,還可以在ASIC設計完成前驗證操作系統的性能。另外,通過對設計施加真實環境下的激勵信號,驗證工程師可以避免測試臺開發所帶來的艱巨任務。
轉換工具
也許ASIC設計師遇到的最大問題并非是決定是否要用FPGA做原型,而是應該在“ASIC到FPGA轉換工具”中尋找什么類型的性能。
很少有設計師有時間或資源同時用ASIC和FPGA實現他們的IC。不但他們各自的技術截然不同,而且在使用上也存在較大差異。因此,如果要想ASIC原型平臺取得成功,首先必須能夠準確地轉換ASIC和FPGA之間的架構差異。
分割是ASIC到FPGA轉換工具的第二個必要的功能。隨著ASIC復雜性的提高,集成的功能越來越多,希望能夠快速和高性價比地驗證設計的設計師們必須將芯片的功能劃分到多個FPGA上。許多ASIC設計師傾向于手工完成這項任務,但這樣做非常容易出錯,具有很大的風險。
在設計準備進行綜合前,驗證工程師還必須了解ASIC原型工具如何幫助用戶測量和提升性能。這種工具可以讓用戶優化定時路徑嗎?這種功能可以擴展到跨多個FPGA的那些路徑嗎?工具可以提供有關定時性能的任何報告或分析結果以便用戶在實際硬件編程前評估原型嗎?
通過可編程邏輯創建原型平臺來觀察和驗證ASIC功能,設計師可以快速而經濟地識別潛在錯誤,降低與產品相關的整體風險,同時滿足上市時間要求。
圖:不同驗證方法導入移動手機芯片組所需時間,目前超過90%的ASIC和ASSP采用FPGA原型設計,使得FPGA成為關鍵的IC驗證方法。
作者:Juergen Jaeger
ASIC驗證營銷部高級總監
Synplicity公司