双口RAM

双口RAM 是在一个SRAM  存储器上具有两套完全独立的数据线、 地址线和读写控制线,并允许两个独立的系统同时对该存储器进行随机性的访问。即共享式多端口 存储器
双口RAM最大的特点是存储数据共享。一个 存储器配备两套独立的地址、数据和控制线,允许两个独立的CPU或控制器同时异步地访问 存储单元。因为数据共享,就必须存在访问仲裁控制。内部仲裁逻辑控制提供以下功能:对同一地址单元访问的时序控制; 存储单元 数据块的访问权限分配;信令交换逻辑(例如中断信号)等。
双口RAM可用于提高RAM的 吞吐率,适用于作于实时的 数据缓存
下面是一个128*8的双口RAM
module ram_dual(
      q,
      addr_in,
      addr_out,
      d,
      we,
      clk1,
      clk2
)

input [7:0]d;
input [6:0]addr_in;
input [6:0]addr_out;
input we;
input clk1;
input clk2;
output [7;0]q;
reg [7:0]q;

reg[6:0]addr_out_reg;

reg[7:0]mem[127:0];

always@(posedge clk1)
begin
    if(we)
    mem[addr_in]<=d;
end

always@(posedge clk2)
begin
    q <= mem[addr_out_reg];
    addr_out_reg <= addr_out;
end

endmodule


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值