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