找回密码
 注册
关于网站域名变更的通知
查看: 527|回复: 1
打印 上一主题 下一主题

OVM验证平台的IP芯片验证

[复制链接]
  • TA的每日心情
    奋斗
    2020-8-27 15:56
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-9-25 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

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

    x
    芯片验证的工作量约占整个芯片研发的70%,已然成为缩短芯片上市时间的瓶颈。应用OVM方法学搭建SoC设计中的DMA IP验证平台,可有效提高验证效率。8 ?. M$ D5 V& T3 H( {; ~
    " c) T) F8 ^! ~; y4 t' D6 `
      随着集成电路设计向超大规模发展,芯片验证工作的难度在不断增大,验证的工作量已经占到整个SoC研发的70%左右,芯片验证直接影响到芯片上市的时间,因此提高芯片验证的效率已变得至关重要。利用OVM的层次化、随机约束等特点,能有效提升现有的验证方法,提高环境激励和监测的层次、加快覆盖率达成进程,从而加快验证速度。" U0 l5 s" D3 Q/ Q, B
      J% X5 u- u2 g( ?6 _" [7 k9 M
      OVM验证平台
    " V+ z6 n+ p1 m0 I  S6 U  Q6 B0 y+ N2 Y+ ^! U0 C
      OVM是mentor Graphics和cadence Design System共同提出完全开放的验证方法学,致力于提供给设计和验证工程师一个抽象层次更高的验证环境。OVM提供了丰富的库类和高级验证技术,实现验证平台从模块级到系统级的复用,并可在多个厂家的方针验证平台上运行。  M( g! s! B& N  W
    ( a1 i, y) E7 L0 V$ m
      OVM验证平台采用层次化的结构,共分为五层,分别为DUT、传输层、Operational、分析层以及控制层。其中最底层为DUT,即需要验证的带Pin级接口的IP或SoC设计。在DUT层次之上为传输层,该层用于连接Pin级DUT与传输层。在传输层之上的所有组件均为基于事务传输层的组件。事务传输层的引入可以让验证环境的设计摆脱实际DUT信号接口的约束,使上层信息的传递更加高效快捷。从传输层起,每一层均由不同的事务组件组成,例如分析层由覆盖率搜集、性能分析、记分板、参考模型等组件组成,不同层次的所有组件相互作用,形成了一个层次化的、可以重用的验证环境。. M$ Z, u+ X! w3 T8 E

    0 z4 w; `+ j* p# }+ \. S  在基带SoC芯片中,DMA模块负责SoC系统中数据的搬移,该模块有AHB Master接口及AHB Slave接口,其中AHB Slave接口用于CPU对DMA的功能进行配置,而AHB Master接口则负责数据读取与写入,模块中设置FIFO用于缓存DMA交互数据。
    $ [/ q8 C  n4 u$ @0 o; I/ I) X# ^3 B) _# z. K; A* s3 s
      OVM验证平台中的基础组件一般包括driver、sequencer、sequence、monitor,将这些组件在ovm_agent中实例化,多个ovm_agent在ovm_env中实例化,同时为了实现自对比机制,在ovm_env中需要实例化scoreboard,最后在ovm_test这种类型的组件中实例化ovm_env并指定环境中各agent的sequencer所对应的sequence。
    7 h) x. V# C/ a5 e5 s- m# l
    ; J1 @% r0 a, Y- f; h( Z  OVM环境中各组件通过传输层接口进行相互连接,在这种传输层接口中传递的就是传输数据。OVM已经定义好了传输层接口,我们只需要进行实例化就可以了。传输数据是对物理接口(即IP接口)的抽象,将IP接口进行抽象后使用OVM中的组件进行高层次处理。
    + p' r% O$ h  \3 P6 f" z( \# j1 k9 x, R9 n1 ^
      该IP有两种接口,一是标准的AHB Master接口,二是标准的AHB Slave接口。针对这两种接口需要定义两种类型的传输数据,OVM中通过扩展ovm_transaction类来定义我们自己需要的传输数据。支持使用systemverilog的约束机制在上述两种传输数据中进行随机化约束。比如根据该IP的规格,可以在ahbm_pkt中约束hsize为2’b00~2’b10随机,addr为32’h0000_0000~32’hFFFF_FFFF随机。
    " _- Q: s% }) `3 l3 B  I
    $ V2 x0 W" R5 e$ s, J  为了对验证效果进行评估,需要做功能覆盖率的搜集,该部分代码做到scoreboard中,使用systemverilog的covergroup来搜集验证到的功能点。, U- F# ?; v. g0 D( U/ b& r+ J

    + W9 Z3 Q$ C* H4 K$ X5 [  在借用事务交易及接口构建模块化、可重用的验证组件后,利用各组件的类库创建随机激励和序列,并将激励与序列转换为DUT的接口行为;使用断言、scoreboard等判断DUT行为的正确性;与此同时搜集和分析功能覆盖率、代码覆盖率等信息。在验证的过程中我们通过控制输入激励的变量、增加错误注入信息,以保证系统在错误状态下做出正确反映。
    " H( j, L3 j- g6 z4 V7 ~
    5 }- {7 `* O. Z( L' L- U$ P4 H  在越来越高的抽象层次上进行验证是当前验证方法学的主要趋势。通过构建基于OVM层次化IP验证平台,验证了基带SoC芯片DMA IP的所有功能,并达到100%的功能验证覆盖率。采用OVM的验证方法仅需对层次化架构中的组件进行扩展或重用,大大提高了SoC芯片的验证效率,从而缩短了整个项目的研发周期。目前该项目已流片成功。
    / }, u8 D: g1 n9 @/ g
    9 V8 n7 }' q9 A2 w( z$ H1 D) U8 _9 T8 T+ d
  • TA的每日心情
    慵懒
    2020-9-2 15:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    2#
    发表于 2020-9-25 13:07 | 只看该作者
    提高芯片验证的效率已变得至关重要
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-24 20:41 , Processed in 0.203125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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