隨機存取存儲器(ram)是與CPU直接交換數據的內部存儲器。它可以隨時讀寫(刷新時除外)且速度很快,通常作為操作系統或其他正在運行中的程序的臨時數據存儲介質。ram工作時可以隨時從任何一個指定的地址寫入(存入)或讀出(取出)信息。存儲器是數字系統中用以存儲大量信息的設備或部件,是計算機和數字設備中的重要組成部分。隨機存取存儲器(ram)既可向指定單元存入信息又可從指定單元讀出信息。任何ram中存儲的信息在斷電后均會丟失,所以ram是一款易失性存儲器。 本篇文章存儲芯片供應商英尚微電子簡單介紹一下關于ram使用的注意事項。 (1)、資源 實際在項目中,我們需要弄清楚2個問題,方案設計上需要多大的buffer?這么大的buffer需要多少塊ram?后一個問題前面已經詳細說明了,前一個問題就只需要注意一點:別溢出了。寫的時候控制好地址和使能信號,保證不翻轉,讀的時候先寫后讀。 (2)、ram的復位和初始化 首先要明確一點,ram中存放的內容是不會復位的。我們在例化ram的時候,輸入的復位信號,僅僅是復位ram中的輸出寄存器。那這就會帶來一個問題:系統運行一段時間后復位的話,ram的值并不是我們想要的初始值。可以分2種情況考慮: ram作為表項:可以在復位后,先自動對ram做一次初始化操作(即先寫一遍ram),使得ram中的值變成我們想要的初始值。 ram作為緩存:要從方案上保證對ram的操作是先寫后讀,那就不會有上述的問題了。如果確實無法保證,也可以參考上述對ram初始化操作一次的方案。 (3)、性能 ram的輸入輸出一定要通過寄存器,記住這點,性能上不會有太大問題。 (4)、校驗 FPGA中的ram存在一定的軟失效或者器件故障(reg和LUT也一樣),對于可靠性要求不嚴格的場景,不需要對ram中的數據進行校驗。而對可靠性要求非常高的場景,就需要校驗了。 常見的校驗有2種,奇偶校驗或者ECC,如果出現失效,大概率(好像是90%以上)是1bit錯誤。對于這種錯誤,奇偶和ECC校驗都可行。通常的做法是在數據將要寫入ram之前,先計算奇偶校驗位或者ECC校驗位,和原始數據一起寫入ram中,讀數據的時候再對讀出的數據做檢驗,如果出現錯誤,上告系統軟件,讓上層業務決定如何處理。當前供應商的IP本身已經支持ECC校驗。 |