FPGA設計中RAM的一些基本概念


1、FPGA中雙口RAM的基本概念

  在FPGA的設計中,常用的數據緩存IP有FIFO和RAM,其中RAM又分為單口RAM,偽雙口RAM和雙口RAM。

  單口RAM與雙口RAM的區別在於,單口RAM只有一組數據線與地址線,因此讀寫不能同時進行。而雙口RAM有兩組數據線與地址線,讀寫可以同時進行。

  偽雙口RAM(Xilinx稱為Simple two-dual RAM),一個端口只讀,另一個端口只寫。

  雙口RAM(Xilinx稱為True two-dual RAM),其兩個端口都支持讀寫。

2、雙口RAM的時序總結

  • 寫數據時,雙口RAM的存儲時在寫時鍾的上升沿到來時完成的。因此要在寫時鍾的上升沿到來前,數據跟寫地址都已經是一個穩定的狀態,即要准備好數據線和地址信號,這樣才能保證數據的正確存儲。
  • 讀數據時,雙口RAM的讀取是在讀時鍾的上升沿到來前完成的,因此要在都市中的上升沿到來時,讀地址已經處於穩定的狀態,這樣才能保證讀到的數是相應地之內的數據,數據在讀時鍾的上升沿到來后輸出。
  • 對於雙端口RAM的數據輸出,對於一個地址上數據會在讀下一個地址的數據是才輸出到數據線上,相當於數據的真正輸出延時讀時鍾一個時鍾周期。
  • 讀地址模塊的使能應延時的輸出使能一個時鍾周期,使得第一個地址0可以保持被時鍾上升沿采集到,否則,輸出時第一位輸出不穩定的數據。

3、雙口RAM的一些特點

  如果同時訪問雙口RAM的統一存儲單元,必然會造成數據訪問失真。為防止沖突的發生,采用Busy邏輯控制,也稱硬件地址仲裁邏輯。此處只給出了地址總線選通信號線與片選脈沖信號的情況。而且,兩端的片選信號至少相差仲裁最小時間間隔,內部仲裁器邏輯控制才可給后訪問的一方輸出Busy閉鎖信號,將訪問權交給另一方直至結束對該地址單元的訪問,才撤銷Busy閉鎖信號。即使在極限情況,兩個CPU幾乎同時訪問同一單元----地址匹配時片選信號低調變之差少於仲裁最小時間間隔,Busy閉鎖信號也僅輸出給其中任一CPU,只允許一個CPU訪問該地址單元。仲裁器控制不會同時向兩個CPU發Busy閉鎖信號。

  存儲單元數據塊的訪問權限分配至允許在某一時間段內由1個CPU對自定義的某一數據塊進行讀寫操作,這將有助於存儲數據的保護,更有效地避免地址沖突。信號量仲裁閉鎖就是一種硬件電路結合軟件實現訪問權限分配方法。

  為了提高數據的交換能力,有些雙端口RAM采用,命令交換邏輯來通知對方。

  


免責聲明!

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



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