天天看點

SOC常見架構_RISCV AI SOC實戰(一,概述及架構設計)

SOC常見架構_RISCV AI SOC實戰(一,概述及架構設計)

寫完了低功耗SOC設計,我們來介紹一個實際可用于邊緣端AI計算的SOC設計。

這個系列要達到兩個目的。一是介紹某個可以直接用于實際生産超簡單的邊緣端超低功耗SOC。二是盡量科普向,多介紹重要的原理,少介紹冗長的細節,盡量涉及到方方面面。三,如果有時間,會簡單介紹一下常用的AI加速核心設計。

我們愉快的開始吧~

一、晶片整體架構

SOC常見架構_RISCV AI SOC實戰(一,概述及架構設計)

晶片架構如上圖所示。共有三個子產品組。

計算核心組。

其中隻有一個主裝置,既RISC-V核心。此處需要注意的是一般來講我們在這種RISC核心中傾向于使用哈弗架構而不是馮諾依曼架構。也就是說資料和指令不共享總線。是以指令存儲IMEM可以做進RISC-V核心。内容主要包括了

    • RISCV的CPU核心,資料存儲DMEM(一般由SRAM來實作)。
    • QSPI FLASH。
    • AI加速核心。
資料外設組。

這一組主要用于晶片和外界進行資料交換。由于晶片的應用場景是低功耗場景,故沒有高速的接口(例如DDR PHY),全部用APB總線連接配接。主要包括了

  • ADC用于連接配接各種傳感器(例如震動與溫度)
  • SPI接口用于提供外設控制(例如FLASH和震動傳感器)
  • I2C用于連接配接EEPROM等外設
  • UART可以連接配接藍牙和加速度傳感器等
  • GPIO用于調試以及靈活處理其他輸入輸出信号
系統外設組。

該組子產品包括了維持SOC正确運轉所需要的必須子產品。包括了

  • PMU,Power Manager Unit, 用于管理晶片的功耗。
  • RTC, Real-time Counter, 一個計數器,計數完成後生成中斷。
  • Watchdog, 看門狗。用于發現系統挂死後reset系統的。
  • RSTGEN, 用于産生系統複位信号的子產品。
  • CLKGEN, 用于産生系統所需的各個時鐘的子產品。

二、SOC的時鐘管理

時鐘和時鐘頻率會極大影響功耗。由于我們是邊緣端低功耗的晶片,故一共需要兩個時鐘域。

主時鐘域:計算核心組和資料外設組

位于主時鐘域。該時鐘域在運作時速度較快,一般來講運作于8M-100M之間。

常開時鐘域:

主要用于系統外設組。由于這個時鐘域需要常開的,是以頻率會比較慢,常見的值是32.768KHz。

具體的時鐘管理以及CLKGEN子產品詳見文章桔裡貓:RISCV AI SOC實戰(二,SOC的時鐘管理)。

三、SOC的電源功耗管理

由于是邊緣低功耗晶片,故設計低功耗模式時非常重要的。該晶片同樣具有兩個電源域。

主電源域:計算核心組和資料外設組

位于主電源域。該電源域是可以被關斷的。

常開電源域:

主要用于系統外設組。這個電源域不應該斷電。

可以實作三種低功耗模式

  • 正常模式, 兩個電源域都打開。
  • 等待模式, 兩個電源域都打開。有一條專門的指令(WFI, Waiting for Interrupt),core執行以後會關斷核心的時鐘。等待中斷後再打開時鐘。
  • 睡眠模式。 直接把住時鐘域關斷。

具體的電源管理子產品及PMU子產品詳見文章桔裡貓:RISCV AI SOC實戰(三,SOC的功耗管理)。

四、SOC的複位管理

由于存在多個電源域與時鐘域,故系統的複位顯然是要有順序的。否則容易發生複位錯誤。一個總的原則是先複位低優先級的子產品(也就是外設)。對于本設計來講,先複位常開時鐘域,再複位主時鐘域。需要注意的是每個時鐘域都要對複位信号進行異步接受同步釋放。

具體的複位管理及RSTGEN子產品詳見文章桔裡貓:RISCV AI SOC實戰(四,複位管理)。

五、SOC的中斷管理

emm 這塊在上圖裡沒有專門的子產品。因為一般來講中斷會劃分在RISC-V Core那個大子產品裡。這個東西一般RISCV核心的提供商會提供這個東西,但是還是要明白原理。

具體的中斷管理詳見文章桔裡貓:RISCV AI SOC實戰(五,中斷管理)。

六、SOC的軟體流程及上電流程

程式編譯好後會先放入FLASH,SOC上電以後會把程式從FLASH拷到片上開始執行。具體上電boot流程可以看以前這篇文章桔裡貓:你碼的代碼是如何在SOC晶片上跑起來的。

七、AI CORE如何設計

這個東西講起來就比較多了。和SOC關系其實不是很大。是以放在了一個新的系列講。桔裡貓:如何設計AI晶片中的加速核心(一,綜述)。

總結

這個系列主要是介紹一個實際使用的低功耗AI SOC裡面方方面面的設計。邊緣端晶片的好處就是能簡化就簡化,是以介紹起來還算比較友善。SOC主要也是一些經驗性的東西,隻要走過一遍其實就變成了一個純工程問題,沒有特别難的科研問題需要解決。但SOC确實是國内各個小晶片公司最喜歡的形式,因為專用的同時能兼顧一部分通用性,又避免了直接在通用領域和巨頭進行競争。

紙上得來終覺淺啊,有機會一定要自己參與流片一兩個SOC對裡面的細節才能算是真正了解。