UVM 环境 ddr4 写失败问题定位--FIFO_IS_ALMOST_FULL

 

   每次遇到问题,要从上往下详细梳理,不然很容易忽略或者遗漏中间环节,并且最后你会发现,问题的原因会非常低级。

先总结下出问题的原因:

1) 底层rtl 接线修改(ddr phy和ddr4 model的连线对应关系)后,对应的uvm环境没有对应的修改。

2)DDR工作模式修改后,没有确保连线完全正确。例如uvm中把mbist_mode接0后,并没有传给ddr module中去。

现象:

  我们用的ddr4采用的是synopsys的Umctl2 ddr控制器,一直在报一个error如下:

    

 

问题跟踪:

1)刚开始没有得到确切信息说rtl底层修改了,因此,uvm环境中没有对应修改和ddr4 model的连线,本来以为是这个问题导致的,但是尝试发现,问题依旧存在。然后从开始报assert的地方开始追踪,和以前的代码进行对比,发现很多的x态没有办法解释。由于mbist_mode是自己在顶层亲自拉低的,所以很自信,没有想到竟然没有连接到ddr 的module中去,导致ddr 实际上没有工作在mbist mode下。

2)连接ok后,发现上述错误消失了,然后查看ddr的波形,看是否真正写进去了。发现有地址有数据有bvalid,应该已经写进去了。

   

 

追溯:

  探究一下,dq和dqs的信号定义:

 DQS:双向控制引脚(Bi-directional data strobe),是内存和内存控制器之间同步用的,由DQ信号发出端发出DQS,信号接收端根据DQS的上下沿来触发数据的接收。

       从内存读信号:控制器会根据内存发出的DQS来判断什么时候接收读出的数据,

      向内存写信号: 内存根据控制器发出的DQS来触发数据的接收。

  对于DDR2,有一个读写双向的DQS,对于DDR3,有读和写两个DQS,那么DDR4呢?

ODT:中断匹配电阻,目前已经从主板上移到了芯片内部,odt的功能打开关闭由北桥芯片控制,其终结的信号有DQ、DQS、RDQS、DM等。

DM:对于突发写入,如果有不想要存入的数据,可以用DM信号进行屏蔽,DM信号和数据信号同时发出,接收方在DQS的上升沿和下降沿来判断DM的状态,如果DM=1,那么通过DQS中部选取的数据就被屏蔽了。

 

如下图:

   dqs是两个信号线的差分信号,和clk/clkn作用一直,用于在一个时钟周期内准确区分出每个传输周期,便于接收方接收数据。 3表示2‘b11’, 此时上升沿和下降沿同时采样数据;如果0表示不采样数据。另外,对于DM信号,一直是3,表示数据全部屏蔽,即ddr控制器发出了这些数据,但是并没有实际写入到ddr中去。后又和设计确认,发现,DM这个信号为高时,表示写有效,表示数据写进去了,这个可以通过查找controller的spec来得到印证。

      

  在axi_transaction的定义中,有WSTRB【n】信号,信号为高,代表对应数据线代表有效信息,每次写8bit对于一个strobe,WSTRB【n】对应WDATA【8n+7:8n】,master必须确认strobe为高时,对应byte line只包含有效数据。

    

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
DDR4控制器是一种用于管理DDR4内存的芯片,它负责控制存储器与处理器之间的数据传输和信号处理。DDR4控制器的设计是基于DDR4存储器的规范和要求,确保数据的准确性、可靠性和高效性。 在DDR4控制器的设计过程,需要考虑以下几个方面: 1. 数据传输速率:DDR4控制器的设计需要根据DDR4存储器的规范确定数据传输速率。DDR4存储器的速度较高,因此控制器需要设计具有高带宽和快速数据传输能力的接口。 2. 时序控制:DDR4控制器需要遵循DDR4存储器的时序要求,确保数据在正确的时钟周期传输。时序控制是DDR4控制器设计一个重要的部分,它需要精确地控制时钟、数据和命令信号的传输顺序和时序关系。 3. 错误检测与纠正:DDR4控制器需要具备错误检测和纠正的能力,可以检测和修复存储器的错误数据。为了提高数据的可靠性,DDR4控制器通常会使用纠错码和校验和等技术来检测和纠正存储器的错误。 4. 内存映射和地址映射:DDR4控制器需要将处理器发出的物理地址映射到存储器的存储单元,确保数据的正确访问和存储。内存映射和地址映射的设计需要考虑存储器的大小、位宽和存储单元的分布等因素。 5. 功耗管理:DDR4控制器需要设计低功耗的机制,以降低整个系统的功耗。在设计过程,可以采用一些节能技术,如自动进入休眠模式、动态电压调整等方法来降低功耗。 综上所述,DDR4控制器的设计是根据DDR4存储器的规范和要求进行的,它需要具备高带宽、快速数据传输、正确的时序控制、错误检测与纠正、内存映射和地址映射以及低功耗等特性。这样才能确保DDR4内存在系统的高效运行和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值