Tegra SoC 用在視覺計算,從智慧手機、平板、到個人娛樂系統 (Infotainment)、輔助駕駛和遊戲應用。本案例的 Tegra X1 是 Android 系統上的超級計算機,NVIDIA Shield電視盒上使用以外,Google 也應用在其自家的平板電腦 Pixel C上。司任天堂的遊戲主機 Switch 上也使用了客製化的 X1。Tegra X1 就含有高階合成設計出的模塊。
Catapult HLS 被應用在多媒體模塊設計,視訊解碼,JPEG 編碼解碼功能。幾個數字:
設計複雜度增加,舉例來說,H.265 的 50% 壓縮比改善,但是設計複雜度卻成數倍增加,需要數以千計的 CPU 做回歸測試,百萬或是億級的驗證週期。很少有公司可以負擔大量的 CPU 和電力消耗。
High Level Synthesis 的最終目標,是讓開發人員使用高階語言,例如 System C、C、C++,來實現所需要的硬體功能。
X1 包含 :
- CPU:ARMv8 的ARM Cortex-A57四核+ ARM的Cortex-A53四核(64位元)
- GPU:Maxwell 架構為主的256核GPU
4K視訊編碼/解碼
Catapult High Level Synthesis 應用結果
Catapult HLS 被應用在多媒體模塊設計,視訊解碼,JPEG 編碼解碼功能。幾個數字:
- 5 倍簡化的程式碼
- 1000 倍的 CPU 精簡,在回歸測試 (regression test) 時
- 1000 倍增加的驗證測試可能
- 50% 的開發時程降低
- 40% 的驗證時程精簡
- 40% 的功率消耗節省,在應用 PowerPro 之後達成
RTL 方法的危機
設計複雜度增加,舉例來說,H.265 的 50% 壓縮比改善,但是設計複雜度卻成數倍增加,需要數以千計的 CPU 做回歸測試,百萬或是億級的驗證週期。很少有公司可以負擔大量的 CPU 和電力消耗。
High Level Synthesis 的好處
主要有兩大好處:
一般來說, RTL 開發必須耗上三個月的時間完成設計,並且才知道時序和面積是不是符合設計規範。而 HLS 設計以 C-model 開發,將時序和面積設定成設計規範,持續最佳化高階的硬體功能,還符合時序和面積的規範。
- 高生產力
- 1000x 計算機資源的精簡
開發者利用 micro-architecture exploration 架構,可以執行:
- what-if 分析
- 面積、功耗、性能的權衡分析 (trade-off)
一般來說, RTL 開發必須耗上三個月的時間完成設計,並且才知道時序和面積是不是符合設計規範。而 HLS 設計以 C-model 開發,將時序和面積設定成設計規範,持續最佳化高階的硬體功能,還符合時序和面積的規範。
驗證方便,可先建立純粹全功能的 C-model,和 HLS C-model 相互比較,可以快速驗證,完成功能性的驗證。
Catapult HLS C-model 可以支援 System C、C、C++ model 以及混合設計,非常方便。