一、 乒乓操作
两个RAM交替读写,简称为RAM的乒乓操作。
二、乒乓操作练习
1、两个异步双口RAMA和RAMB,读写位宽皆为8bit,时钟皆为50mhz,深度皆为1024;
2、当 RAMA 被写入 1024 字节时,给读时序提供一个启动信号读取 RAMA 的数据,读取完 RAMA 的 1024 字节数据时,切换读 RAMB 以此类推。
3、写入 RAMA 和 B 的数据是 0~255 递增的数据。
三、画波形
四、根据波形写代码
module ctrl_ram(
input wire clk,
input wire rst_n,
input wire [7:0] pi_data,
output wire [7:0] po_data
);
reg wra_en;
reg [9:0] wra_addr;
reg [9:0] rda_addr;
wire [7:0] rda_data;
reg wrb_en;
reg [9:0] wrb_addr;
reg [9:0] rdb_addr;
wire [7:0] rdb_data;
reg wra_en_r;
//RAMA的读写端口
always @(posedge clk or negedge rst_n) begin
if (rst_n == 1'b0) begin
wra_en <= 1'b1;