久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

AHB_lite

 羅森內(nèi)力 2017-02-07

AHB總線實(shí)現(xiàn)了簡(jiǎn)單的基于burst的傳輸,數(shù)據(jù)總線帶寬可配置32-1024bit,。可以實(shí)現(xiàn)簡(jiǎn)單的fixed pipeline在address/control phase和

             data phase之間,。

典型的AHB的slave包括:internal memory device,,external memory interfaces,high bandwidth peripheral,。

AHB必須是對(duì)齊傳輸,,word,addr[1:0]為0,half-word,addr[0]為0,。包括wrap burst傳輸,,也必須是對(duì)齊的。

 

AHB-Lite協(xié)議是整個(gè)AHB協(xié)議的子集,,只支持一個(gè)總線主設(shè)備,,不需要總線仲裁器及相應(yīng)的總線請(qǐng)求/授權(quán)協(xié)議,

             不支持Retry和Split響應(yīng),。

AHB-Lite的典型應(yīng)用結(jié)構(gòu)是一個(gè)AHB-Lite master,,一些AHB-Lite slaves。slave由APB總線實(shí)現(xiàn),,HSEL信號(hào)由一個(gè)

             address decoder產(chǎn)生,。從slave到master的rdata,response由一個(gè)slave-to-master multiplexor通過選址

             送給master,。

 

AHB中的transfer由兩部分組成,,Address phase,Data phase,。

slave可以通過信號(hào)HREADY來延長(zhǎng)data phase,,但是不能延長(zhǎng)address phase。

在master比較繁忙時(shí),,可以通過busy transfer,,表示burst還在繼續(xù),相當(dāng)于多延時(shí)一個(gè)address cycle,。

 

AHB信號(hào)大致可以分為五類:

            Global signals:HCLK,,HRESETn;

            Master signals:HADDR,,32bit的地址線,。

                                   HBURST,3bitde burst長(zhǎng)度和類型,。支持長(zhǎng)度為4/8/16的INCR/WRAP類型的burst,。

                                                  未定義長(zhǎng)度的INCR類型的burst。和Single burst兩種新類型,。

                                    HMASTLOCK,,表示一個(gè)locked的transfer,,主要用在一個(gè)存在多個(gè)master訪問的slave原語操

                                                  作中。因?yàn)锳HB并不存在亂序操作,,所以單一master時(shí),,并沒用。arm建議,,lock transfer之后

                                                  加一個(gè)IDLE的transfer,。

                                   HPROT,4bit包含data/opcode,supervisor/user之外,,還包含bufferable,cacheable兩位 

                                                AHB并沒有對(duì)secure world的支持,。

                                   HSIZE, 3bit表示transfer的帶寬,,必須小于AHB配置的BUS width,。    

                                                AHB中的byte lanes由address offset來決定,對(duì)于32bit的bus,,0x1在小端格

                                                  式就只選擇最低的byte,。 

                                   HTRANS,2bit,,只有AHB的信號(hào),,表示前后兩個(gè)transfer之間的關(guān)系。

                                                  IDLE,,表示無數(shù)據(jù)傳輸,,在lock transfer之后以idle結(jié)束。slave必須返回OKAY response,。

                                                 BUSY,,允許master在一個(gè)transfer中加入idle cycle。并不實(shí)現(xiàn)數(shù)據(jù)的傳輸,,address和control

                                                            signals反映在下一個(gè)transfer,。 

                                                 NONSEQUENTIAL,表示一個(gè)single transfer或者一個(gè)burst的第一個(gè)transfer,。 

                                                            這個(gè)transfer的address和control signal和前一個(gè)transfer沒關(guān)系,。

                                                 SEQUENTIAL,表示INCR/WRAP類型的transfer,。control signal和前一個(gè)transfer一樣,。

                                                            address根據(jù)前一個(gè)transfer計(jì)算得到。

                                                 AHB的每個(gè)transfer的控制是分開的,,其中包含burst信息,,而AXI的transfer是打包在一個(gè)burst中

                                                 的。AHB是基于transfer的,AXI是基于burst的,。

                                   HWDATA,,32bit。

                                  HWRITE,,1--write,;0--read。

             Slave signals:HRDATA,,31bit數(shù)據(jù),從slave送往Multiplexor,。

                                  HREADYOUT,,從slave送往Multiplexor表示每個(gè)slave自己的READY信號(hào),最終變?yōu)镠READY,。

                                  HRESP,,從slave送往Multiplexor的response信號(hào)。

            Decode signal:HSEL,,從decoder送往slave的HSEL信號(hào),,由高位地址線組合邏輯生成。

       Multiplexor signals:HRDATA,,31bit,,從Multiplexor送往master,讀數(shù)據(jù),。

                                     HREADY,,從Multiplexor送往master,transfer結(jié)束信號(hào),。

                                     HRESP,,從Multiplexor送往master,response信號(hào),。

 

AHB中的transfer:主要依靠address,,data之間的overlapping來實(shí)現(xiàn)pipeline。

                          所以當(dāng)slave在data phase通過HREADY延長(zhǎng)一個(gè) transfer時(shí),,下一個(gè)transfer的address phase不能被即時(shí)

                                    采樣,,也會(huì)被延長(zhǎng)。建議slave插入的wait state不超過16個(gè)clk,。

                          AHB沒有enable信號(hào),,所以不進(jìn)行傳輸時(shí),HTRANS信號(hào)有0,,表示idle,,無數(shù)據(jù)傳輸。

                         只有HTRANS為10,non_seq時(shí),才會(huì)開始一個(gè)transfer,。

                          AHB中的transfer是不能超過1KB的,,不是AXI的4KB。

                          AHB中要實(shí)現(xiàn)一個(gè)SEQ的transfer也是NONSEQ起始,,然后每次clock rising 采樣,,其后增加SEQ或BUSY類型

                                    的transfer,也是每個(gè)clock被采樣,。祥見相冊(cè),。

                          固定長(zhǎng)度的burst,只能自然結(jié)束,,最后一個(gè)seq transfer后,,結(jié)束。

                          undefined INCR burst,,通過non_seq和idle transfer來進(jìn)行結(jié)束,。

                          不允許通過busy tansfer,來結(jié)束burst,。

 

                          burst中的wrap操作:

                          AHB的wrap中要求兩種對(duì)齊:1)字對(duì)齊,;2)wrap對(duì)齊;

                          Aligned_address = (INT(start_address/number_of_bytes) * number_of_bytes)

                          Wrap_Boundary = (INT(start_address/number_of_bytes*burst_length) *(number_of_bytes*burst_length))

                          Address_1 = start_address

                          Address_n = Aligned_address + (N-1) * number_of_bytes

                          wrap的邊界地址等于burst_length*size的對(duì)齊地址,,在16byte的對(duì)齊,,只有低四位變化,每次增加4,。

 

                          當(dāng)slave在一個(gè)transfer中插入wait state時(shí),,下一transfer的可以類型改變,但是會(huì)有限制,。

                                  1)前一transfer在IDLE類型,,這一transfer可以是變?yōu)镹ONSEQ類型;

                                  2)前一transfer在BUSY類型且length固定,,這一transfer可以變?yōu)镾EQ類型,;

                                  3)前一transfer在undefined burst length且在BUSY類型,這一transfer可以變?yōu)槿我忸愋汀?/p>

                              當(dāng)slave在一個(gè)transfer中插入wait state時(shí),,在以下情況下可以改變address,。

                                   1)當(dāng)前是一個(gè)IDLE類型transfer,address可以改變,。

                                   2)當(dāng)slave返回一個(gè)error時(shí),,可以在HREADY為低時(shí),改變地址,。

 

AHB中一個(gè)transfer傳輸?shù)慕Y(jié)果:

1) Transfer pending------Hresp=0, Hready=0;

2) Transfer complete------Hresp=0, Hready=1;

3) error response first cycle-----Hresp=1, Hready=0;

4) error response second cycle----Hresp=1, Hready=1; 

 

AHB中的error返回,,必須持續(xù)兩個(gè)clock,,提前一個(gè)cycle可以讓master在發(fā)出下一個(gè)transfer之前,意識(shí)到這個(gè)transfer的error,。

在slave需要更長(zhǎng)時(shí)間返回slave時(shí),,也最多只能有兩個(gè)cycle的error resp,通過ready進(jìn)行extend,。

 

一個(gè)seq的transfer一般不能超過1K,,因?yàn)橐话鉏P的地址空間都是以1K為單位的,如果一個(gè)transfer超過了IP邊界,,因?yàn)閍ddress的值是不變的,,所以會(huì)導(dǎo)致

第二個(gè)IP傳輸?shù)臄?shù)據(jù)出錯(cuò),這時(shí)應(yīng)該用NONSEQ重新發(fā)起一個(gè)新的transfer,。

 

盡管AHB中有wrap類型的傳輸,,但是addr的計(jì)算還是master每一個(gè)cycle都計(jì)算一次的。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多