Home
  • Products
  • Solutions
  • Support
  • Company

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  • Products
  • Solutions
  • Support
  • Company
Community Blogs Spotlight Taiwan > 利用Dynamic Duo加速整體軟硬體驗證與確認的生產力
candyyu
candyyu

Community Member

Blog Activity
Options
  • Subscribe by email
  • More
  • Cancel
dynamic duo
Analog Devices. ADI
software verification
validation
protium x2
verisium
taiwanese blog
Hardware/software co-verification
verification

利用Dynamic Duo加速整體軟硬體驗證與確認的生產力

27 Mar 2023 • Less than one minute read

原文作者: Reela
原文出處: Accelerating Your Overall HW/SW Verification and Validation Productivity Using Dynamic Duo


隨著系統單晶片(SoC)複雜度不斷提高,相關軟體堆疊現在已經成為系統功能性不可或缺。軟體堆疊會對SoC供應商及其客戶開發成本與時程都產生影響,軟體在今日是銷售晶片以及管理開發時程所必需的。任何軟體開發時程上的延遲,會讓取得營收的時間被拖延。直到第一顆晶片從晶圓廠交付,軟體測試延遲帶來的影響會相當巨大。要因應這種快速提升的系統複雜性與上市時程壓力,透過投片前(pre-silicon)硬體除錯、軟體確認(software validation)與協同驗證,同時保持硬體仿真(emulation)與原型製作(prototyping)之間的功能一致性相當重要。

半導體公司Analog Devices (ADI)透過將複雜的現實世界訊號轉換為洞察與行動,為實體與數位世界搭起橋樑,深度改善了人類生活。這需要結合類比硬體、數位硬體還有軟體的解決方案,ADI的目標是讓出貨產品「零缺陷」。

該公司一直使用主要聚焦數位與系統層級應用案例場景的硬體仿真平台,其主要目標是組織並協調韌體與硬體設計驗證(DV)團隊的任務,確保韌體與應用程式介面(API)在第一天就成功開機(boot)。他們也想為系統應用案例場景找到可加速的平台,在軟體模擬與SystemC模型之間取得精確度與性能之間的權衡。

ADI的SystemC驗證團隊使用SystemC模型執行早期韌體驗證,他們想在晶片從晶圓廠回來之前,看到實際的RTL (register transfer level)與實際韌體共同驗證。設計與韌體複雜度升高,使得驗證大量韌體、裝置驅動程式以及複雜應用案例具挑戰性;軟體導向的硬體共同驗證、盡早提供客戶完整系統解決方案,變得對設計成功相當重要。此外,利用軟體模擬測試韌體與系統應用案例情境並不實際,而且耗時。

設計與韌體複雜性挑戰包括:

  • 驗證大量韌體、裝置驅動程式與複雜使用案例;
  • 軟體導向的硬體共同驗證,以及盡早提供客戶完整系統解決方案;
  • 以軟體模擬來測試韌體與系統使用案例情境的過程非常緩慢。

ADI也在硬體仿真過程中面臨除錯調適的挑戰。例如利用 SHM資料庫針對長時間運作的情境以連續的波形傾注(dump)來建立波形資料庫,特別是在啟動(bring-up)期間除錯、導致運作時期額外時間的耗損 (overhead),以及耗費時間精力於傾注重要訊號。

設計架構


ADI設計架構包括具備多處理器設計、互連、周邊以及數位IP的複雜數位頂層,這些形成了設計的主要難點,透過三種不同的開機模組──DDR4、eMMC 5.1與QSPI──完成驗證。該架構的第二部份是 UART,DV團隊主要用它暫存(register)讀/寫運作以及套用不同中斷與鮑率(baud rate)的情境;這部份並沒有形式驗證團隊需要時得以實體印出的除錯訊息,因此對他們來說終端機(terminal)是基本要求。

此外,ADI有具備包含乙太網路MAC、PHY、通用驗證方法學(universal verification methodology, UVM)渦輪加速(Turbo Boost, TB)元件的複雜乙太網路JMI介面,以及驗證通訊協定功能性的VIP。他們也想要以JTAG為基礎的除錯,並且盡快進行裝置與客製周邊驅動程式的認證。

Cadence記憶體模型(Memory model)純粹支援軟體模擬而非硬體仿真,因此他們需要用對硬體模擬友善、專門為了在硬體仿真器中以高性能運作而設計的記憶體模組,來取代原先的軟體模擬記憶體模組。再加上,以模擬軟體進行Linux開機會花好幾天的時間,格式化團隊需要訊息能在終端機被印出。

複雜乙太網路流量以及應用案例的驗證需要耗費長時間測試,這對模擬軟體來說是不切實際的。ADI要求團隊加速VIP與整體解決方案,長時間執行的測試在模擬軟體中需要花14小時,會延遲全部硬體與軟體的共同驗證,讓整體驗證時間變得太久。ADI團隊需要能解決這個問題的解決方案。

Dynamic Duo一致性流程

ADI是利用Cadence Dynamic Duo包含Palladium® Z2硬體模擬器以及基於FPGA的ProtiumTM X2原型平台。Palladium Z2最被廣泛應用於硬體驗證與除錯,Protium X2主要能加快軟硬體共同驗證與開發速度。ADI使用Palladium進行功能性驗證,支援UVM測試基準環境,以及全視覺(FullVision)、更快速的除錯。

Protium X2支援比FPGA原型製作更快速的bring-up時間,透過Software Vision軟體視覺功能提供高能見度除錯,以及利用外部資料擷取卡(DCC)實現全系統高速探測。該平台配備與Palladium一致的編譯流程、線上仿真(In-Circuit Emulation)模式,以及虛擬/混合硬體仿真模式。



作為一種解決方案,ADI在Dynamic Duo上使用虛擬UART,將他們的SoC與來自Cadence的記憶體模組陣容整合,有效評估了開機(boot)場景。使其成為可能是因為在Palladium與Protium之間建立的一致性流程,兩套系統使用相同的編譯器。在轉移至Protium時不需要修改RTL,ADI可以在從Palladium轉移到Protium時重複使用大多數腳本,這大大地協助他們加速整體bring-up時間。針對複雜功能性除錯,ADI團隊則回到Palladium上以更少的編譯時間除錯,再回去Protium將之作為回歸測試平台。這是最具彈性的、其他傳統平台迄今無法支援的一致性流程。

ADI如何確保高效率系統確認

相容模擬軟體的記憶體模組:Cadence Dynamic Duo不支援這些模組,以模擬軟體進行Linux開機會花好幾天時間。

解決方案:ADI以Cadence Palladium Memory Model陣容取代模擬軟體記憶體模組,前者能提供實現加速的簡單整合,預先認證、即插即用的記憶體模組幫助ADI加速了Linux開機確認。

UART模擬軟體設定:不支援韌體認證所需的來自終端機收/發資料,在終端機不會印出韌體除錯訊息。

 解決方案:ADI以虛擬UART取代RTL UART,支援從終端機傳送收發資料以進行韌體確認,並支援所有標準與非標準鮑率。

乙太網路VIP模擬軟體設定:在硬體仿真器上不支援以模擬軟體為基礎的乙太網路VIP,需要Accelerated VIP (AVIP)來加速乙太網路測試。

 解決方案:ADI開始使用模擬軟體與硬體仿真器都支援的AVIP作為乙太網路測試解決方案,利用AVIP,ADI也能取得可合成Verilog驅動器,透過DPI-C驅動流量,透過晶片封裝協議(chip package protocol, CPP)代理主機與乙太網路TB元件互動,通過乙太網路匯流排功能模組(BFM)至乙太網路待測裝置(DUT)。

與應用程式直接連結以進行即時乙太網路測試。

解決方案:除了那些解決方案,ADI也想要驗證即時應用程式以及主機位於外部、驅動即時乙太網路流量的客戶應用案例情境。針對Joint Test Action Group (JTAG),ADI有一個IO板卡連結至CPU,借助JTAG除錯變量(debug variable)進行除錯。ADI成功將執行時間從14小時縮短至5分鐘,將韌體開機速度從幾天減少至幾小時,並實現在IO板卡上的JTAG除錯。



雖然時脈設計達748 kHz的Palladium性能比模擬軟體快了近170倍,仍不能滿足韌體團隊的需求,其高利用率(high domain utilization)已不敷Firmware工程師使用,而乙太網路AVIP也不支援MACSEC與PTP。

為因應對更高速度的需求,ADI評估了傳統FPGA卻還是發現數個缺點,因此聯繫Cadence尋求解決方案。Cadence Protium X2解決了ADI團隊面臨的不足之處。傳統FPGA有時脈數量的限制,並且ASIC記憶體需要修改才能在FPGA上使用;ADI可以利用Protium X2無限制的設計時脈與自動記憶體編譯克服限制。FPGA分區(partition)仍是一個重要任務,傳統FPGA必須以純手工進行,但在Protium是自動化的。



在傳統FPGA進行時序收斂一直是個噩夢,特別是針對高複雜度設計;相較之下,Protium可保證無hold violations,並縮短時序收斂時間。以傳統FPGA進行電路內bring-up, FPGA佈局與繞線(P&R)需要很長的反覆時間,Protium提供了自動化約束生成,大幅度地幫助了ADI並保證P&R成功。

Dynamic Duo的優勢

ADI證實,相較於傳統FPGA,Protium X2改善了bring-up時間,這有助於加速整體解決方案。ADI團隊的使用說明Dynamic Duo如何實現更快速韌體開機與系統應用情境驗證。利用一致性流程簡化Palladium轉移至Protium的流程,ADI團隊取得來自與Cadence應用工程師、研發團隊合作的龐大支援。

ADI團隊觀察到:

  • Palladium Z2的性能比模擬軟體高出約170倍,一致性流程對於減少bring-up的貢獻巨大。
  • Protium X2的原型製作另外將性能再提升了超過4倍。
  • 以Indago (現在名為VerisiumTM Debug)、DCC卡以及Palladium能簡化不同層級的除錯。
  • 離線波形轉換有助於減少在Palladium Z2與Protium X2的波形傾注時間。

    當設計規模越來越大、嵌入式軟體持續成長,但專案時程卻縮減,工程師需要硬體模擬器與原型製作解決方案,提供全面性的IP/SoC設計驗證、系統驗證,硬體與軟體回歸測試,以及早期軟體開發。Palladium與Protium組成的Dynamic Duo,提供可控制、具能見度(visibility)的資料中心等級原型製作,以及在統一的編譯器與除錯環境中為數十億閘極設計實現MHz性能,支援快速bring-up並完成軟硬體除錯。


如果您想體驗這種真正的創新與突破性技術,歡迎與我們聯繫(tw_event@cadence.com)!

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information