TA的每日心情 | 奋斗 2020-8-27 15:56 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
芯片验证的工作量约占整个芯片研发的70%,已然成为缩短芯片上市时间的瓶颈。应用OVM方法学搭建SoC设计中的DMA IP验证平台,可有效提高验证效率。
7 N, D, Q$ M# @% P- o @/ ~$ Y
7 g( X v; k- \) o% r' | 随着集成电路设计向超大规模发展,芯片验证工作的难度在不断增大,验证的工作量已经占到整个SoC研发的70%左右,芯片验证直接影响到芯片上市的时间,因此提高芯片验证的效率已变得至关重要。利用OVM的层次化、随机约束等特点,能有效提升现有的验证方法,提高环境激励和监测的层次、加快覆盖率达成进程,从而加快验证速度。1 W* a9 E1 n! d4 I' t. |
9 K0 t% L2 O1 C- \, G3 O
OVM验证平台
2 @: u8 s% ~8 I. j6 |
. i4 o: w0 {; x4 i OVM是mentor Graphics和cadence Design System共同提出完全开放的验证方法学,致力于提供给设计和验证工程师一个抽象层次更高的验证环境。OVM提供了丰富的库类和高级验证技术,实现验证平台从模块级到系统级的复用,并可在多个厂家的方针验证平台上运行。- |7 Z# ^ h$ [2 I& e8 o
; ~; x! Z8 H2 q9 N6 I. u OVM验证平台采用层次化的结构,共分为五层,分别为DUT、传输层、Operational、分析层以及控制层。其中最底层为DUT,即需要验证的带Pin级接口的IP或SoC设计。在DUT层次之上为传输层,该层用于连接Pin级DUT与传输层。在传输层之上的所有组件均为基于事务传输层的组件。事务传输层的引入可以让验证环境的设计摆脱实际DUT信号接口的约束,使上层信息的传递更加高效快捷。从传输层起,每一层均由不同的事务组件组成,例如分析层由覆盖率搜集、性能分析、记分板、参考模型等组件组成,不同层次的所有组件相互作用,形成了一个层次化的、可以重用的验证环境。
$ b( J; f4 q6 y2 X' k" y# T( I* g# |0 p
在基带SoC芯片中,DMA模块负责SoC系统中数据的搬移,该模块有AHB Master接口及AHB Slave接口,其中AHB Slave接口用于CPU对DMA的功能进行配置,而AHB Master接口则负责数据读取与写入,模块中设置FIFO用于缓存DMA交互数据。
! [* p0 \& C' p0 T& R' n0 j& U0 F$ t: Z: n7 W( N
OVM验证平台中的基础组件一般包括driver、sequencer、sequence、monitor,将这些组件在ovm_agent中实例化,多个ovm_agent在ovm_env中实例化,同时为了实现自对比机制,在ovm_env中需要实例化scoreboard,最后在ovm_test这种类型的组件中实例化ovm_env并指定环境中各agent的sequencer所对应的sequence。
& b- W+ Q+ c6 c- a+ I( P% \1 e
" U' i" ^- Z+ M OVM环境中各组件通过传输层接口进行相互连接,在这种传输层接口中传递的就是传输数据。OVM已经定义好了传输层接口,我们只需要进行实例化就可以了。传输数据是对物理接口(即IP接口)的抽象,将IP接口进行抽象后使用OVM中的组件进行高层次处理。+ o! ]: z& F3 o7 |
# [6 E$ E$ j; p# i( t, K
该IP有两种接口,一是标准的AHB Master接口,二是标准的AHB Slave接口。针对这两种接口需要定义两种类型的传输数据,OVM中通过扩展ovm_transaction类来定义我们自己需要的传输数据。支持使用systemverilog的约束机制在上述两种传输数据中进行随机化约束。比如根据该IP的规格,可以在ahbm_pkt中约束hsize为2’b00~2’b10随机,addr为32’h0000_0000~32’hFFFF_FFFF随机。
+ m! j) q- \' O( ^. n
+ v5 ~6 p, [ ~* Q 为了对验证效果进行评估,需要做功能覆盖率的搜集,该部分代码做到scoreboard中,使用systemverilog的covergroup来搜集验证到的功能点。2 i4 x6 i8 V8 ~1 ~3 \
2 K# H* G2 b% r+ M1 w
在借用事务交易及接口构建模块化、可重用的验证组件后,利用各组件的类库创建随机激励和序列,并将激励与序列转换为DUT的接口行为;使用断言、scoreboard等判断DUT行为的正确性;与此同时搜集和分析功能覆盖率、代码覆盖率等信息。在验证的过程中我们通过控制输入激励的变量、增加错误注入信息,以保证系统在错误状态下做出正确反映。
5 z# J" Z7 ?/ p: Z7 P- }1 J6 H6 C, y- b5 L) q! Z
在越来越高的抽象层次上进行验证是当前验证方法学的主要趋势。通过构建基于OVM层次化IP验证平台,验证了基带SoC芯片DMA IP的所有功能,并达到100%的功能验证覆盖率。采用OVM的验证方法仅需对层次化架构中的组件进行扩展或重用,大大提高了SoC芯片的验证效率,从而缩短了整个项目的研发周期。目前该项目已流片成功。# f2 Z6 s4 u% P6 h. w" R* j6 ^
! Y; v9 F1 g5 E2 x+ C$ o9 P2 M n/ ? [" t
|
|