您好,欢迎访问三七文档
双口RAM的实现崔朝阳双口RAM简介双口RAM是在1个SRAM存储器上具有两套完全独立的数据线、地址线和读写控制线,并允许两个独立的系统同时对其进行随机性访问的存储器,即共享式多端口存储器。双口RAM最大的特点是存储数据共享。1个存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问存储单元。因为数据共享。则必须具有访问仲裁控制。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制;存储单元数据块的访问权限分配:信令交换逻辑(例如中断信号)等。双口RAM可用于提高RAM的吞吐率,适用于实时数据缓存。通过VerilogHDL语言对双口RAM功能的描述就能在一片FPGA器件内实现8位16字节的双口RAM,并进行读写操作控制。双口RAVerilogHDL代码如下:Loremipsumdolorsitametconn'defineDEL1'defineRAM_WITH8'defineRAM_DEPTH16'defineADDR_SZ4moduleDual(clk,data_in,rd_address,read,data_out,wr_address,write);inputclk;input['RAM_WIDTH-1:0]data_in;input['ADDR_SZ-1:0]rd_address;inputread;input['ADDR_SZ-1:0]wr_address;inputwrite;output['RAM_WIDTH-1:0]data_out;wireclk;wire['RAM_WIDTH-1:0]data_in;wire['ADDR_SZ-1:0]rd_address;wireread;wire['ADDR_SZ-1:0]wr_address;wirewrite;reg['RAM_WIDTH-1:0]data_out;reg['RAM_WIDTH-1:0]mem['RAM_DEPTH-1:0];always@(posedgeclk)beginif(write)mem[wr_address]=#'DELdata_in;//if(read)date_out=#'DELmem[rd_addressd];endendmodule
本文标题:双口RAM
链接地址:https://www.777doc.com/doc-4326702 .html