EETOP 创芯网论坛

找回密码

  登录   注册  

搜帖子
汽车电子资料大全(下载奖励300信元)
查看: 1468|回复: 3

SYNOPSYS DDR VIP use note

[复制链接]
发表于 2016-7-5 11:24:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Based on version-2016.03/2016.06
(DDR2 looks like not stable & flexiable.。 2016.03 DDR2 VIP发现了很多bug,特别是一些AC timing和protocol的ERROR误报,所以项目进行到一半还好出了2016.06版)
1.vip路径问题
       每一次generate vip,新产生的DDR_VIP的file里面其实有根据当前时刻产生VIP的根路径。如果安装VIP的根路径的变了,要么重新产生VIP,要么简单一点的方法就是去改产生的VIP里某些问题对根路径的指定。主要是改以下两个file:
.../include/sverilog/svt_source_defines.svi
.../include/sverilog/svt_ddr3_catalog.svi  svt_ddr2_catalog.svi
2.timescle(v2016.06没有再去看DDR2的这个问题有没有修掉)
        timescale设定不会影响到DDR3的,但是DDR2必须要把timescale设定成1ps/1fs, 不然很多timming完全不对。如我原本验ddr3的时候timescale就是1ns/1ps,DDR3都能正常工作;但到DDR2时,在read时,DQS每次toggle的时间都是预期时间的1000倍,感觉他是用绝对时间去tigger dqs,而不是以clk edge。
3.interface

  • DDR2的if和DDR3的if不太一样,而且有点问题,我自己有做修改:  1.CK_n在intf里面自己接了~CK,所以不用连DDR_PHY的CKn
  • DDR2内部的DM_O,DQS_O,DQSn_O default value没有给“z”态,我自己手动把他赋初态“z”,否则,不管是DDR还是PHY,后期去trigger的时候就一直是“x”。(果然在v2016.06进行了修正)
  • DDR2在burst write的时候,似乎必须要去认dqs从z变0的preamble,所以DQS如果在没有txn的时候是0,DDR2 VIP就没办法认到write的起始,所以DQS在没有valid的时候必须要一直为“z”,但DDR3没有这个问题(v2016.06没有再去看DDR2的这个问题有没有修掉)
4.catalog
         目前DDR2的catalog比较少DDR2-1066不支持。catalog里面配置了所有的AC timing parameter,所以对testbench来讲,应该做脚本把不同的catalog中的ac timing抽取出来去constrAInt SDCTRL和PHY的配置。
         catalog名字的意义:(ex:jedec_ddr3_512M_x16_800D_3_04)
         ddr type: ddr3
         ddr size: 512Mb
         ddr ORG(DQ bits): 16bit
         speed bin: 800D
         tCH(avg):3040ps
5.checkers
          vip的check分了两类:1类是和spec强相关的,必须要遵守的比较属于interface protocol的check;1类是比较属于ac timming之类的check。
          对于第1类,上层是无法控制的,错了就直接报UVM_ERROR,memory也会访问失败。第2类是可以 通过svt_ddr_configuration::enable_checks去控制,default是1。
           针对ac timming check 的error, 可以分别去控制每一个check的开关。
           比如jedec_ddr3_512M_x16_800D_3_04的tCH(avg)=3040ps,但实际PHY产生的可能是2500ps,这时就会报tch_abs_timings_check error。其实这并不是一个真正的错误,只不过是PHY产生的clock和catalog定的不一样而已,实际是在合理范围内的。解决方法是env.memory_agent.monitor.checks.tch_abs_timings_check.set_is_enabled(0)去关掉他
  (未完……)
发表于 2016-9-2 19:11:38 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2016-9-16 16:47:48 | 显示全部楼层
lZ哪家公司的,开始用synopsys的ddr model,据说刚出来不久,用的还比较少。业界多用denali。
回复 支持 反对

使用道具 举报

发表于 2019-5-26 15:39:20 | 显示全部楼层
good info.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

小黑屋| 关于我们| 联系我们| 在线咨询 |  EETOP 创芯网 ( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2020-1-28 16:39 , Processed in 0.067100 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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