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