找回密码
 注册
关于网站域名变更的通知
查看: 529|回复: 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验证平台,可有效提高验证效率。% l4 n$ m1 k, g( |( J. ?- Z

      q) v  K2 ]% @8 F& d, k& g: [  随着集成电路设计向超大规模发展,芯片验证工作的难度在不断增大,验证的工作量已经占到整个SoC研发的70%左右,芯片验证直接影响到芯片上市的时间,因此提高芯片验证的效率已变得至关重要。利用OVM的层次化、随机约束等特点,能有效提升现有的验证方法,提高环境激励和监测的层次、加快覆盖率达成进程,从而加快验证速度。
    4 C. U. l0 Q* T% h, F  D8 W
    5 }9 [9 J- y% t3 ?1 R& j5 }  OVM验证平台
    ' J3 v5 L; ]) z" o
    4 X8 m2 e! C- \- }5 I6 @. l  OVM是mentor Graphics和cadence Design System共同提出完全开放的验证方法学,致力于提供给设计和验证工程师一个抽象层次更高的验证环境。OVM提供了丰富的库类和高级验证技术,实现验证平台从模块级到系统级的复用,并可在多个厂家的方针验证平台上运行。
    2 I& w% B5 x9 ?# P  |- d% e- g& X0 @- f4 a: n$ y8 m
      OVM验证平台采用层次化的结构,共分为五层,分别为DUT、传输层、Operational、分析层以及控制层。其中最底层为DUT,即需要验证的带Pin级接口的IP或SoC设计。在DUT层次之上为传输层,该层用于连接Pin级DUT与传输层。在传输层之上的所有组件均为基于事务传输层的组件。事务传输层的引入可以让验证环境的设计摆脱实际DUT信号接口的约束,使上层信息的传递更加高效快捷。从传输层起,每一层均由不同的事务组件组成,例如分析层由覆盖率搜集、性能分析、记分板、参考模型等组件组成,不同层次的所有组件相互作用,形成了一个层次化的、可以重用的验证环境。$ ^" @0 u1 Z1 \5 [3 p. \4 n
    $ X- ~9 K: z* Y: J8 P6 j1 Y! \
      在基带SoC芯片中,DMA模块负责SoC系统中数据的搬移,该模块有AHB Master接口及AHB Slave接口,其中AHB Slave接口用于CPU对DMA的功能进行配置,而AHB Master接口则负责数据读取与写入,模块中设置FIFO用于缓存DMA交互数据。
    8 J6 x5 N* L/ w( Z/ J3 X, C
    7 k2 I6 A0 K) O  OVM验证平台中的基础组件一般包括driver、sequencer、sequence、monitor,将这些组件在ovm_agent中实例化,多个ovm_agent在ovm_env中实例化,同时为了实现自对比机制,在ovm_env中需要实例化scoreboard,最后在ovm_test这种类型的组件中实例化ovm_env并指定环境中各agent的sequencer所对应的sequence。! E9 B0 |) u. D$ R  r! Q

    . d/ j0 F; S0 B  OVM环境中各组件通过传输层接口进行相互连接,在这种传输层接口中传递的就是传输数据。OVM已经定义好了传输层接口,我们只需要进行实例化就可以了。传输数据是对物理接口(即IP接口)的抽象,将IP接口进行抽象后使用OVM中的组件进行高层次处理。
    9 W* a% @9 Q8 M" |% ]4 ~* N
    # G; V+ Q' X7 o4 t! P: A9 o  该IP有两种接口,一是标准的AHB Master接口,二是标准的AHB Slave接口。针对这两种接口需要定义两种类型的传输数据,OVM中通过扩展ovm_transaction类来定义我们自己需要的传输数据。支持使用systemverilog的约束机制在上述两种传输数据中进行随机化约束。比如根据该IP的规格,可以在ahbm_pkt中约束hsize为2’b00~2’b10随机,addr为32’h0000_0000~32’hFFFF_FFFF随机。0 z9 y) G, w5 D/ L
    8 C. u# {: W- K7 N
      为了对验证效果进行评估,需要做功能覆盖率的搜集,该部分代码做到scoreboard中,使用systemverilog的covergroup来搜集验证到的功能点。9 {8 ^. E5 j5 G2 p3 Y1 z9 z
    ' c2 W: e* N9 g, m0 o$ J
      在借用事务交易及接口构建模块化、可重用的验证组件后,利用各组件的类库创建随机激励和序列,并将激励与序列转换为DUT的接口行为;使用断言、scoreboard等判断DUT行为的正确性;与此同时搜集和分析功能覆盖率、代码覆盖率等信息。在验证的过程中我们通过控制输入激励的变量、增加错误注入信息,以保证系统在错误状态下做出正确反映。9 f+ f8 u- T- L4 q
    , y9 Q' }1 z, D* F' a6 P
      在越来越高的抽象层次上进行验证是当前验证方法学的主要趋势。通过构建基于OVM层次化IP验证平台,验证了基带SoC芯片DMA IP的所有功能,并达到100%的功能验证覆盖率。采用OVM的验证方法仅需对层次化架构中的组件进行扩展或重用,大大提高了SoC芯片的验证效率,从而缩短了整个项目的研发周期。目前该项目已流片成功。
    3 h/ ?. e* k! S4 I7 N$ |6 U! n6 G
    " m4 j8 A# Y6 m4 k3 [6 K
    * p; R" H- [( Z5 E. R: r0 M/ 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 22:09 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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