国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

FPGA研發(fā)之道(13)-設(shè)計(jì)不是湊波形(三)RAM

發(fā)布時(shí)間:2014-12-4 14:38    發(fā)布者:看門狗
關(guān)鍵詞: FPGA
作者:阿昏豆

FPGA內(nèi)部資源中,RAM是較為常用的一種資源。

     通常實(shí)例化RAM中,一種使用為BLOCK RAM 也就是塊RAM 。另外資源可以通過寄存器搭,也就是分布式RAM。前者一般用于提供較大的存儲(chǔ)空間,后者則提供小的存儲(chǔ)空間。

     在實(shí)際應(yīng)用過程中,一般使用的包括,單端口、雙端口RAM,ROM等形式等不同的形式。 實(shí)際應(yīng)用中FIFO也是利用RAM和邏輯一起實(shí)現(xiàn)的。

    對(duì)于一塊RAM中,其能夠例化的深度是有限的。例如cyclone4的RAM9k中可以例化的資源如下所示:



     因此:例化化深度<256的RAM,其同樣也需要占用一塊BLOCKRAM的資源,例如例化寬度為64 深度為128的RAM,其資源為8K 。但是仍然需要占用兩塊BOCK RAM。也就是說,只要例化RAM深度少于256.則對(duì)于本器件9K來說,剩下的資源也是浪費(fèi)。



    那是不是可以例化成雙端口RAM,通過高位地址區(qū)分,變?yōu)閮蓚(gè)單端口RAM(width:32,depth:128)來使用,這樣就可以節(jié)省資源了?

    而對(duì)于雙端口RAM來說,每個(gè)M9K能夠配置是的最小深度就變成是512,而最大寬度為18,如下圖所示,因此作為真雙端口RAM使用,深度小于512的話,仍然會(huì)占用1塊RAM。且寬度》18就會(huì)多占用額外的一塊RAM,因此上述的節(jié)省資源的方式是不正確的。



通過查看datasheet的中RAM能夠配置的方式,從而能夠正確的使用RAM資源,從而達(dá)到高的利用效率。可以看出,RAM9K其應(yīng)用方式受限,主要是因?yàn)镽AM的端口的連接信號(hào)受限,例如:該RAM9K的讀端口最大支持36根信號(hào)線,因此對(duì)于單端口其支持的寬度為36,雙端口為18(兩個(gè)端口,總共36根數(shù)據(jù)線),作為FPGA來說,其布線資源是有限的,不可能無限制的增加其端口數(shù)。

RAM例化時(shí),有時(shí)需要初始化RAM,ALTERA和XLINX的初始化方法如下所示:

(1)ALTERA RAM中,例化時(shí)為MIF文件,其格式為:

DEPTH = 32;                   -- The size of memory in words
WIDTH = 8;                    -- The size of data in bits
ADDRESS_RADIX = HEX;          -- The radix for address values
DATA_RADIX = HEX;             -- The radix for data values
CONTENT                       -- start of (address : data pairs)
BEGIN

00 : 0;                -- memory address : data
01 : 1;

END;

(2)在XILINX的RAM中,RAM出示化文件為COE文件,其格式為:

         MEMORY_INITIALIZATION_RADIX=2;  設(shè)定進(jìn)制

MEMORY_INITIALIZATION_VECTOR=  初始化向量

值得注意的是:XILINX的RAM初始化后會(huì)自動(dòng)生成MIF文件,而此mif文件與ALTERA  mif文件格式不同。不能用于初始化ALTERA的 RAM。

    鑒于例化不同IP的復(fù)雜性,現(xiàn)在編譯工具也支持利用VERILOG語言來描述RAM,而編譯工具自動(dòng)識(shí)別為RAM,自動(dòng)產(chǎn)生相應(yīng)的IP核,下面以XILINX的EDA工具為例簡(jiǎn)要介紹。

module ram(

clk, wr,addr,din,dout

);

input clk;

input [7:0] addr;

input wr;

input [31:0] din;

output [31:0] dout;

reg [31:0]  mem [0:255];

reg [31:0] dout;

always@(posedge clk)

if(wr)

mem[addr] <= din;

always @(posedge clk)

dout  =  mem[addr] ;

endmodule

上述描述可以被描述成RAM,自動(dòng)產(chǎn)生RAM.其例化的報(bào)告為:

=========================================================================

*                           HDL Synthesis                               *

=========================================================================

Performing bidirectional port resolution...

Synthesizing Unit .

    Related source file is "ram.v".

    Found 256x32-bit single-port RAM for signal .

    Found 32-bit register for signal .

    Summary:

         inferred   1 RAM(s).

         inferred  32 D-type flip-flop(s).

Unit synthesized.

=========================================================================

HDL Synthesis Report

Macro Statistics

# RAMs                                                : 1

256x32-bit single-port RAM                           : 1

# Registers                                           : 1

32-bit register                                      : 1

=========================================================================

    綜上: RAM作為FPGA內(nèi)部一種基本資源,掌握RAM的特性和基本用法,則是FPGA工程師的基本技能,能夠充分利用FPGA內(nèi)部的資源,畢竟對(duì)于FPGA來說“資源就是金錢”,節(jié)省資源就是省錢。
本文地址:http://www.4huy16.com/thread-134677-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)——采訪篇
  • 技術(shù)熱潮席卷三城,2025 Microchip中國(guó)技術(shù)精英年會(huì)圓滿收官!
  • Microchip第22屆中國(guó)技術(shù)精英年會(huì)上海首站開幕
  • 常見深度學(xué)習(xí)模型介紹及應(yīng)用培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表