发 帖  
原厂入驻New
[问答] 如何清除读取地址管道?
121 xilinx RAM 控制器
分享
新年快乐人!!!
我一直致力于通过LogiCORE™IP AXI Block RAM(BRAM)控制器向BRAM写入和读取的项目,该接口处于AXI_Lite模式。
我的大部分工作都是由LogiCORE IP AXI BRAM控制器v4.0,PG078 2014年4月2日手册指导。
带有AXI Lite接口的Block RAM有一个VHDL包装器,带有以下总线信号;
COMPONENT BRAM_w_AXI4_wrapper端口(MCLK:STD_LOGIC; MReset:STD_LOGIC; --AXI4 Lite READ ADDRESS CHANNEL s_axi_araddr:STD_LOGIC_VECTOR(14 downto 0); s_axi_arready:out STD_LOGIC; s_axi_arvalid:STD_LOGIC; - AXI4 Lite WRITE ADDRESS CHANNEL s_axi_awaddr:
在STD_LOGIC_VECTOR(14 downto 0); s_axi_awready:out STD_LOGIC; s_axi_awvalid:在STD_LOGIC中; - AXI4 Lite WRITE RESPONSE CHANNEL s_axi_bready:在STD_LOGIC中; s_axi_bresp:out STD_LOGIC_VECTOR(1 downto 0); s_axi_bvalid:out STD_LOGIC; - AXI4 Lite READ
DATA CHANNEL s_axi_rdata&冒号;输出STD_LOGIC_VECTOR(31 downto 0); s_axi_rready:输入STD_LOGIC; s_axi_rresp:输出STD_LOGIC_VECTOR(1 downto 0); s_axi_rvalid:输出STD_LOGIC; - AXI4 Lite写数据通道s_axi_wdata&冒号;输入STD_LOGIC_VECTOR(
31 downto 0); s_axi_wready:out STD_LOGIC; s_axi_wstrb:在STD_LOGIC_VECTOR(3 downto 0); s_axi_wvalid:在STD_LOGIC中);
COMPONENT BRAM_w_AXI4_wrapper;
我写了一个“CONTROLLER”文件,它在AXI Lite总线上执行SINGLE WRITE或SINGLE READ操作。
然后,我有一个“DRIVER”文件,它可以告诉CONTROLLER写入或读取ARRAY大小从一个32位字到最大记忆字的数据。
最大内存大小目前是2048,32位字。
不幸的是,IP生成的Wrapper接口似乎与PG078 IP Manual的AXI_Lite信号图不匹配。
所以我不得不做相当多的猜测。
看起来好像我有2048个单数据写入工作。
请参阅随附的pdf文件。
这是写2048操作的结束和2048读操作的开始。
写数据是地址的二进制等值。
因此,地址INTEGER 0是00000000000000000000000000000000,地址INTEGER 3是0000000000000000000000000000000011。
一个观察结果(参见图表REF B);
看来,在WRITE操作期间,写入的数据在RDATA总线上输出。
对于地址2047,写入数据为0000000000000000000000011111111111,这也是在WRITE操作期间从RDATA总线输出的数据。
在WRITE和READ操作之间,我进行主复位。
您可以看到在开始READ操作之前切换了MRESET。
即使为地址INTEGER 0(参考图REF C)读取了00000000000000000000000000000011数据,读操作似乎也开始正常。
但是,在第二次单次读操作(参考图REF A)开始时,您可以看到ds_axi_arready不是必需的高电平。
在PG078手册的第44页上,您可以看到;
AXI读地址通道接口上注册的ARREADY信号输出默认为高置位。
AXI BRAM控制器可以在ARVALID信号首次有效的同一时钟周期内接受读取地址。
AXI BRAM控制器在读取中注册
当ARVALID和ARREADY信号都被断言时的地址。
当AXI
BRAM控制器读地址流水线已满(双深),它清除ARREADY信号,直到流水线处于非满状态。
我相信这是我的问题。
然而,
1.)手册不说明如何清除“读取地址管道”。
请告诉我要清除它的目的。!!!
2.)我刚刚在AXI-Lite总线上做了一个MRESET,只给它一个地址。
为什么不清除管道?
最后一个谜团是为什么BRAM地址0出现00000000000000000000000000000011。
我非常感谢你能给我的任何帮助。
最好的祝福,
gmstomm
Visio-AXI_LITE_INTF_Single_W_R-12-31-2014.pdf 274 KB
0
2020-3-25 07:08:56   评论 分享淘帖 邀请回答

相关问题

1个回答
好吧,我没有收到回复,而且这个时间已经很长了。
这个问题可能需要进入另一个论坛。
我没有看到移动它的选项,所以我将创建一个新的。
最好的祝福,
gmstomm
2020-3-25 07:16:18 评论

举报

只有小组成员才能发言,加入小组>>

93个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表