<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應用 > FSL總線IP核及其在MicoBlaze系統(tǒng)中的應用

          FSL總線IP核及其在MicoBlaze系統(tǒng)中的應用

          作者: 時間:2008-06-02 來源:單片機及嵌入式系統(tǒng)應用 收藏

            2.2 總線的寫操作時序

          本文引用地址:http://www.ex-cimer.com/article/83481.htm

            對總線的寫操作是由_M_Write信號控制 的。圖3是FSL總線的寫操作時序。FSL主設(shè)備在第一個時鐘上升沿檢查到 FSL_M_Full信號未置高,就允許主設(shè)備將FSL_M_Write置高,并將FSL_M_Data和FSL_M_Control推上總線,在下一個時鐘周期這些數(shù)據(jù)就被總線讀取并送入FIFO了。圖中的Write2和Write3是一組“背靠背”的連續(xù)寫操作。在Write3時,F(xiàn)IFO滿使得 FSL_M_Full信號被置高,迫使主設(shè)備取消自己的FSL_M_Write信號,直到一次讀操作將FSL_M_Full置低后,才可以發(fā)起另一次寫操作。因此,圖中暗示著在Write4處也發(fā)生了一次從設(shè)備的讀操作,否則FSL_M_Full將再次置高。

                 

            2.3 FSL總線讀操作時序

            對FSL總線的讀操作是由FSL_S_Read 信號控制的,圖4是FSL從設(shè)備的3次讀操作時序。當FSL總線上存在有效數(shù)據(jù)(FSL_S_Exists=‘1’),F(xiàn)SL_M_Data上的數(shù)據(jù)和 FSL_M_Control上的控制位就立即可以被FSL從設(shè)備讀取。一旦從設(shè)備完成讀操作,F(xiàn)SL_S_Read信號必須置高一個時鐘周期,以確認從設(shè)備成功完成了一次讀操作。在讀操作發(fā)生后的時鐘上升沿(圖中Read2處),F(xiàn)SL_M_Data和FSL_M_Control會被更新為新數(shù)據(jù),同時 FSL_S_Exists和FSL_M_Full信號也會被更新。同樣,這里暗示著在Readl和Read2之間發(fā)生了兩次主設(shè)備的寫操作。

                  

            3 FSL總線用法

            3.1 使用FSL總線的設(shè)備間通信
            
            目前Xilinx提供的FSL總線的版本是FSL_V20。兩個設(shè)備要使用FSL進行數(shù)據(jù)傳輸,就必須分別作為主設(shè)備或從設(shè)備連接到FSL核上。如果需要進行雙向的傳輸,只要兩個設(shè)備分別作為主從設(shè)備,使用兩個FSL核連接即可。
            
            無論是作為主設(shè)備或是從設(shè)備,都需要通過在設(shè)備的微處理器外設(shè)描述文件(MPD)中進行相應的定義,以實現(xiàn)所需類型的FSL接口。下面這段代碼就是一個分別定義了FSL主設(shè)備接口FSL_OUT和從設(shè)備接口FSL_IN的MPD文件:
            
            BEGIN my_fsl_peripheral
            OPTl0N IPTYPE="PERIPHERAL"
            OPTl0N IMP_NETLIST=TRUE
            BUS_INTERFACE BUS="FSL"_IN,BUS_STD=FSL,BUS TYPE="SLAVE"
            BUS_INTERFACE BUS="FSL"_OUT,BUS_STD=FSL,BUS_TYPE=MASTER
            ##Ports
            PORT CLK=””,DIR=IN,SIGIS=CLK
            PORT RESET=””。DIR=IN
            PORT FSL_S_READ=FSL_S_Read,DIR=out,BUS=FSL_IN
            PORT FSL_S_DATA=FSL_S_Data,DIR=in,VEC=[o:31],BUS=FSL_IN
            PORT FSL_S_CONTROL=FSL_S_Control,DIR=in, BUS="FSL"_IN
            PORT FSL_s_EXISTS=FSL_S_Exists,DIR=in,BUS=FSL_IN
            PORT FSL_M_WRITE=FSL_M_Write,DIR=out,BUS=FSL_OUT
            PORT FSL_M_DATA=FSL_M_Data,DIR=out,VEC=[o:31],BUS=FSL_OUT
            PORT FSL_M_CONTROL=FSL_M_Control,DIR=out, BUS="FSL"_OUT
            PORT FSL_M_FULL=FSL_M_Full,DIR=in,BUS=FSL_OUT
            
            3.2 通過FSL與MicroBlaze通信

            MicroBlaze軟核的FSL總線接口支持最多8對FSL連接,具體實現(xiàn)多少接口由系統(tǒng)硬件描述文件(MHS)中的參數(shù)C_FSL_LINKS決定。默認情況下該參數(shù)為0,表示不實現(xiàn)FSL接口。當需要使用FSL總線把MicroBlaze和中的一個或多個邏輯模塊連接起來時,必須設(shè)置該參數(shù)的值為相應的模塊數(shù)。該參數(shù)的取值范圍是0~8。
            
            在MicroBlaze指令集中還有針對FSL總線操作的指令,它們分別是:
            
            ◆get,put——阻塞式數(shù)據(jù)讀寫FSL,控制信號被置為0;
            ◆nget,nput——非阻塞式數(shù)據(jù)讀寫FSL,控制信號被置為0;
            ◆cget,cput——阻塞式控制位讀寫FSL,控制信號被置為1;
            ◆ncget,ncput——非阻塞式控制位讀寫FSL, 控制信號被置為1。



          關(guān)鍵詞: IP核 FSL MicoBlaze FPGA RISC OPB LMB

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();