AMBA原理与IP包装(Wrapping)流程_第1页
AMBA原理与IP包装(Wrapping)流程_第2页
AMBA原理与IP包装(Wrapping)流程_第3页
AMBA原理与IP包装(Wrapping)流程_第4页
AMBA原理与IP包装(Wrapping)流程_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AMBA原理與IP包裝(Wrapping)流程General Systems LAB/系統晶片實驗室國立高雄第一科技大學 陳朝烈 教授崑山科技大學 吳俊慶 鄭宇良1AMBA簡介目錄AMBA系統架構圖 4各種不同晶片匯流排之比較 5ASB Bus使用條件 6AHB Bus使用條件 7APB Bus使用條件 8AHB介紹與包裝AMBA AHB signals 簡介 10典型匯流排連接方式 13AHB操作原理 14AMBA Wrapper 15BUS權限轉換波形圖 16AHB實例:將DATA存入記憶體 172IP Wrapper目錄Master IP Wrapper之FSM 21Slave IP W

2、rapper之FSM 24模擬波形圖模擬說明 28模擬一 29模擬二 30模擬三 313AMBA簡介4AHB Bus or ASB BusAPB BusARMLCDControllerBridgeArbiter/DecoderTimer0/1/2UARTDMAGPIO2.1.1 AMBA系統架構圖52.1.2 各種不同晶片匯流排之比較OPBPLBAPBASBAHBPIbusPIbus2支援頻寬(bit)8,16,328,16,24,32328,16,322n(n=310)8,16,328,16,24,32,64最高頻寬(cycle)1byte2byte4byte4byte128byte1byt

3、e1byte特性低速低功率高效率高頻寬低速低功率高速高效能高速高效能高速高頻寬高速高頻寬時序準則百分比百分比時序圖時序圖時序圖早,中,晚早,中,晚時脈同步是是是(正緣)是(負緣)是(正緣)是(正緣)是(正緣)匯流排多工器多工器多工器三態電路多工器三態電路三態電路中斷否否否否否否否分離式資料傳輸否否否否是是是仲裁者是是否是是是是連續資料傳輸是是否是是是是AMBA Bus62.1.3 ASB Bus使用條件 ASB匯流排為舊版的高速(系統)匯流排,現在幾乎都被AHB取代,因為ASB是負緣觸發,而電路設計中,正緣觸發技術比較純熟,且一般特定應用積體電路程式庫(ASIC library)在正緣觸發的正

4、反器設計通常有較佳的表現等,所以現在較常見的匯流排為AHB及APB。72.1.4 AHB Bus使用條件 有多個MASTER,而且都為高效能的IP,常見的有處理器或DMA控制器等。82.1.5 APB Bus使用條件 APB匯流排用於連接速度較慢的系統模式和頻寬較低的外接設備,將功率消耗降至最低,並減低介面之複雜性。因所有匯流排訊號都與時脈訊號有關,可以使用時脈頻率較低(低於AHB)之匯流排。9AHB介紹與包裝102.2.1 AMBA AHB signals 簡介Master:HADDR:32bit的位址匯流排HWRITE:讀寫控制線,1為寫入、0為讀取HWDATA:32bit的寫入資料匯流排

5、HTRANS:2bit的狀態訊號,01為忙碌、10為第一筆資料HBUSREQ:向仲裁者要求使用匯流排的訊號腳112.2.1 AMBA AHB signals 簡介Slave:HREADY:匯流排轉讓訊號,1為處理完成、0為需再延 遲1cycleHRESP:2bit的處理狀態,00為完成、01為錯誤、 10為再試HRDATA:32bit的讀取資料匯流排122.2.1 AMBA AHB signals 簡介Decoder:HSEL:Slave選擇訊號,依據位址解碼,選擇一個特 定的SlaveArbiter:HGRANT:匯流排使用權之選擇訊號,1為允許使用匯 流排、0為禁止使用132.2.2 典型

6、匯流排連接方式Master#1Master#2Master#3Slave#1Slave#2Slave#3Slave#4ArbiterDecoderHWDATAHWDATAHWDATAHRDATAHRDATAHRDATAHADDRHADDRHADDRHWDATAHWDATAHWDATAHWDATAHRDATAHRDATAHRDATAHRDATAHADDRHADDRHADDRHADDRWrite data muxRead data muxAddress & control mux142.2.3 AHB操作原理AHB以仲裁器來控制多工器以連接在其上的MASTER與SLAVE。在AHB匯流排上,其操作

7、順序一般如下:MASTER要求使用匯流排仲裁器回應允許訊號MASTER送出位址與控制訊號將位址與控制訊號送到所有的Slave端Decoder解碼,致能正確的Slave來接受資料Slave依據自身處理狀態做出回應152.2.4 AMBA WrapperAHB BusFPGAIPSDRAM ControllerIP WrapperSDRAM ControllerFSMCmdregBufIP WrapperHCLKHADDRHWDATAHRDATAHREADYHREADYout.HSEL162.2.5 BUS權限轉換波形圖 T1T2T3T4T5T6T7T8T9T5:這段時間,切換匯流排使用權,並將最

8、後一筆控制及位址訊號送出T6;這段時間,接收到HREADY為0訊號,故訊號延長T7:這段時間,接收到HREADY為1訊號,M1交出控制及位址的匯流排 使用權,並送出最後一筆資料T9:M1交出資料匯流排使用權172.2.6 AHB實例:將DATA存入記憶體ArbiterRAMChipRAM Ctrl(Slave1)HBUSREQ_M1 =1HGRANT_M1 = 1HADDR = AUSB Ctrl(Master1)AHBDecoderHMASTER = M1HTRANS =NONSEQothers(Slave2)HSEL_S1 = 1AHBT1T2HWRITE = 1HBURST = INCR

9、4HSIZE = WORDT3Master2HBUSREQ_M2 =1HADDR = A+4HTRANS =SEQHREADY = 1並接收位址及控制訊號寫資料到記憶體裡HWDATA = DATA(A)HADDR = A+8HTRANS =SEQHREADY = 1並接收位址及控制訊號寫資料到記憶體裡HWDATA = DATA(A+4)T4T5HADDR = A+12HTRANS =SEQHREADY = 0HWDATA = DATA(A+8)HGRANT_M1 = 0HGRANT_M2 = 1HSEL_S1 = 1HSEL_S1 = 1HSEL_S1 = 1來不及寫入182.2.6 AHB實

10、例:將DATA存入記憶體ArbiterRAMChipRAM Ctrl(Slave1)USB Ctrl(Master1)AHBDecoderothers(Slave2)AHBMaster2T6HADDR = A+12HTRANS =SEQHWDATA = DATA(A+8)HREADY = 1並接收位址及控制訊號寫資料到記憶體裡T7HWDATA = DATA(A+12)HREADY = 0HMASTER = M2T8HWDATA = DATA(A+12)HREADY = 1並接收位址及控制訊號寫資料到記憶體裡HTRANS =NONSEQHSEL_S2 = 1T9HWRITE = 1HBURST

11、= INCR4HSIZE = WORDHADDR = BHRESP = OKAY寫入完成T10.來不及寫入HSEL_S1 = 1HSEL_S1 = 1HSEL_S1 = 119IP Wrapper202.3.1 Master IP Wrapper之FSMStep1:State assignment (state definition)idle:等待開始或工作結束。要求使用bus:準備開始動作,對Arbiter要求要使用bus,並等待。準備傳值及初值設定:設定傳送資料格式。(例:HBURST= INCR4、 HSIZE= Word,等等)傳送資料:按照傳送格式傳送資料。忙碌:Slave來不及處理

12、完,等待一個週期。重新傳值:Slave要求重新傳上一筆資料。212.3.1 Master IP Wrapper之FSMStep2:Define state transitions (event triggered, and state transition)idle忙碌傳送資料R/W要求使用busHGRANTx = 0準備傳值及初值設定HGRANTx = 1HREADY = 1HREADY = 0HREADY = 1HRESP = OKAYHREADY = 1重新傳值HRESP = RETRYHRESP = RETRYHREADY = 1HRESP = ERROR222.3.1 Master

13、IP Wrapper之FSM Step3:State Actionidle:if R=1 or W=1 then HBUSREQx=1;要求使用bus:if HGRANTx=1 then State =準備傳值&初值設定;準備傳值&初值設定:if HREADY=1 then HTRANS=NONSEQ;Address=自訂;control=自訂;傳送資料:if HREADY=0 then (HTRANS/Address=維持不變); if HRESP=ERROR then State =要求使用bus;if HRESP=RETRY then State =重新傳值;忙碌:if HREADY=1

14、 then (Address=跳到下一筆);重新傳值:if HRESP=RETRY and HREADY=1 then Address=跳到上一筆; 232.3.2 Slave IP Wrapper之FSMStep1:State assignment (state definition)idle:等待開始或工作結束。Start:準備開始動作,等待接受控制訊號。R/W Start:按照Master發出的訊號傳送資料/做出回應。停止接收訊號:Master來不及處理,要求等待。R/W Next:按照Master發出的訊號傳送資料/做出回應(差別在於無 ERROR)。要求重新傳值:Slave來不及處理

15、,要求重新傳上一筆資料。ERROR:資料錯誤。ErrorCnt:資料錯誤狀態。242.3.2 Slave IP Wrapper之FSMStep2:Define state transitions (event triggered, and state transition)Start要求重新傳值R/WStartHWRITE= 1/0HTRANS = NONSEQHTRANS = SEQHSELx = 1HTRANS = BUSYR/WNEXT停止接收訊號HTRANS = BUSYHTRANS = SEQHTRANS = IDLEERRORDataCnt = EndCnt Begun 1idle

16、Cnt next addr=自訂HBURST = (SINGLE or INCR)ErrorCnt =2signal說明ErrorCnt計數資料錯誤狀態需維持的時間EndCnt由HBURST發出來的訊號決定需要完成的資料數DataCnt計數已經完成的資料數BegunSDRAM Controller 本身的所產生的訊號,為1時表示處理完成可以處理下一筆資料252.3.2 Slave IP Wrapper之FSMStep3:State Actionidle:if HSELx=1 then State =Start;Start:if HWRITE=1/0 ant HTRANS=NONSEQ then

17、 HREADY=1;HRESP=OKAY;EndCnt=HBURST(用CASE編碼)R/W Start:if HTRANS=SEQ then HREADY=1;HRESP=OKAY; DataCnt =DataCnt+1; if HTRANS=BUSY then State = 停止接收訊號; if (cnt=next addr) and (HBURST = SINGLE or INCR)then HREADY=0;HRESP=OKAY;停止接收訊號:if HTRANS=SEQ then HREADY=1;HRESP=OKAY; DataCnt =DataCnt+1;R/W Next:if

18、DataCnt = EndCnt then HREADY=1;HRESP=OKAY; DataCnt=0; if HTRANS=BUSY then State = 停止接收訊號; if (cnt=next addr) and (HBURST = SINGLE or INCR)then HREADY=0;HRESP=RETRY;要求重新傳值:if HTRANS=IDLE then HREADY=1;HRESP=OKAY;ERROR:if ErrorCnt=2 then State = idle; DataCnt=0;26模擬波形圖 272.4.1 模擬說明 因為沒有寫Arbiter,所以hgrant改成I/O由使用者自行設定:若hgrant =1表示允許Master0使用bus若hgrant =0表示有別的Master使用bus,Master0無法使用bus28在M0發出HBUSREQ = 1 時的下一個CLK, 先準備好第一筆ADDR等到Arbiter允許M0使用BUS時( hgrant = 1 ),才把控制訊號及ADDR等資料送到 BUS上,在S0的hsel被選中時( hsel = 1 )才開始收bus的資料2.4.2 模擬一I/O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论