<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > FSL總線(xiàn)IP核及其在MicoBlaze系統中的應用

FSL總線(xiàn)IP核及其在MicoBlaze系統中的應用

作者: 時(shí)間:2008-06-02 來(lái)源:?jiǎn)纹瑱C及嵌入式系統應用 收藏

  2.2 總線(xiàn)的寫(xiě)操作時(shí)序

本文引用地址:http://dyxdggzs.com/article/83481.htm

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

       

  2.3 FSL總線(xiàn)讀操作時(shí)序

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

        

  3 FSL總線(xiàn)用法

  3.1 使用FSL總線(xiàn)的設備間通信
  
  目前Xilinx提供的FSL總線(xiàn)的版本是FSL_V20。兩個(gè)設備要使用FSL進(jìn)行數據傳輸,就必須分別作為主設備或從設備連接到FSL核上。如果需要進(jìn)行雙向的傳輸,只要兩個(gè)設備分別作為主從設備,使用兩個(gè)FSL核連接即可。
  
  無(wú)論是作為主設備或是從設備,都需要通過(guò)在設備的微處理器外設描述文件(MPD)中進(jìn)行相應的定義,以實(shí)現所需類(lèi)型的FSL接口。下面這段代碼就是一個(gè)分別定義了FSL主設備接口FSL_OUT和從設備接口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 通過(guò)FSL與MicroBlaze通信

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>