问题描述
我有一个NPI外设连接到MPMC控制器的64位PIM端口。我在硬件中观察到,当PIM_RdFifo_Flush信号有效(1个周期)时,两个周期之后,PIM_RdFifo_Empty信号将变为低电平一个周期。在RdFifo_Flush的断言处,PIM端口处于空闲状态,没有待处理的请求。错误的非空断言是监视它的FIFO读取逻辑的问题。
此问题仅影响P_INPUT_PIPELINE == 1的设计。
解决/修复方法
要解决此问题,必须通过RST和Flush信号同步复位pushaddr_r信号。将MPMC复制到项目pcores目录并修改mpmc_data_path.v (MPMC v3)或mpmc_read_fifo.v (MPMC v4)文件以匹配如下:
生成
if(P_INPUT_PIPELINE == 1)开始:gen_pushaddr_pipeline
总是@(posedge Clk)开始
if(Rst | Flush) – 添加
pushaddr_r <= 0; – 加
别的–add
pushaddr_r <= pushaddr;
// push_r <=推;
结束
结束
此问题已在MPMC v4.01.a中修复,该版本已在EDK 10.1 Service Pack 1中发布。
没有回复内容