本文將討論 IoT 邊緣器件的設計平台選擇。以 smart sensor 以及 sensor hub 來說,需要 8-bit MCU 或是 32-bit Arm Cortex M0/M3/M33 整合 MEMS sensor 就相當足夠。
而以當紅的電腦視覺應用來說,現成的開發板包括 CPU-only 或 GPU-based。而 custom platform 可以考慮 FPGA 或是 custom ASIC。
電腦視覺的的辨識能力,已經從雲端 (cloud server) 轉移到邊緣運算 (edge computing),來降低頻寬以及雲端運算需求,獲得可靠即時的辨識。舉例來說,汽車的電腦視覺應用在行車紀錄器的來車辨識,以及自動駕駛,這都需要在地化即時可靠的邊緣運算,而不能仰賴需要寬頻網路的雲端運算。
GPU 可以提供即時可靠的運算能力,但缺點面積大、高耗能和高成本,不容易整合在隨身的攝影機。為了在面積、性能、成本之間取得最佳的平衡,就必須選擇 custom platform 包括 FPGA 以及 Custom ASIC。 FPGA 可做為 Custom ASIC 前期的原型 (prototype),或是最終產品。
系統模型需要應用 System C 以 Transaction Level Modeling (TLM) 來表達,可以應用 HLS 來賺寫 System C,以及實現電腦視覺複雜的演算法,如 CNN。
HLS 的問世,讓開發者很容易地利用 FPGA 或是 Custom ASIC 實現電腦視覺晶片。HLS 可以整合先前定義好已經最佳化的 RTL IP。
譬如,IoT 邊緣器件必須具備高度安全性、隱私保護以及保密機制、HLS 設計流程就可以整合加密的 IP。
通常,功耗的資訊必須在合成 RTL 甚至布局實現之後才知道,HLS 結合實體布局的製程技術,在高階合成時可以預知功耗,讓開發者對於功耗、面積、以及性能做最佳化的設計。確保在短時間內能實現有競爭力的晶片。
而以當紅的電腦視覺應用來說,現成的開發板包括 CPU-only 或 GPU-based。而 custom platform 可以考慮 FPGA 或是 custom ASIC。
- CPU-only,利用現成的 CPU,但不足以應付電腦視覺的即時運算,譬如即時的人臉辨識,所以需要硬體加速器,如 GPU,或是 FPGA。例如: Intel Edison 和 Galileo 平台、Qualcomm 的 Internet of Things Development Platform。
- GPU-based,例如:NVIDIA Tegra K1、Tegra X1 GPU
- FPGA,例如:Altera Arm-based SoC、Xilinx ZYNQ All Programmable SoC。
- Custom ASIC 則是運用 RTL 或是 HLS 全客製化實現晶片。
電腦視覺的的辨識能力,已經從雲端 (cloud server) 轉移到邊緣運算 (edge computing),來降低頻寬以及雲端運算需求,獲得可靠即時的辨識。舉例來說,汽車的電腦視覺應用在行車紀錄器的來車辨識,以及自動駕駛,這都需要在地化即時可靠的邊緣運算,而不能仰賴需要寬頻網路的雲端運算。
GPU 可以提供即時可靠的運算能力,但缺點面積大、高耗能和高成本,不容易整合在隨身的攝影機。為了在面積、性能、成本之間取得最佳的平衡,就必須選擇 custom platform 包括 FPGA 以及 Custom ASIC。 FPGA 可做為 Custom ASIC 前期的原型 (prototype),或是最終產品。
高階合成 High Level Synthesis (HLS)
系統模型需要應用 System C 以 Transaction Level Modeling (TLM) 來表達,可以應用 HLS 來賺寫 System C,以及實現電腦視覺複雜的演算法,如 CNN。
HLS 的問世,讓開發者很容易地利用 FPGA 或是 Custom ASIC 實現電腦視覺晶片。HLS 可以整合先前定義好已經最佳化的 RTL IP。
譬如,IoT 邊緣器件必須具備高度安全性、隱私保護以及保密機制、HLS 設計流程就可以整合加密的 IP。
通常,功耗的資訊必須在合成 RTL 甚至布局實現之後才知道,HLS 結合實體布局的製程技術,在高階合成時可以預知功耗,讓開發者對於功耗、面積、以及性能做最佳化的設計。確保在短時間內能實現有競爭力的晶片。