本文介绍一个PL读取DDR3 的实用程序,查表程序。这个可能也可叫RAM 程序吧,把数据表格放置在固定的一段RAM 中, PL就可以查表,用于计算。其实也可以放置代码在这段空间里,你的ip 就可以像cpu一样执行代码。
这样的结果是sdk 运行程序,把查表数据放在 Ram空间里,PL 就可以访问你给的数据。
PL读写DDR3 实现PS和PL间的数据交互 为基础,修改而成。也可参考PL读写DDR3 实现PS和PL间的数据交互 代码分析
MasterIP 代码修改
1: 添加端口
//input original
input wire [15 : 0] IN_ADDR,
//out results
output wire [15 : 0] OUT_DATA,
//output cycle for search
output wire [7 : 0] OUT_TIM,
2 读地址段:
//Read Addresses
always @(posedge M_AXI_ACLK)
begin
if (M_AXI_ARESETN == 0)
begin
axi_araddr <= 0;
end
// Signals a new write address/ write data is
// available by user logic
else
begin
axi_araddr <= IN_ADDR;
end
end
3:状态机代码,只有读,控制read_issued, start_single_read
//implement master command interface state machine only read
always @ ( posedge M_AXI_ACLK)
begin
if (M_AXI_ARESETN == 1'b0)
begin
// reset condition
start_single_write <= 1'b0;
write_issued <= 1'b0;
start_single_read <= 1'b0;
read_issued <= 1'b0;
end
else