lv123362的个人空间 https://blog.eetop.cn/1126258 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

Soc芯片debug经验<1>

热度 8已有 2639 次阅读| 2019-6-7 21:26 |系统分类:芯片设计

     声明,不得转载。

     在soc芯片验证中,往往新的项目会迭代于之前的项目,但是会有稍许的变化。在项目的开始,首先会review testplan。testplan中包含基本原理,数据通路方向,以及要测feature,有哪些case,每个case的激励以及要check的点是什么。其中就有一些从之前项目拿过来的一些case,称之为legacy case。这些legacy case会首先调试。

      本文介绍简单legacy case中遇到的bug。

       1、在这个legacy case中会遇到类似读写寄存器语句。

       例如: rdata=API.read(mmregister) 。

       在这个语句中,可能会出现mmregister was not declared in this scope等现象。这类问题该如何解决。

        这句代码的意思是对一个寄存器进行读,该寄存器的地址是mmregister,这个是一个define,它实际上就是一个数字。这些寄存器define语句一般会放在同一个文件里define.h,这个文件会被legacy case的 cpp文件include进去。我们可以去查看这个文件里这个变量会不会定义,这个时候发现,这个变量没有被定义。然后我们进一步去UVM的寄存器模型ral路径下面去grep相应的寄存器register(一般情况下,寄存器地址define和寄存器名字会有关键词一样的特性),会发现没有这个寄存器,找不到这个寄存器。

        case cpp 在进行寄存器读写的时候,上下文一般会写上打印读写某个ip的寄存器信息。就可以发送邮件询问具体某个ip的负责人,询问该寄存器的信息。他们会确认给出这个寄存器的处理办法。

       2、在验证环境中,我们一般会对每一个case的结果进行检测对比,也就是scoreboard功能,或者在验证环境中,会有很多assertion 语句,这些assertion语句可能是对协议接口类似axi的时序检测。比如对rdata的读出来的数据不能有x。这些axi协议接口是和dut连接在一起的,如果满足了读条件,而读出来的数据是x。就会出现问题。具体如何检测x, 多逛逛本网站,你会找到答案的。面试的时候,可能会被问到。

        假设遇到了assertion的error如下: 

          When RVALID is high, a value of X on RDATA valid byte lanes is not permitted。

       要解决这类问题。我们需要看看这个提示上下文中的assertion语法,看看这些assertion语法哪里出现问题了。然后去找到对应的和axi协议接口连接在一起的的dut信号,拉出来波形,定位报错的这个时刻。一般rdata是x。在波形中需要去trace 这个信号的driver,这类问题一般是某个信号没有driver了,处于floating状态,也就是双击信号,verdi工具等等无法跳转到它的driver。

        第一个问题,如何在波形中trace信号,多逛逛本网站,能找到你需要的答案。

        第二个问题,你可以通过双击查看其driver,也可以通过verdi中的New Schematic也能看到这个信号属于floating状态,New Schematic还是很好地,可以很直观的看到芯片信号的连接情况。

    微信号:chipist1 ,添加微信交流技术以及找工作

  内推大公司:海光, AMD, 兆芯,苏州瑞晟微电子,苏州盛科网络,TI,杭州矽力杰等等。

   招聘:上海,深圳,珠海,广州,成都,杭州,苏州,北京,西安,数字ic设计工程师,数字验证工程师,模拟ic设计工程师,DFT,FPGA,数字后端工程师,RFIC,射频工程师,ae,fae,sales。总有一款适合你,欢迎ICer自荐和推荐。

1、模拟IC设计工程师25-80W(电源方向:初级、高工、经理、总监)均有需求,坐标:深圳/上海/武汉/长沙/南京/苏州/昆山/杭州/成都/西安/北京/厦门。

2、资深模拟IC设计(混合信号),30-100W,  坐标:上海/南京/深圳/昆山/成都/重庆/西安/武汉/珠海/广州/昆山。

3、资深数字IC设计工程师-------苏州、上海、北京、杭州、武汉、成都、西安、四川、广州、深圳、珠海、昆山;

4、数字IC设计前端/后端 工程师-四川/武汉、上海、北京、广州、昆山;

5、FPGA-西安/上海;

6、RFIC资深/专家/VP,射频工程师 -杭州/上海、重庆、成都、深圳、西安、北京、。

7、FAE/AE-武汉/上海/深圳/昆山/厦门;

8、模拟版图设计工程师-武汉/上海/深圳/成都/厦门。

备注:初创型、成熟型、国企、外资企业、甚至合伙人岗位应有尽有。

另外,上海/苏州/成都/昆山分别有数字经理、模拟(ADC/DAC)(DC/DC)(AC/DC)经理

欢迎自荐和推荐(同学/朋友/同事)。谢谢啦!


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 8

    粉丝
  • 2

    好友
  • 2

    获赞
  • 2

    评论
  • 1233

    访问数
关闭

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

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

GMT+8, 2024-3-28 17:02 , Processed in 0.022300 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部