IoT 智能晶片的架構包括多種物理域,和單純的感測器相較,多了 MCU 以及射頻電路,邏輯閘數不多,大約數十K,時脈也大約數十 MHz,用成熟製程,如 180nm 到 65nm 就足夠。可參見我在 2018 年底在南京的物聯網智能晶片講座。
Arm Cortex M0/M3/M33 在市場上已經充分驗證,成熟製程的成本低,很適合系統商、新創團隊、任何想切入物聯網智能晶片的團隊,都可以考慮類似架構。
SoC 和微機電 (MEMS) 整合,以 MEMSIC 多年前量產的單晶片加速計為例,具有低成本、面積小、低功耗的優勢,使用即是成熟標準製程。
MEMS 設計需要特別的布局工具,以複雜的麥克風為例,Knowles 一直運用 Tanner L-Edit 工具多年,畫出大量圓弧狀圖案,做非曼哈頓圖形的物理驗證,在 2011 年五月時,SISONIC系列麥克風就出貨 20億 (2 Billion) 顆晶片。今日 Knowles 仍是世界第一大 MEMS 麥克風供應商。
由於物聯網智能晶片設計方法的成熟,系統商深知物聯網系統的規格,委託或自行開發客製化的 SoC,形成獨特的競爭力,甚至進軍晶片業,開創新的業務。
比起單純收集資料作簡單判斷,更升級的是賦予終端設備 AI 的能力,可以訓練並根據環境的資料作出推論以及回應。
人工智慧包含機器學習,其中兩個階段:
訓練需要利用大量過去的資料來訓練演算法,可以利用雲端資料中心的大量伺服器運算資源、電力以及資料庫,進行訓練。
而推論則是在應用的場域中,以現場的狀況,利用現場的資料學習和判讀做出回應。以自動駕駛的例子來說,必須針對路況即時回應,任何的延遲都會造成危險。
如果人工智慧只建構在雲端的資料中心,需要將所有的影像和聲音的每一筆資料,透過網路回傳給雲端的資料中心,再做回應,許多不可測的天候、地形、地區、恐怕都會造成危險,讓人工智慧在自動駕駛的應用成為不切實際。
Google TensorFlow 的技術頭兒 Pete Wardon 一句話總結 AI 往終端發展的必要性:"Fundamentally because that’s where all the data is." 資料所在之處必須有 AI。
AIoT 以應用很廣的電腦視覺晶片來說,演算法相對成熟,市場多元:
再來看比較小型的例子,Chips&Media 開發的 c.WAVE 100 深度學習電腦視覺 IP:
以 HLS 方法獲得優越的成果:
有更多案例,可以在 Mentor 的學習資源中心免費下載白皮書:
Arm Cortex M0/M3/M33 在市場上已經充分驗證,成熟製程的成本低,很適合系統商、新創團隊、任何想切入物聯網智能晶片的團隊,都可以考慮類似架構。
SoC 和微機電 (MEMS) 整合,以 MEMSIC 多年前量產的單晶片加速計為例,具有低成本、面積小、低功耗的優勢,使用即是成熟標準製程。
MEMS 設計需要特別的布局工具,以複雜的麥克風為例,Knowles 一直運用 Tanner L-Edit 工具多年,畫出大量圓弧狀圖案,做非曼哈頓圖形的物理驗證,在 2011 年五月時,SISONIC系列麥克風就出貨 20億 (2 Billion) 顆晶片。今日 Knowles 仍是世界第一大 MEMS 麥克風供應商。
由於物聯網智能晶片設計方法的成熟,系統商深知物聯網系統的規格,委託或自行開發客製化的 SoC,形成獨特的競爭力,甚至進軍晶片業,開創新的業務。
比起單純收集資料作簡單判斷,更升級的是賦予終端設備 AI 的能力,可以訓練並根據環境的資料作出推論以及回應。
從雲端擴展到終端的人工智慧
人工智慧包含機器學習,其中兩個階段:
- 訓練 (Training)
- 推論 (Inference)
訓練需要利用大量過去的資料來訓練演算法,可以利用雲端資料中心的大量伺服器運算資源、電力以及資料庫,進行訓練。
而推論則是在應用的場域中,以現場的狀況,利用現場的資料學習和判讀做出回應。以自動駕駛的例子來說,必須針對路況即時回應,任何的延遲都會造成危險。
如果人工智慧只建構在雲端的資料中心,需要將所有的影像和聲音的每一筆資料,透過網路回傳給雲端的資料中心,再做回應,許多不可測的天候、地形、地區、恐怕都會造成危險,讓人工智慧在自動駕駛的應用成為不切實際。
Google TensorFlow 的技術頭兒 Pete Wardon 一句話總結 AI 往終端發展的必要性:"Fundamentally because that’s where all the data is." 資料所在之處必須有 AI。
AIoT 晶片的開發
AIoT 晶片分為三類,GPU 可以提供即時可靠的運算能力,但缺點面積大、高耗能和高成本,不容易整合在隨身的攝影機。為了在面積、性能、成本之間取得最佳的平衡,就必須選擇 custom platform 包括 FPGA 以及 Custom ASIC。 FPGA 可做為 Custom ASIC 前期的原型 (prototype),或是最終產品。在 Custom ASIC 可實現輕量級、省電、特殊應用的神經處理單 元 (Neural Process Unit, NPU),為終端元件賦予 AI 的能力。
- GPU
- FPGA
- Custom ASIC
AIoT 以應用很廣的電腦視覺晶片來說,演算法相對成熟,市場多元:
- 安防:門禁監控、犯罪預防,人員追蹤
- 醫學:人體掃描建構出 3D 影像
- 汽車:輔助駕駛
- 消費性:手機、相機、虛擬實境 (Virtual Reality,簡稱 VR)
- 體育/遊戲:動作特效、擴充實境 (Augmented Reality,簡稱 AR)
- 機器人與視覺:自動化、定位、瑕疵檢測、無人機
- 零售:客戶追蹤,購買行為分析
- 農業:作物檢視,播種和土地辨識整治
來看看實際的例子,以 NVIDIA Tegra X1 來說,具有如下特點:
- CPU:ARMv8 的 ARM Cortex-A57 四核、Cortex-A53 四核(64 位元)
- GPU:Maxwell 架構為主的 256 核 GPU
- MPEG-4 HEVC和VP9編碼/解碼支持
- 台積電 20 奈米製程
- 功耗小於 10 瓦
NVIDIA 開發時,特別使用高階合成 (High Level Synthesis) 方法,和傳統的 RTL 設計方法相比較,得到的優越結果:
- 5 倍簡化的程式碼
- 1000 倍的 CPU 精簡,在回歸測試 (regression test) 階段
- 1000 倍更多的驗證測試可能
- 50% 的開發時程降低
- 40% 的驗證時程精簡
- 40% 的功率消耗節省
再來看比較小型的例子,Chips&Media 開發的 c.WAVE 100 深度學習電腦視覺 IP:
- 可用來偵測對象,如人體和汽車
- 可以處理 4K 解析度以及 30fps 視訊輸入
- 採行的 Deep Neural Network (DNN) 演算法
- 基於 Google 的 TensorFlow 框架
Chips&Media成立兩個團隊,其中一組使用傳統的 RTL 設計方法,另一組使用 HLS,促使 Chips&Media 採行 HLS 的原因為:
- DNN 演算法正在進化中
- 允許最後階段的改變,直接修改 C/C++ 代碼,重新產生 RTL 代碼。
- 快速評估探索許多架構,對 Power、Performance、Area (PPA) 優化
- 加速開發時程:可以精簡設計和驗證週期,以 C/C++ 增加新功能,比起 RTL,C/C++的 程式碼行數少了數倍。
以 HLS 方法獲得優越的成果:
- 開發週期:RTL 團隊花了 5 個月,而 HLS 團隊僅 2 .5 個月
- 面積:在 TSMC 28HPC 中相仿
- HLS 團隊認為將時脈頻率降低,可以更精簡邏輯閘數量,縮小面積。因此改動頻率重新類比合成,獲得更小的面積。而這樣的評估,運用傳統 RTL 設計方法是不可能做到的。
- 寫 C 程式碼時不需要考慮有限狀態機 (finite state machine),也不需要考慮暫存器 (register) 之間的時序。相較於 RTL,C 程式碼可讀性更高,模擬速度更快,大為加速開發時程。
有更多案例,可以在 Mentor 的學習資源中心免費下載白皮書: