單口ram,雙口ram,fifo的個人知識記錄
單口與雙口的區別
就是單口只有一組資料線和位址線,因此不能同時進行讀寫,但是雙口是有兩組資料線和位址線,讀寫可以同時進行,fifo也可以進行同時的讀寫,也可以看做是乙個雙口ram,
簡單雙口ram和真雙口ram
簡單雙口ram又叫做偽雙口ram,偽雙口ram是一端只能進行讀,另一端只能進行寫,並且寫入的時鐘和讀時鐘可以不是同乙個時鐘,位寬也可以不是1:1。
真雙口ram兩端都可以進行讀寫操作,兩端互不干擾。
fifo
fifo也是乙個埠只能進行寫,另乙個埠只能進行讀,和偽雙埠的很相似,但是他們的區別就是fifo先進先出,沒有位址線,不能對儲存單元進行定址,而偽雙埠讀寫兩端都有位址線,可以對儲存單元進行定址。
這樣一看,fifo的核心其實就是乙個ram,只不過是進行了封裝,新增了兩個指標,也就是兩個位址暫存器,乙個是寫位址暫存器,另乙個是讀位址暫存器,當fifo寫入乙個資料時,寫位址暫存器就會加1,如果加到底部就清零,讀位址暫存器,讀出乙個數,讀位址暫存器加 1,如果讀到底部就清零。
如果寫位址暫存器追趕上讀位址暫存器,說明寫滿了,再寫就會出錯。
如果讀位址暫存器追趕上寫位址暫存器,說明讀空了,就不能再讀了。
以上都是參考各個大牛的博文自己記錄一下。
單口RAM 雙口RAM FIFO三者的關係
單口與雙口 單口與雙口的區別在於,單口只有一組資料線與位址線,因此讀寫不能同時進行 而雙口有兩組資料線與位址線,讀寫可同時進行 fifo讀寫可同時進行,可以看作是雙口 簡單雙口ram與真雙口ram 雙口ram分偽雙口ram xilinx稱為 two dual ram 與雙口ram xilinx稱為t...
FPGA內部雙口RAM的時序
關於fpga內部雙口ram的時序總結 1 儲存時,雙口ram的儲存是在寫時鐘的上公升沿到來時完成的,因此要在寫時鐘的上公升沿到來時,資料跟寫位址都已經是個穩定的狀態,這樣才能保證資料的正確儲存。2 讀資料時,雙口ram的讀取實在讀時鐘的上公升沿到來時完成的,因此要在讀時鐘的上公升沿到來時,讀位址已經...
關於FPGA內部雙口RAM的時序總結
關於fpga內部雙口ram的時序總結 1 儲存時,雙口ram的儲存是在寫時鐘的上公升沿到來時完成的,因此要在寫時鐘的上公升沿到來時,資料跟寫位址都已經是個穩定的狀態,這樣才能保證資料的正確儲存。2 讀資料時,雙口ram的讀取實在讀時鐘的上公升沿到來時完成的,因此要在讀時鐘的上公升沿到來時,讀位址已經...