在影像處理、神經計算、寬頻通信以及電腦視覺晶片領域中,成功的公司都非常敏捷,探索許多架構,應付不斷更動的規格,才能保有優勢。
在傳統的 RTL 設計流程中,除錯和驗證占了整體 50% 的時程,要在最後的階段做演算法的變動或是更換架構,根本不可能做到。
而 HLS 設計流程,可確保快速設計和驗證,並利用 PowerPro 產生出低功耗的 RTL 代碼。
HLS 可以支援 C++ 和 System C,包含:未考慮時序 (untimed)、寬鬆時序 (lossy-timed) 以及精準週期 (cycle-accurate) 的程式碼。
在 HLS 流程中的 Catapult Design Checker 可以提供靜態 (linting) 以及正規 (formal) 分析,結果無誤再來進行模擬和合成。
針對 C++/System C 的覆蓋率分析,可以連結到 Questa Unified Coverage Database (UCDB) 做 RTL 的覆蓋率分析。
和傳統 RTL 開發相比,C++/System C 的模擬時間短,可快達 50~1000 倍,因此在同樣時間內可以做更多的驗證。更可以改動架構,很快評估看看。
也可以在原始碼不改的狀況下,更動限制條件,重新模擬看看結果。
在各種應用之下, HLS 的 Time To Market 相比於 RTL 開發,迅速很多。
設計週期的比較,大約加速 25~50% 的時程:
Qualcomm 發現 Snapdragon-based 的 codec IP 複雜度,導致設計和驗證時程相當,採用 Catapult HLS 開發,比起先前的幾個設計,加速了 1.5 到 2 倍時程。
Google 在設計獨立的 Video decode IP 半途中採用 Catapult HLS 開發,因為時程的節省,可以在不到三個月的時間,就加入額外的 H.265 支援以及 10-bit color。而且 RTL code 需要 300K 行,而 HLS C++ 只需要 69K 行的程式碼。後來更利用 HLS 開發完成了 5 百萬閘的 VP9 encoder。
NVIDIA 表示 Catapult HLS 挽救兩次專案的危機,降低了 80% 功能驗證的成本,原本需要 3 個月且使用1000 CPUs (租用付費的 cloud),降低到 2 周且僅需14 CPUs。HLS 讓他們能在兩周內更動 VP9/HVEC code 從 8 bit 到 10 bit,並在三天內更改製程和時脈,從 20nm/500MHz 到 28nm/800MHz。
在傳統的 RTL 設計流程中,除錯和驗證占了整體 50% 的時程,要在最後的階段做演算法的變動或是更換架構,根本不可能做到。
HLS 設計流程
而 HLS 設計流程,可確保快速設計和驗證,並利用 PowerPro 產生出低功耗的 RTL 代碼。
HLS 可以支援 C++ 和 System C,包含:未考慮時序 (untimed)、寬鬆時序 (lossy-timed) 以及精準週期 (cycle-accurate) 的程式碼。
在 HLS 流程中的 Catapult Design Checker 可以提供靜態 (linting) 以及正規 (formal) 分析,結果無誤再來進行模擬和合成。
針對 C++/System C 的覆蓋率分析,可以連結到 Questa Unified Coverage Database (UCDB) 做 RTL 的覆蓋率分析。
和傳統 RTL 開發相比,C++/System C 的模擬時間短,可快達 50~1000 倍,因此在同樣時間內可以做更多的驗證。更可以改動架構,很快評估看看。
也可以在原始碼不改的狀況下,更動限制條件,重新模擬看看結果。
在各種應用之下, HLS 的 Time To Market 相比於 RTL 開發,迅速很多。
設計週期的比較,大約加速 25~50% 的時程:
案例分享
Qualcomm 發現 Snapdragon-based 的 codec IP 複雜度,導致設計和驗證時程相當,採用 Catapult HLS 開發,比起先前的幾個設計,加速了 1.5 到 2 倍時程。
Google 在設計獨立的 Video decode IP 半途中採用 Catapult HLS 開發,因為時程的節省,可以在不到三個月的時間,就加入額外的 H.265 支援以及 10-bit color。而且 RTL code 需要 300K 行,而 HLS C++ 只需要 69K 行的程式碼。後來更利用 HLS 開發完成了 5 百萬閘的 VP9 encoder。
NVIDIA 表示 Catapult HLS 挽救兩次專案的危機,降低了 80% 功能驗證的成本,原本需要 3 個月且使用1000 CPUs (租用付費的 cloud),降低到 2 周且僅需14 CPUs。HLS 讓他們能在兩周內更動 VP9/HVEC code 從 8 bit 到 10 bit,並在三天內更改製程和時脈,從 20nm/500MHz 到 28nm/800MHz。