基于FPGA的自主可控SOC設(shè)計(jì) 課件 第五講 存儲(chǔ)器設(shè)計(jì)_第1頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第五講 存儲(chǔ)器設(shè)計(jì)_第2頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第五講 存儲(chǔ)器設(shè)計(jì)_第3頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第五講 存儲(chǔ)器設(shè)計(jì)_第4頁
基于FPGA的自主可控SOC設(shè)計(jì) 課件 第五講 存儲(chǔ)器設(shè)計(jì)_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五講存儲(chǔ)器設(shè)計(jì)5.1隨機(jī)存取存儲(chǔ)器(RAM)設(shè)計(jì)5.2只讀存儲(chǔ)器(ROM)設(shè)計(jì)5.3雙端口RAM設(shè)計(jì)5.4先進(jìn)先出(FIFO)設(shè)計(jì)5.5CRC校驗(yàn)電路設(shè)計(jì)存儲(chǔ)器分類雙端口存儲(chǔ)器先進(jìn)先出(FIFO)存儲(chǔ)器鐵電存儲(chǔ)器半導(dǎo)體存儲(chǔ)器RAMROM其他存儲(chǔ)器雙極型金屬氧化物(MOS)靜態(tài):SRAM動(dòng)態(tài):DRAM掩模工藝ROM可一次編程ROM:PROM可擦寫的PROMEPROM

E2PROME2PROMFlashSDRAMDDRSDRAMDDR2SDRAMDDR3SDRAM存儲(chǔ)器分類雙端口存儲(chǔ)器先進(jìn)先出(FIFO)存儲(chǔ)器鐵電存儲(chǔ)器半導(dǎo)體存儲(chǔ)器RAMROM其他存儲(chǔ)器雙極型金屬氧化物(MOS)靜態(tài):SRAM動(dòng)態(tài):DRAM掩模工藝ROM可一次編程ROM:PROM可擦寫的PROMEPROM

E2PROME2PROMFlash設(shè)計(jì)方法模塊功能與原理分析模塊結(jié)構(gòu)與電路模型VHDL語言設(shè)計(jì)實(shí)現(xiàn)FPGA驗(yàn)證5.1靜態(tài)隨機(jī)存儲(chǔ)器SRAM設(shè)計(jì)數(shù)據(jù)存儲(chǔ)功能地址控制功能寫入與讀出功能數(shù)據(jù)總線地址總線控制信號(hào)5.1.1RAM地址譯碼方式一維譯碼二維譯碼RAM芯片有n條地址線,表示2n個(gè)存儲(chǔ)單元。

7存儲(chǔ)容量8K×8bitA12~A0D0~D7CS1、CS2OEWE5.1.2SRAM6264芯片決定存儲(chǔ)單元的容量,一般1K~256M→地址總線數(shù):10~28決定存儲(chǔ)單元的寬度(位數(shù),bit)片選→地址譯碼輸出允許(讀)寫允許8(1)SRAM讀出時(shí)序加載地址信號(hào)加載片選信號(hào)OE低電平有效,WE為高電平9(2)SRAM寫入時(shí)序加載地址信號(hào)數(shù)據(jù)加載到總線,WE為低電平片選信號(hào)有效(3)SRAM的VHDL程序?qū)崿F(xiàn)端口定義

PORT(address:INSTD_LOGIC_VECTOR(3DOWNTO0); cs,oe,we:INSTD_LOGIC; data:INOUTSTD_LOGIC_VECTOR(7DOWNTO0));(4)SRAM的VHDL程序?qū)崿F(xiàn)寫入數(shù)據(jù)讀出數(shù)據(jù)總線三態(tài)5.1.3RAM容量擴(kuò)展存儲(chǔ)器與CPU連接——位擴(kuò)展法

5.1.4隨機(jī)讀寫存儲(chǔ)器RAM存儲(chǔ)器與CPU連接——字?jǐn)U展法

1.采用硬件描述語言進(jìn)行存儲(chǔ)器設(shè)計(jì),可以實(shí)現(xiàn)存儲(chǔ)器字?jǐn)U展存儲(chǔ)器位擴(kuò)展直接描述存儲(chǔ)器所需求的容量和位寬存儲(chǔ)器設(shè)計(jì)可以采用結(jié)構(gòu)描述方式ABCD提交多選題1分此題未設(shè)置答案,請(qǐng)點(diǎn)擊右側(cè)設(shè)置按鈕5.2只讀存儲(chǔ)器ROM的設(shè)計(jì)只讀存儲(chǔ)器(ROM)的內(nèi)容是初始設(shè)計(jì)電路時(shí)就寫入到內(nèi)部的,通常用于存儲(chǔ)固件。ROM主要用于計(jì)算機(jī)基本輸入輸出系統(tǒng)(BIOS)的存儲(chǔ)和用作嵌入式系統(tǒng)中的程序存儲(chǔ)器。ROM只需設(shè)置數(shù)據(jù)輸出端口和地址輸入端口。

5.2.1只讀存儲(chǔ)器ROM的電路結(jié)構(gòu)存儲(chǔ)矩陣地址譯碼器輸出緩沖器5.2.2簡單ROM的設(shè)計(jì)設(shè)計(jì)思想:采用二進(jìn)制譯碼器的設(shè)計(jì)方式,將每個(gè)輸入組態(tài)對(duì)應(yīng)的輸出與一組存儲(chǔ)數(shù)據(jù)對(duì)應(yīng)起來。

5.2.3通用ROM的VHDL設(shè)計(jì)設(shè)計(jì)一個(gè)容量為256*8bit的ROM8位地址線Addr[7..0]8位數(shù)據(jù)輸出線Dout[7…0]使能信號(hào)線OE5.2.3通用ROM的VHDL設(shè)計(jì)VHDL數(shù)據(jù)對(duì)象--文件類型應(yīng)用端口定義5.2.4通用ROM的VHDL設(shè)計(jì)結(jié)構(gòu)體實(shí)現(xiàn)5.2.5通用ROM驗(yàn)證2.關(guān)于RAM和ROM的描述不正確的是RAM掉電會(huì)丟失ROM存放程序ROM可以隨機(jī)存儲(chǔ)RAM存放數(shù)據(jù)ABCD提交單選題1分此題未設(shè)置答案,請(qǐng)點(diǎn)擊右側(cè)設(shè)置按鈕5.3雙端口RAM雙端口RAM是在1個(gè)SRAM存儲(chǔ)器上具有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫控制線,并允許兩個(gè)獨(dú)立的系統(tǒng)同時(shí)對(duì)其進(jìn)行隨機(jī)性訪問的存儲(chǔ)器(共享式多端口存儲(chǔ)器)。雙口RAM最大的特點(diǎn)是存儲(chǔ)數(shù)據(jù)共享,并且必須具有訪問仲裁控制。5.3雙端口RAM通用集成電路組成的雙端口若兩個(gè)CPU在同一時(shí)間段訪問RAM發(fā)生競爭,則由仲裁電路迫使后訪問的CPU處于等待狀態(tài)。特點(diǎn):成本低、簡單且存儲(chǔ)容量大。缺點(diǎn):發(fā)生競爭,一個(gè)CPU必須等待,降低了訪問效率。5.3雙端口RAM專用雙端口RAM芯片,如IDT7132/7142、DS1609、CY7C08D53、CY7C024等。芯片有兩套完全獨(dú)立的數(shù)據(jù)線、地址線和讀寫控制線,可使兩個(gè)CPU分時(shí)獨(dú)立訪問其內(nèi)部RAM資源。優(yōu)點(diǎn)是通訊速度快,實(shí)時(shí)性強(qiáng),接口比較簡單,兩邊CPU都可主動(dòng)進(jìn)行數(shù)據(jù)傳輸。缺點(diǎn)是成本高,需要克服競爭現(xiàn)象。雙端口RAM內(nèi)有一個(gè)總線搶占優(yōu)先級(jí)比較器5.3.1兩種方案應(yīng)用場(chǎng)合在要求存儲(chǔ)量較大時(shí),一般采用通用集成電路組成的雙端口RAM;在通信實(shí)時(shí)性要求較高的而通信數(shù)據(jù)量不大時(shí),一般采用專用雙端口RAM芯片。

5.3.2雙端口RAM設(shè)計(jì)端口定義5.3.2雙端口RAM設(shè)計(jì)結(jié)構(gòu)體設(shè)計(jì)RAM數(shù)據(jù)類型定義端口A對(duì)RAM操作端口B對(duì)RAM操作5.4先進(jìn)先出(FIFO)設(shè)計(jì)要求:存入數(shù)據(jù)按順序排放,存儲(chǔ)器全滿時(shí)給出信號(hào)并拒絕繼續(xù)存入,全空時(shí)也給出信號(hào)并拒絕讀出;讀出時(shí)按先進(jìn)先出原則;存儲(chǔ)數(shù)據(jù)一旦讀出就從存儲(chǔ)器中消失。

5.4先進(jìn)先出(FIFO)設(shè)計(jì)先進(jìn)先出(FirstInFirstOut,F(xiàn)IFO)與普通存儲(chǔ)器的區(qū)別是沒有外部讀寫地址線,其數(shù)據(jù)地址由內(nèi)部讀寫指針自動(dòng)加減1完成。FIFO通常利用雙口RAM和讀寫地址產(chǎn)生模塊來實(shí)現(xiàn)其功能。

5.4先進(jìn)先出(FIFO)設(shè)計(jì)先進(jìn)先出(FirstInFirstOut,F(xiàn)IFO)與普通存儲(chǔ)器的區(qū)別是沒有外部讀寫地址線,其數(shù)據(jù)地址由內(nèi)部讀寫指針自動(dòng)加減1完成。FIFO通常利用雙口RAM和讀寫地址產(chǎn)生模塊來實(shí)現(xiàn)其功能。

滿標(biāo)志空標(biāo)志

5.4.1FIFO類型同步控制的FIFO

FIFO的讀寫時(shí)鐘相同。異步控制的FIFO用于跨時(shí)鐘域的數(shù)據(jù)交換;FIFO的讀寫時(shí)鐘不同;讀寫時(shí)鐘之間不一定存在相位、周期方面的約束關(guān)系。同步FIFO設(shè)計(jì)5.4.2同步FIFO設(shè)計(jì)FIFO為空,不可從FIFO讀數(shù)據(jù),但可寫;FIFO為滿,不可向FIFO寫數(shù)據(jù),但可讀;非空非滿時(shí),F(xiàn)IFO可讀、可寫。FIFO的讀寫受同一時(shí)鐘控制;FIFO的大小為N。5.4.2同步FIFO設(shè)計(jì)問題:如何判斷FIFO為空、滿?FIFO的讀寫操作的位置如何判定?5.4.2同步FIFO設(shè)計(jì)5.4.2同步FIFO設(shè)計(jì)當(dāng)wr_ptr=rd_ptr時(shí),F(xiàn)IFO數(shù)據(jù)為空;當(dāng)wr_ptr-rd_ptr=M-l或rd_ptr-wr_ptr=l時(shí),F(xiàn)IFO數(shù)據(jù)為滿;當(dāng)wr_ptr>=rd_ptr時(shí),wr_ptr-rd_ptr為FIFO內(nèi)數(shù)據(jù)個(gè)數(shù);當(dāng)wr_ptr<=rd_ptr時(shí),M-(rd_ptr-wr_ptr)為FIFO內(nèi)數(shù)據(jù)個(gè)數(shù)。5.4.3同步FIFO的VHDL實(shí)現(xiàn)(1)雙端口RAM端口定義5.4.3同步FIFO的VHDL實(shí)現(xiàn)(1)雙端口RAM結(jié)構(gòu)體實(shí)現(xiàn)5.4.3同步FIFO的VHDL實(shí)現(xiàn)(2)寫地址計(jì)數(shù)器5.4.3同步FIFO的VHDL實(shí)現(xiàn)(3)讀地址計(jì)數(shù)器5.4.3同步FIFO的VHDL實(shí)現(xiàn)(4)空滿狀態(tài)產(chǎn)生器端口定義5.4.3同步FIFO的VHDL實(shí)現(xiàn)(4)空滿狀態(tài)產(chǎn)生器結(jié)構(gòu)體實(shí)現(xiàn)5.4.4異步FIFO設(shè)計(jì)讀寫時(shí)鐘信號(hào)不相同通過地址編碼方式解決讀寫地址變化不同步而引起的空滿標(biāo)志錯(cuò)誤的問題。3.同步FIFO包括雙端口RAM讀寫地址計(jì)數(shù)器空滿標(biāo)志產(chǎn)生器地址線ABCD提交多選題1分此題未設(shè)置答案,請(qǐng)點(diǎn)擊右側(cè)設(shè)置按鈕5.4.6存儲(chǔ)器設(shè)計(jì)總結(jié)存儲(chǔ)單元數(shù)據(jù)結(jié)構(gòu)整數(shù)數(shù)組TYPEmemoryISARRAY(INTEGERRANEG<>)OFINTEGER;位矢量SUBTYPEwordISSTD_LOGIC_VECTOR(k-1DOWNTO0);TYPEmemoryISARRAY(0TO2**w-1)OFword;5.4.6存儲(chǔ)器設(shè)計(jì)總結(jié)存儲(chǔ)單元初始化(外部文件讀取)自定義數(shù)據(jù)格式文件.COE文件

(1)自定義數(shù)據(jù)格式文件VHDL文本輸入輸出包集合(TEXTIO)VHDL語言對(duì)文件格式不作任何限制。TEXTIO按行進(jìn)行處理,一行為一個(gè)字符串,以回車、換行符作為行結(jié)束符。(2).COE文件MEMORY_INITIALIZATION_RADIX=2;MEMORY_INITIALIZATION_VECTOR=

01110100,

00100000,

11110101,

10000000,

01111000,

00100010,

00000001,

00010100,

數(shù)據(jù)格式,當(dāng)前設(shè)定為2進(jìn)制,還可以為8,10,16進(jìn)制(3)XilinxFPGA內(nèi)部IP核設(shè)計(jì)FPGA具有內(nèi)嵌的BLOCKRAM(BRAM)來擴(kuò)展其應(yīng)用范圍和系統(tǒng)集成能力(SOC)。BRAM可用于配置為單端口RAM、雙端口RAM、內(nèi)容地址存儲(chǔ)器(CAM)以及FIFO等常用存儲(chǔ)結(jié)構(gòu)。BRAM內(nèi)部每個(gè)單位即單片塊RAM大小為18Kbit(即位寬為18bit深度為1024,Spartan-3EFPGA)。(4)FPGA內(nèi)部IP核設(shè)計(jì)(4)FPGA內(nèi)部IP核設(shè)計(jì)5.5CRC校驗(yàn)電路設(shè)計(jì)CRC原理分析CRC電路設(shè)計(jì)數(shù)據(jù)通信差錯(cuò)檢測(cè)在數(shù)字通信系統(tǒng)中可靠與快速往往是矛盾的。如何合理地解決可靠與速度這一對(duì)矛盾呢?

可靠性快速性可靠性快速性數(shù)據(jù)檢測(cè)技術(shù)奇偶校驗(yàn)和校驗(yàn)循環(huán)冗余碼校驗(yàn)CRC奇偶校驗(yàn)只需要1位校驗(yàn)碼,對(duì)消息位進(jìn)行異或運(yùn)算。和校驗(yàn)把消息當(dāng)成若干個(gè)8位(或16、32位)的整數(shù)序列,相加得到校驗(yàn)碼。5.5.1CRC原理將待發(fā)送的位串看成系數(shù)為0或1的多項(xiàng)式;收發(fā)雙方約定一個(gè)生成多項(xiàng)式G(x)(其最高階和最低階系數(shù)必須為1)。發(fā)送方用位串及G(x)進(jìn)行某種運(yùn)算得到校驗(yàn)和,并在幀的末尾加上校驗(yàn)和,使帶校驗(yàn)和的幀的多項(xiàng)式能被G(x)整除。接收方收到后,用G(x)除多項(xiàng)式,若有余數(shù),則傳輸有錯(cuò)。(1)CRC校驗(yàn)和計(jì)算方法1.若生成多項(xiàng)式G(x)為r階(即r+1位位串),原幀為m位,其多項(xiàng)式為M(x),則在原幀后面添加r個(gè)0,即循環(huán)左移r位,幀成為m+r位,相應(yīng)多項(xiàng)式成為xrM(x);

2.按模2除法用G(x)對(duì)應(yīng)的位串去除對(duì)應(yīng)于xrM(x)的位串,得余數(shù)R(x);3.

xrM(x)的位串加上余數(shù)R(x),結(jié)果即傳送的帶校驗(yàn)和的幀多項(xiàng)式T(x)。 T(x)=xrM(x)+R(x)(2)CRC的特點(diǎn)CRC的主要特點(diǎn)檢錯(cuò)能力極強(qiáng)開銷很小易于實(shí)現(xiàn)ARJ,LHA,ZIP等壓縮軟件采用的是CRC-32;GIF,TIFF等圖像存儲(chǔ)格式;所有鏈路層或網(wǎng)絡(luò)接口層協(xié)議中,例如HDLC、DDCMP等眾多領(lǐng)域。應(yīng)用范圍廣(3)CRC校驗(yàn)簡單證明發(fā)送方接收方設(shè)xrM(x)除以G(x)的商和余數(shù)分別為Q(x)和R(x)。則有:xrM(x)=G(x)Q(x)+R(x)即:接收方收到帶CRC校驗(yàn)和的幀多項(xiàng)式T(x)=xrM(x)+R(x)。由于模2加減相當(dāng)于異或運(yùn)算,于是接收方模2除后商Q(x),余數(shù)0.得證!(4)CRC校驗(yàn)碼生成(1)發(fā)送數(shù)據(jù)110011;(2)生成多項(xiàng)式G(x)=x4+x3+1;(3)將要發(fā)送的數(shù)據(jù)系列左移4位,新的序列為1100110000;(4)按模2算法,將生成的新序列除以生成多項(xiàng)式序列;(5)將余數(shù)多項(xiàng)式比特序列加到新的序列中即得發(fā)送端傳送序列。。

10000111001

1100110000

11001

100001001

11001

1100111001(5)生成多項(xiàng)式選擇生成多項(xiàng)式應(yīng)包含X0,即常數(shù)項(xiàng)1。R階的系數(shù)為1,即必須有Xr。發(fā)送碼T(X),發(fā)送過程產(chǎn)生錯(cuò)誤。接收端數(shù)據(jù)T(X)+E(X)能夠檢測(cè)出的差錯(cuò)情況:1位差錯(cuò)奇數(shù)位差錯(cuò)突發(fā)性差錯(cuò)2位差錯(cuò)(6)CRC檢錯(cuò)性能

能檢測(cè)出全部單個(gè)錯(cuò)誤能檢測(cè)出全部隨機(jī)二位錯(cuò)誤能檢測(cè)出全部奇數(shù)個(gè)錯(cuò)誤能檢測(cè)出全部長度小于k位的突發(fā)錯(cuò)誤能以[1-(1/2)k-1]概率檢測(cè)出長度為(k+1)位的突發(fā)性錯(cuò)誤(7)生成多項(xiàng)式G(x)的國際標(biāo)準(zhǔn)CRC-12:x12+x11+x3+x2+x+1CRC-32:x32+x26+x23+x22+x16+x12CRC-8:x8+x2+x+1CRC-10:x10+x9+x5+x4+x2+1CRC-16:x16+x15+x2+1+x11+

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論