文章目錄
前言
本文第一篇:FPGA邏輯設(shè)計(jì)回顧(十一)FPGA和PC中的RAM和ROM
FPGA中使用的存儲(chǔ)資源,如前兩篇文章:
DDR 也是計(jì)算機(jī)中的一個(gè)元素。 事實(shí)上,它在我們的FPGA中也得到了廣泛的應(yīng)用。 普及完它們的由來(lái)和基礎(chǔ)知識(shí)后,我們就可以講講它在FPGA中的應(yīng)用,它的使用方法,甚至它的設(shè)計(jì)等等,這些都會(huì)在后續(xù)的文章中重點(diǎn)介紹。
但你知道,在FPGA設(shè)計(jì)中,使用的小型存儲(chǔ)器更多,它們可以靈活地運(yùn)用在你的FPGA邏輯設(shè)計(jì)中,甚至無(wú)處不在!
大錘如何殺雞,DDR使用場(chǎng)景需要比較大的存儲(chǔ)空間等類似場(chǎng)景。 如果是常見的存儲(chǔ)場(chǎng)景,我們會(huì)用到本文提到的存儲(chǔ)組件,RAM和ROM。
本文討論RAM和ROM的設(shè)計(jì),從它們?cè)陔娮赢a(chǎn)品中的應(yīng)用到IP核邏輯設(shè)計(jì)。
RAM和ROM在計(jì)算機(jī)中的應(yīng)用
在任何存儲(chǔ)數(shù)據(jù)的電子設(shè)備(例如計(jì)算機(jī))中,各種組件協(xié)同工作來(lái)存儲(chǔ)視頻內(nèi)存。 您的硬盤驅(qū)動(dòng)器是您的主要存儲(chǔ)設(shè)備,它保存您的工作文件和個(gè)人文件,其中的信息量會(huì)影響計(jì)算機(jī)的速度。
幸運(yùn)的是,您的系統(tǒng)還可以借助其他兩種類型的視頻內(nèi)存(RAM 和 ROM)來(lái)保存您的信息。
在這里,我們將從整體上了解電子存儲(chǔ),然后討論兩種類型的視頻內(nèi)存。 我們將比較 RAM 和 ROM 之間的異同,以幫助您更好地理解這種快速臨時(shí)存儲(chǔ)形式。
存儲(chǔ)的內(nèi)容有哪些?
在討論電子產(chǎn)品時(shí),存儲(chǔ)器通常指任何類型的電子存儲(chǔ)設(shè)備。 但是,該術(shù)語(yǔ)很可能用于討論如何將數(shù)據(jù)保留在硬盤上,從而減少 CPU 定期訪問該數(shù)據(jù)所需的工作量。
如果您的 CPU 始終直接從硬盤驅(qū)動(dòng)器獲取此信息,您的計(jì)算機(jī)可能會(huì)變慢,并且可能會(huì)遇到性能問題。
相反,如果您使用 RAM 或 ROM 等存儲(chǔ)選項(xiàng),您的系統(tǒng)仍然可以訪問該數(shù)據(jù),而不會(huì)出現(xiàn)運(yùn)行時(shí)間緩慢的缺點(diǎn)。
哪些是硬盤?
您的硬盤(有時(shí)稱為硬盤驅(qū)動(dòng)器、HD 或 HDD)是計(jì)算機(jī)上的永久存儲(chǔ)設(shè)備。 它是非易失性的,這意味著無(wú)論它是打開還是關(guān)閉,它都會(huì)存儲(chǔ)信息。 大多數(shù)計(jì)算機(jī)上都存儲(chǔ)系統(tǒng)設(shè)置或時(shí)區(qū)等信息。
您的硬盤驅(qū)動(dòng)器由一個(gè)或多個(gè)用于寫入數(shù)據(jù)的盤片組成,它位于筆記本電腦內(nèi)部或外部的氣密外殼內(nèi)。
如果機(jī)箱內(nèi)部存儲(chǔ),則稱為內(nèi)部硬盤驅(qū)動(dòng)器,它們位于驅(qū)動(dòng)器插槽中并使用電纜直接連接到顯卡。 外部驅(qū)動(dòng)器或通過 USB 端口插入計(jì)算機(jī)的外部硬盤驅(qū)動(dòng)器是另一種形式的永久數(shù)據(jù)存儲(chǔ)。
每臺(tái)筆記本電腦都有一個(gè)硬盤驅(qū)動(dòng)器,即使您可以從標(biāo)準(zhǔn)型號(hào)升級(jí)或更換,它也將始終用于存儲(chǔ)管理操作系統(tǒng)、關(guān)鍵軟件程序和任何個(gè)人數(shù)據(jù)的文件。
其他類型的存儲(chǔ)
您的筆記本電腦不僅需要硬盤驅(qū)動(dòng)器,而且還有其他兩種存儲(chǔ)選項(xiàng)。 讓我們深入研究一下它們是什么,以更好地理解 RAM 和 ROM 之間的區(qū)別。
哪個(gè)是內(nèi)存?
RAM 是隨機(jī)存取存儲(chǔ)器的縮寫,是計(jì)算機(jī)上僅次于硬盤的第二個(gè)最重要的存儲(chǔ)設(shè)備。
RAM可以實(shí)時(shí)監(jiān)控您的CPU,并在您使用CPU時(shí)主動(dòng)存儲(chǔ)您正在使用的數(shù)據(jù)和程序。 RAM 上的信息可以在任何會(huì)話中重復(fù)寫入、讀取和擦除。
與硬盤不同,RAM 被歸類為易失性視頻內(nèi)存。 這意味著如果不通電,通過 RAM 存儲(chǔ)的任何內(nèi)容都會(huì)丟失。 它不是永久存儲(chǔ)選項(xiàng),雖然它比傳統(tǒng)硬盤快得多,但將任何關(guān)鍵文件或軟件保存在 RAM 中并不安全,因?yàn)槿绻麛嚯姡赡軙?huì)丟失它。
幸運(yùn)的是,在過去的計(jì)算機(jī)上設(shè)計(jì)現(xiàn)代操作系統(tǒng)的人們都知道 RAM 可能是不穩(wěn)定的。 有許多故障安全外部手動(dòng)備份可用于硬盤驅(qū)動(dòng)器,以幫助在系統(tǒng)手動(dòng)關(guān)閉時(shí)消除數(shù)據(jù)丟失。
一個(gè)很好的例子是,當(dāng)您在 Word 或 Pages 中創(chuàng)建文檔時(shí),每隔幾分鐘手動(dòng)保存一次,而不需要保存該文件以進(jìn)行數(shù)學(xué)備份。
內(nèi)存類型
RAM 是一個(gè)廣義術(shù)語(yǔ),包括兩種不同類型的內(nèi)存。 SRAM 和 DRAM。 以下是您需要了解的有關(guān)每種類型的信息。
靜態(tài)隨機(jī)存儲(chǔ)器
SRAM 是一個(gè)廣義術(shù)語(yǔ),包括兩種不同類型的存儲(chǔ)器:SRAM 和 DRAM。
另一種簡(jiǎn)寫方式,SRAM 是指靜態(tài) RAM,其工作原理是將部分?jǐn)?shù)據(jù)存儲(chǔ)在六晶體管存儲(chǔ)單元中。 事實(shí)上,SRAM的速度非常快,但其價(jià)格卻比DRAM貴很多。
動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器
DRAM也稱為動(dòng)態(tài)RAM,其工作原理是在顯存單元中存儲(chǔ)數(shù)據(jù)。 該單元由晶體管和電容器對(duì)組成。
哪些是 ROM?
計(jì)算機(jī)上另一種值得注意的視頻內(nèi)存類型是只讀內(nèi)存(ROM)。
顧名思義,ROM 僅在數(shù)據(jù)不是動(dòng)態(tài)時(shí)才有用,但它比 RAM 有一個(gè)優(yōu)勢(shì)——它是非易失性的。 這意味著如果斷電,它不會(huì)忘記或丟失任何信息,這使得它成為固件或其他很少更新但體積太大而無(wú)法直接存儲(chǔ)在硬盤驅(qū)動(dòng)器上的元素的不錯(cuò)選擇。
傳統(tǒng)上,ROM 數(shù)據(jù)是在芯片生產(chǎn)時(shí)添加并硬連線的。 然而,ROM 早已進(jìn)化,現(xiàn)在有支持擦除和重繪芯片上數(shù)據(jù)的選項(xiàng)。 它實(shí)際上不如 RAM 高效,但它是一種選擇。
只讀存儲(chǔ)器類型
與 RAM 一樣,您的系統(tǒng)中可能存在不止一種類型的 ROM。 以下是四種最常見的基于半導(dǎo)體的 ROM 的關(guān)鍵細(xì)節(jié)。
掩模ROM
傳統(tǒng)類型的 ROM,是在制造過程中寫入數(shù)據(jù)的芯片,對(duì)信息進(jìn)行永久編程。
PROM
可編程只讀存儲(chǔ)芯片(PROM)是在安裝到系統(tǒng)中后寫入數(shù)據(jù)的芯片。 它是一個(gè)非易失性且可定制的選項(xiàng)。
EPROM(可編程只讀存儲(chǔ)器)
隨著 ROM 的發(fā)展,出現(xiàn)了可擦除可編程只讀存儲(chǔ)器選項(xiàng)(EPROM)。 您可以通過將芯片暴露在高強(qiáng)度紫外線下來(lái)擦除芯片上的信息,從而可以對(duì)數(shù)據(jù)進(jìn)行重新編程。
最后一類,電子可擦除可編程只讀存儲(chǔ)器,或者利用場(chǎng)電子發(fā)射的方式來(lái)電子擦除芯片中的數(shù)據(jù)。 這是具有讀/寫功能的最有效的選項(xiàng),但也是最昂貴的。
RAM 和 ROM 之間的主要區(qū)別是什么?
顯然,RAM和ROM是兩種不同的存儲(chǔ)形式,我們來(lái)分析一下它們的主要區(qū)別以及您需要了解的內(nèi)容。
數(shù)據(jù)存儲(chǔ)
RAM 數(shù)據(jù)不會(huì)永久存儲(chǔ)在系統(tǒng)上,它可以無(wú)限期地更改。 您可以根據(jù)需要多次讀取、寫入、擦除和重新開始。
相反,ROM 數(shù)據(jù)是永久性的。 實(shí)際上有一些方法可以更改它,但功能有限并且更改可能非常耗時(shí)。
速度
由于 RAM 數(shù)據(jù)不是永久性的,因此其速率很快。 數(shù)據(jù)比 ROM 快得多,這意味著您的系統(tǒng)使用 RAM 的效率比 ROM 更高。
CPU訪問
RAM 如此快的原因之一是因?yàn)槟?CPU 可以直接訪問以這些方式存儲(chǔ)的任何數(shù)據(jù)。
對(duì)于 ROM,情況有所不同。
要訪問 ROM 信息,您的系統(tǒng)首先會(huì)將這些數(shù)據(jù)復(fù)制到 RAM 中,然后允許您讀取它。
文件大小和存儲(chǔ)
RAM數(shù)據(jù)占用的空間很大,但容量也比較大。 另一方面,RAM 占用的空間較少,但存儲(chǔ)容量也較小。
如何使用
RAM 是臨時(shí)文件的主要視頻內(nèi)存,例如 CPU 緩存或 模塊。
ROM 最常用于 BIOS 或 UEFI 固件、RFID 標(biāo)簽、醫(yī)療設(shè)備或微控制器等。 基本上,任何地方都需要大型但永久的視頻存儲(chǔ)解決方案。
成本
在這兩個(gè) ROM 中,這是迄今為止最便宜的選擇。 由于可以添加到系統(tǒng)中的額外功能,RAM 成本顯著增加。
流行的 ROM 選項(xiàng)
考慮到 ROM 的局限性,您可能想知道它是否是一種有價(jià)值的視頻內(nèi)存類型。 值得注意的是,雖然它的功能不如 RAM,但它也并非沒有優(yōu)點(diǎn)。
例如,大多數(shù)聯(lián)通可連接的閃存存儲(chǔ)設(shè)備,如U盤、固態(tài)硬盤或SD卡等都屬于存儲(chǔ)設(shè)備。 由于我們上面提到的技術(shù)進(jìn)步,這些只讀技術(shù)的衍生產(chǎn)品允許您快速保存和訪問未直接存儲(chǔ)在硬盤驅(qū)動(dòng)器上的文件。
您還可以通過添加或刪除文件來(lái)修改此驅(qū)動(dòng)器,盡管此上傳和下載可能需要一些時(shí)間。 也就是說(shuō),這些是一個(gè)非常實(shí)惠且可行的選擇,將為您提供更多的存儲(chǔ)空間,即使您的電源意外斷電,這些空間也不會(huì)消失。
最終推論
當(dāng)您比較 RAM 和 ROM 時(shí),很容易看出兩者都有自己的優(yōu)點(diǎn)和缺點(diǎn)。 您必須在筆記本上同時(shí)安裝這兩個(gè)軟件,才能保證筆記本的高效運(yùn)行。
ROM 之所以脫穎而出,是因?yàn)樗鼈儍r(jià)格實(shí)惠,可為您提供永久的數(shù)據(jù)解決方案,但它們也限制您更改數(shù)據(jù)的能力和修改的次數(shù)。
RAM 成本更高,但它也使您可以靈活地多次修改數(shù)據(jù),而對(duì)這些修改沒有任何限制。 這里的缺點(diǎn)是,如果您的 RAM 之前已斷開電源,您可能會(huì)丟失此信息。
正確的解決方案是將兩者結(jié)合起來(lái),以滿足您的處理需求和預(yù)算。
RAM和ROM在FPGA中的實(shí)現(xiàn)
FPGA內(nèi)部有豐富的存儲(chǔ)資源。 在 FPGA 中實(shí)現(xiàn) RAM 和 ROM 有多種形式。 一般我們會(huì)采用IP核的方式來(lái)使用FPGA的存儲(chǔ)資源:
FPGA的底層資源中,BRAM()位于其中,如右圖,BRAM在中的分布:
如上圖所示,所有箭頭所在的列都是FPGA中的BRAM資源。 可見有很多。 具體量化需要根據(jù)不同型號(hào)的FPGA,BRAM資源也不同。
事實(shí)上,在FPGA中,如果需要使用RAM,則不必使用BRAM。 也就是說(shuō),BRAM適合較大的存儲(chǔ)場(chǎng)合。 至少對(duì)于普通使用來(lái)說(shuō),還可以使用RAM,即分布式RAM。 使用FPGA內(nèi)的LUT資源等進(jìn)行配置。
事實(shí)上,情況不一定如此。 有時(shí)需要考慮資源平衡。 例如FPGA中的LUT和寄存器資源比較緊張,而BRAM資源幾乎使用得很少。 這個(gè)時(shí)候就應(yīng)該考慮資源分配了。 BRAM資源怎么樣? 多了,沒用,也沒用。
在定制IP核之前,可以選擇使用BRAM或RAM:
事實(shí)上,F(xiàn)PGA中的資源還可以靈活配置為各種類型的存儲(chǔ),比如FIFO定制,使用的存儲(chǔ)資源可以是BRAM:
事實(shí)上,你有選擇的自由,RAM還可以實(shí)現(xiàn):
至于ROM,也不例外。 FPGA中沒有專門的ROM,但ROM可以使用bram或分布式RAM來(lái)實(shí)現(xiàn):
ROM的內(nèi)容可以通過COE文件加載:
不過不用害怕,即使是用RAM實(shí)現(xiàn),F(xiàn)PGA上電后,ROM內(nèi)容依然完好,不會(huì)因?yàn)閿嚯姸鴣G失,這也符合ROM的內(nèi)涵。
事實(shí)上,ROM和RAM的實(shí)現(xiàn)不僅可以使用IP核方法來(lái)實(shí)現(xiàn),還可以使用RTL代碼來(lái)描述,并且像之前的FIFO一樣,我們的設(shè)計(jì)只是了解其工作原理,以及實(shí)現(xiàn)的應(yīng)用一般不使用,但可以作為替代。 原因是FPGA場(chǎng)景提供的IP已經(jīng)經(jīng)過大量驗(yàn)證,越來(lái)越穩(wěn)定,功能也很多,這樣開發(fā)效率就可以提高。
嗯,本文的重點(diǎn)是描述,而不是設(shè)計(jì)。 關(guān)于設(shè)計(jì),請(qǐng)參閱我們之前的文章。
186信息網(wǎng)原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明本文來(lái)自:www.icocr.cn