ISE使用IP核生成的SRAM,讀寫需要時鐘的原因

   原文地址:http://bbs.ednchina.com/BLOG_ARTICLE_3021049.HTM


    在工程中,FIFO 是一個經常用到的模塊,進行不同時鐘域數據的轉換。在用FPGA時,FIFO直接調用IP核,簡單、實用。

昨天晚上,在網上看到百度一個筆試題,用 SRAM 寫一個 FIFO ,於是想到這樣一個問題,FIFO的結構式什麼樣的 ?不用IP 核,自己寫效果(速度和麪積)會怎麼樣 ?


1、用 QII 建一個FIFO 工程,使用 IP 核 ,通過 RTL ,可以看到

可以看到,右上角 紅色框 是一個 RAM 模塊 ,FIFO的IP核就是基於 SRAM 的 。紅色框,點進去,可以看到 RAM

RAM模塊,使用的就是FPGA專門存儲器模塊, 此處是 M9K 。


2、再說說 SRAM ,SRAM是靜態隨機存儲器,和SDRAM區別在於不用時時刷新,比較容易控制。

寫FPGA程序,也是直接調用 RAM IP 核,實際生成時,也是使用的硬件存儲器 M9K 模塊。

讀寫SRAM 是不需要時鐘的(專門的SRAM芯片6116等,也都沒有時鐘管腳),都是異步操作。然而,我們發現,使用IP核生成的SRAM,讀寫都是需要時鐘的,Why ?? 

原因很簡單,在SRAM的 數據,地址,使能 各端口外接了觸發器,使得讀寫SRAM成了時序控制方式,如下圖,RAM IP 核 ,輸出寄存器是可以選擇的。


放大RAM 


3、 SDRAM 芯片內部結構道理一樣,內部存儲器陣列是沒有時鐘,由於,模式選擇寄存器,地址寄存器,數據寄存器 等等,使得讀寫SDRAM 也是時序方式。

 SRAM的 分類 : 讀寫共用一套 地址,數據總線,讀寫使能控制 ; 寫一套 地址,數據, 讀又一套數據,地址總線 ,讀和寫時分開的。


自己寫 FIFO ,後邊再說 ...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章