两个单口ram的乒乓操作,ISE联合modelsim仿真

本文介绍了如何在FPGA中使用两个单口RAM进行乒乓操作,通过状态机控制写入和读取过程。利用写使能和读使能信号,在一个时钟周期内实现数据的连续流动,避免了数据覆盖问题,从而实现并行读写操作。
摘要由CSDN通过智能技术生成

首先导入两个单口ram的IP核,我设置的是写优先模式,同时设置了一个写使能信号

首先设置状态机,第一个状态为闲置状态,第二个状态为写ram1,只把数据写进ram,不输出。第三个状态,写ram2读ram1,第四个状态为结束状态。自定义了一个信号为读使能信号,其实也不是读使能,就是决定输出是哪个ram的一个使能信号。读写的时候地址都要加1,所以定义了一个cnt信号作为状态转移。

接下来上代码:

module sing_ram2(
   input clka,
  input rst_n,
  input [7:0] din,
  output reg out_valid,
  output reg [7:0] dout,
  output wire [7:0] douta,
  output wire [7:0] doutb,
  output reg [1:0] state
    );

  reg [9:0] addra;
  reg [9:0] addrb;
  reg [9:0] cnt;
  
  reg we_wr1,we_wr2,en_rd1,en_rd2;
  parameter IDLE        =    2'b00;
  parameter RAM1_WR    =    2'b01;
  parameter RAM1_RD    =    2'b10;
  parameter RAM2_RD  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值