- AHB-SRAM控制器在SOC芯片中的作用是什么?
- AHB-SRAM控制器用來控制系統對RAM進行讀寫操作;
- AHB總線
- 兩個phase:address phase 和 data phase的含義
-
- address phase:地址相位,持續單周期,用於准備傳輸地址和控制信號;
- data phase: 數據相位,准備傳輸數據;
- 單周期-HREADY拉高,數據有效;
- 多周期-通過HREADY拉低來擴展傳輸周期,最終HREADY拉高,傳輸完成;
- 傳輸類型:HTRANS[1:0]
- IDLE: Master被授權訪問總線但不執行傳輸,Slave需提供OKAY響應;
-
BUSY:總線正在執行一個burst傳輸,下次傳輸不能馬上進行;
-
NONSEQ: 一次操作的開始:burst的第一個傳輸,或者一個單一傳輸;
-
SEQ: burst傳輸中剩下的傳輸。
傳輸大小:HSIZE[2:0]
- 000:8bit=1byte,字節傳輸;
- 001:16bit=2byte,半字傳輸;
- 010:32bit=4byte,字傳輸;
- 011:64bit=8byte,
- 100:16byte,4字線;
- 101:32byte,8字線;
- 110:512位;
- 111:1024位;
- 突發類型:HBURST[2:0]
- single:單一傳輸;
- incr:不指定長度傳輸;
- wrap4:4拍回環;
- incr4:4拍增量;
- wrap8:8拍回環;
- incr8:8拍增量;
- wrap16:16拍回環;
- incr16:16拍增量;
- AHB-slave響應:HRESP[1:0]
- 00:OKAY,HEAADY為高;
- 01:ERROR,HEAADY為低;
- 10:RETRY,HEAADY為低;
- 11:SPLIT,HEAADY為低;
- 如何設計AHB-slave接口:
- 根據AHB規范中的slave接口時序圖進行接口定義,通過interface module 將驗證平台的接口進行例化,為了后續驗證平台搭建的方便,將接口進行modport的分類;
- SRAM接口協議:
- 接口時序特點(數據讀寫時序圖)
- 從機復位時序:
-
從機主要的時序參數:
- 從機復位時序:
- 接口時序特點(數據讀寫時序圖)
- AHB-SRAM控制器如何實現低功耗:
- 支持8/16/32位讀寫操作;
- 支持bank操作,64kb的地址空間划分為2個bank,每個bank的地址空間是32kb;
- AHB-SRAM控制器的設計架構圖:
- hready和hready_resp的區別是什么,AHB總線如何實現這兩個信號?
- 在sram中hready作為hready的輸入,hready_resp作為hready的輸出;
- 主要是為了解決在pipline傳輸過程中數據相位和地址相位重疊的響應時,同一相位的多個slave有需要hready拉低的需求,這樣的話傳輸成功的slave就可能收到重復地址的數據,傳輸錯誤;
- 通常會在AHB—slave端多出一個輸入hready_in;
- 對於hready_out有兩種處理方式:
- 通過一個mux,把在data phase的slave的hreadyout作為輸入連接到所有的slave;
- 把所有的slave的hreadyout相與,然后再連接到所有的slave;
- 對於hready_out有兩種處理方式:
- AHB必須看到hready_in&hready_out,才會認為一次傳輸成功;
- 默認hready_out = 1;