国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種異步fifo控制器及防止異步fifo緩存數(shù)據(jù)溢出的方法

      文檔序號:9750519閱讀:893來源:國知局
      一種異步fifo控制器及防止異步fifo緩存數(shù)據(jù)溢出的方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及集成電路(IC, Integrated Circuit)設(shè)計領(lǐng)域,尤其涉及一種異步先入先出(FIFO, First Input First Output)控制器及防止異步FIFO緩存數(shù)據(jù)溢出的方法。
      【背景技術(shù)】
      [0002]在IC中往往有多個時鐘域,異步FIFO緩存作為一種有效的方法,被廣泛的應(yīng)用在跨時鐘域的信號處理中。但是異步FIFO緩存需要在兩個時鐘域中都設(shè)置有實現(xiàn)握手機制的接口才能保證其作用。當(dāng)有一個時鐘域沒有辦法實現(xiàn)握手的機制,異步FIFO緩存就有數(shù)據(jù)&出的風(fēng)險。
      [0003]目前對于該問題的處理方法是加大第二FIFO緩存的深度,來確保其不會溢出。但是,對于data位寬比較大第二 FIFO緩存,加大深度會造成巨大的硬件開銷。

      【發(fā)明內(nèi)容】

      [0004]為解決上述技術(shù)問題,本發(fā)明實施例提供一種異步FIFO控制器及防止異步FIFO緩存數(shù)據(jù)溢出的方法,能夠在防止異步FIFO緩存數(shù)據(jù)溢出的同時,減少硬件開銷。
      [0005]本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
      [0006]第一方面,本發(fā)明實施例提供了一種異步FIFO控制器,所述控制器包括:第一計數(shù)器、第二計數(shù)器、加法器和比較器,其中,
      [0007]所述第一計數(shù)器,用于獲取第二FIFO緩存待獲取的數(shù)據(jù)量;并將所述第二 FIFO緩存待獲取的數(shù)據(jù)量傳輸至所述加法器;
      [0008]所述第二計數(shù)器,用于獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量;并將所述第二FIFO緩存內(nèi)已存在的數(shù)據(jù)量傳輸至所述加法器;
      [0009]所述加法器,用于將所述第二 FIFO緩存待獲取的數(shù)據(jù)量與所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量進行相加,得到數(shù)據(jù)總量;并將所述數(shù)據(jù)總量傳輸至所述比較器;
      [0010]所述比較器,用于將所述數(shù)據(jù)總量與所述第二 FIFO緩存的深度進行比較,當(dāng)所述數(shù)據(jù)總量不小于所述第二 FIFO緩存的深度時,向所述第一 FIFO緩存發(fā)送停止指示信號,其中,所述停止指示信號用于指示所述第一 FIFO緩存停止輸出request信號。
      [0011]進一步地,所述第一計數(shù)器的第一輸入端口與第一 FIFO緩存的request輸出端相連接,用于獲取第一 FIFO緩存的request輸出端輸出的request信號;
      [0012]所述第一計數(shù)器的第二輸入端口與所述第二 FIFO緩存的valid輸入端相連接,用于獲取第二 FIFO緩存的valid輸入端輸入的valid信號;
      [0013]所述第一計數(shù)器,用于通過接收到request信號時加I且接收到輸入的valid信號時減1,獲取第二 FIFO緩存待獲取的數(shù)據(jù)量。
      [0014]進一步地,所述第二計數(shù)器的第一輸入端口可以與所述第二 FIFO緩存的valid輸入端相連接,用于獲取第二 FIFO緩存的valid輸入端輸入的valid信號;
      [0015]所述第二計數(shù)器的第二輸入端口可以與所述第二 FIFO緩存的valid輸出端相連接,用于獲取第二 FIFO緩存的valid輸出端輸出的valid信號;
      [0016]所述第二計數(shù)器,用于通過接收到輸入的valid信號時加I且接收到輸出的valid信號時減I,獲取第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量。
      [0017]進一步地,所述第二計數(shù)器與所述第二 FIFO緩存的指示寄存器進行連接,用于從所述指示寄存器獲取第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量。
      [0018]進一步地,所述第二計數(shù)器,用于通過讀取所述第二 FIFO緩存的讀寫指針的方式獲取第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量。
      [0019]進一步地,所述比較器,用于向第一 FIFO緩存的request輸出端輸出strobe信號,以使得所述第一 FIFO緩存拒絕向第二時鐘域發(fā)送request信號。
      [0020]第二方面,本發(fā)明實施例提供了一種防止異步先入先出FIFO緩存數(shù)據(jù)溢出的方法,所述方法包括:
      [0021]異步FIFO控制器獲取第二 FIFO緩存待獲取的數(shù)據(jù)量;
      [0022]所述異步FIFO控制器獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量;
      [0023]所述異步FIFO控制器將所述第二 FIFO緩存待獲取的數(shù)據(jù)量與所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量進行相加,得到數(shù)據(jù)總量;
      [0024]所述異步FIFO控制器將所述數(shù)據(jù)總量與所述第二 FIFO緩存的深度進行比較;
      [0025]當(dāng)所述數(shù)據(jù)總量不小于所述第二 FIFO緩存的深度時,所述異步FIFO控制器向第一FIFO緩存發(fā)送停止指示信號;其中,所述停止指示信號用于指示所述第一 FIFO緩存停止輸出request信號。
      [0026]進一步地,所述異步FIFO控制器獲取第二 FIFO緩存待獲取的數(shù)據(jù)量,包括:
      [0027]所述異步FIFO控制器獲取所述第一 FIFO緩存的request輸出端輸出的request信號;
      [0028]所述異步FIFO控制器獲取所述第二 FIFO緩存的valid輸入端輸入的valid信號;
      [0029]所述異步FIFO控制器通過接收到所述request信號時加I且接收到所述輸入的valid信號時減1,獲取所述第二 FIFO緩存待獲取的數(shù)據(jù)量。
      [0030]進一步地,所述異步FIFO控制器獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量,包括:
      [0031]所述異步FIFO控制器獲取所述第二 FIFO緩存的valid輸入端輸入的valid信號;
      [0032]所述異步FIFO控制器獲取所述第二 FIFO緩存的valid輸出端輸出的valid信號;
      [0033]所述異步FIFO控制器通過接收到所述輸入的valid信號時加I且接收到所述輸出的valid信號時減1,獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量。
      [0034]進一步地,所述異步FIFO控制器獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量,包括:
      [0035]所述異步FIFO控制器從所述第二 FIFO緩存的指示寄存器獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量;其中,所述指示寄存器包括用于指示所述第二 FIFO緩存中已存在的數(shù)據(jù)量。
      [0036]進一步地,所述異步FIFO控制器獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量,包括:
      [0037]所述異步FIFO控制器通過讀取所述第二 FIFO緩存的讀寫指針獲取所述第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量。
      [0038]進一步地,所述異步FIFO控制器向第一 FIFO緩存發(fā)送停止指示信號,包括:所述異步FIFO控制器向第一 FIFO緩存的request輸出端輸出strobe信號,以使得第一 FIFO緩存拒絕向第二時鐘域發(fā)送request信號。
      [0039]本發(fā)明實施例提供了一種異步FIFO控制器及防止異步FIFO緩存數(shù)據(jù)溢出的方法,通過FIFO控制器對第二 FIFO緩存中已有的數(shù)據(jù)數(shù)量和待接收的數(shù)據(jù)數(shù)量的數(shù)據(jù)總量進行計數(shù),隨后將數(shù)據(jù)總量與第二 FIFO緩存深度進行比較,當(dāng)數(shù)據(jù)總量超過第二 FIFO緩存深度時,F(xiàn)IFO控制器終止第一 FIFO緩存輸出請求request信號;從而能夠在防止異步FIFO緩存數(shù)據(jù)溢出的同時,減少硬件開銷。
      【附圖說明】
      [0040]圖1為現(xiàn)有技術(shù)的異步FIFO緩存的結(jié)構(gòu)示意圖;
      [0041]圖2為本發(fā)明實施例提供的一種異步FIFO緩存結(jié)構(gòu)的示意圖;
      [0042]圖3為本發(fā)明實施例提供的一種異步FIFO控制器的結(jié)構(gòu)示意圖;
      [0043]圖4為本發(fā)明實施例提供的另一種異步FIFO控制器的結(jié)構(gòu)示意圖;
      [0044]圖5為本發(fā)明實施例提供的又一種異步FIFO控制器的結(jié)構(gòu)示意圖;
      [0045]圖6為本發(fā)明實施例提供的再一種異步FIFO控制器的結(jié)構(gòu)示意圖;
      [0046]圖7為本發(fā)明實施例提供的一種防止異步FIFO緩存數(shù)據(jù)溢出的方法流程示意圖;
      [0047]圖8為本發(fā)明實施例提供的一種異步FIFO控制器獲取第二 FIFO緩存待獲取的數(shù)據(jù)量的方法流程示意圖;
      [0048]圖9為本發(fā)明實施例提供的一種異步FIFO控制器獲取第二 FIFO緩存內(nèi)已存在的數(shù)據(jù)量的方法流程示意圖。
      【具體實施方式】
      [0049]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。
      [0050]本發(fā)明的基本思想是:通過對第二 FIFO緩存中已有的數(shù)據(jù)數(shù)量和待接收的數(shù)據(jù)數(shù)量的數(shù)據(jù)總量進行計數(shù),隨后將數(shù)據(jù)總量與第二 FIFO緩存深度進行比較,使得當(dāng)數(shù)據(jù)總量超過第二 FIFO緩存深度時,終止第二 FIFO緩存接收數(shù)據(jù),從而使得通過計數(shù)器和比較器就能夠?qū)崿F(xiàn)防止異步FIFO緩存數(shù)據(jù)的溢出,相比于現(xiàn)有技術(shù)中加大第二 FIFO深度的方式減少硬件開銷。
      [0051]參見圖1所示的現(xiàn)有技術(shù)的異步FIFO緩存的結(jié)構(gòu),包括第一時鐘域、第二時鐘域、第一 FIFO緩存和第二 FI
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1