同步FIFO與異步FIFO


同步FIFO是用來做數據緩存,之前的設計一直將自己繞進了一個死循環,認為要想往外邊讀取FIFO,就必須先檢測FIFO的空滿標志,但實際上,對於同步FIFO,如果是同步fifo深度設置成128,你存100個以后再開始讀,永遠不可能出現空滿。因為寫入和讀取的速度是一樣的。兩邊時鍾也一樣,位寬也一樣怎么可能出現空滿。

FIFO核讀寫不需要指定地址,只要讀、寫使能信號打開,時鍾到來,數據就可以讀出和寫入。

需要注意的問題是:

1、讀時鍾和寫時鍾必須一直存在,不可間斷性的提供,否則會造成FIFO無法正常工作

2、讀FIFO時鍾要和讀數據的賦值端的時鍾是一個時鍾

3、寫FIFO的時鍾要和將要寫的數據的時鍾是一個時鍾

4、注意滿標志和空標志的使用,禁止在FIFO滿的情況下寫FIFO,禁止在空的時候讀FIFO,否則會出現錯誤

FPGA與上位機之間通過串口發送和接受數據的過程:

 接收參數的過程:

1.rxd_en有效

2.如果數據准備好了temp《=rdata,rxd_en無效,否則等待

3.延時326*20ns后開始第二個參數的發送

發送參數過程:

1、tdata《= 要傳輸的數據,txd_en有效,

2、如果傳輸完成等待651*20ns,txd_en無效,開始傳輸下一個數,否則等待直到傳輸完成

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM