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

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

日志

Asic设计学习总结-验证(二)

已有 2275 次阅读| 2018-3-7 19:58 |系统分类:芯片设计

一、前言

前文提到verilog验证,仅仅是针对模块验证和小型项目验证。对于大型项目的验证,例如SOC类芯片,这种验证方式是不合适的,需要用到验证方法学。目前主要有OVM/VMM/UVM三种验证方法学,但并不局限这三种。如今最常用的还是UVM验证方法学。有关这方面的内容,本人接触得不多,只能做非常粗略的介绍,详细的还请自行参阅相关书籍。由于基于UVM的验证方法学是以SystemVerilog为基础的,因此推荐的SystemVerilog与功能验证》是SystemVerilog入门较好的书籍。

二、推荐书籍

SystemVerilog与功能验证》、《UVM实战》、《vcs User Guide 2016

三、UVM验证

UVM究竟是什么呢?UVM是一种验证的理论,我们要应用这个验证理论的时候,理论总归要落地,那这个理论就表现为一堆基于SystemVerilog的源代码库,这也是为何本人要先推荐先学SystemVerilog语言的原因。(源代码库地址:http://xilinx.eetop.cn/viewthread-481243

既然UVM表现的形式为一堆基于SystemVerilog的源代码库,那要应用这堆源代码,就要先了解UVM验证理论以及源代码的大致内容。《UVM实战》在这方面介绍得比较详细。那么,工具呢?有了源代码,没有工具可是没办法进行验证工作的。目前,笔者所接触到的信息,是采用VCS+VERDI作为使用UVM验证方法学的工具组合。后面的示例将贴出一个链接,大家可按照该教程学习UVM验证。

 

UVM架构图:


如上图所示,这是UVM的文件结构图,《UVM实战》对此有非常详细的介绍。红线为UVM验证方法学对应的文件架构,DESIGN为待验证的设计模块。

my_env仿真顶层文件;

i_agt输入代理文件,主要是将sqr,drv,mon做个封装,没有更多的功能,

o_agt同理;

sqr激励信号产生文件,随机约束在这里起作用,这部分的内容非常多!

drv激励信号驱动文件,将sqr文件产生的激励信号送入DESIGN模块;

mondriver监视器,截获drv发送的激励信号,送入到mdl模块中;

mdl行为模型模块,是用高级语言,例如C写就的,该模块功能与DESIGN功能是一一对应的,mdl的输出信号作为DESIGN输出信号的参考比较标准;

monDESIGN监视器,截获DESIGN的输出信号,送入scb中;

scb,记分板模块,比较mdlDESIGN的输出信号是否一致,一致则表示一部分DESIGN的功能经过了验证;

具体流程:sqr模块产生DESIGN所需要的各种激励信号;接着,drv模块将激励信号送入到DESIGN模块和mon模块;DESIGN模块产生对应于激励的输出,被mon模块捕获;与此同时,mon模块将激励信号送入mdl中,mdl也产生对应于激励信号的输出;mdlDESIGN两者产生的输出信号送入scb中进行对比,以此来对已验证的功能进行计数,也就是功能覆盖率统计。

SV+UVM的验证平台,本人对此并没有做过很多的研究,只是将推荐的书籍看过一遍。至于如何把握UVM验证的重点,本人觉得重点应该在故障模拟、激励的构造(sqr),行为模型(mdl)、覆盖率(代码覆盖率 功能覆盖率、断言覆盖率等)等方面。《UVM实战》这本书没有很详细的介绍故障模拟(用于产生测试激励)、行为模型、覆盖率等问题。《SystemVerilog与功能验证》对覆盖率问题、随机约束问题有专门的章节介绍。对于如何使用VCS生成代码覆盖率,本人不是很熟悉,网络有文章有介绍,如下网址所示:http://www.docin.com/p-541502332.html。对于功能覆盖率,断言覆盖率等覆盖率问题,则需要了解其它信息。

另外,利用UVM验证方法学验证设计,还需要掌握断言(assert)相关的知识,会更利于验证。《SystemVerilog与功能验证》中有断言的部分内容。

四、示例

具体的示例,大家可以在EETOP上搜索该文章。http://bbs.eetop.cn/thread-578008-1-1.html,《VCS+UVM+VERDI+Makefile 验证环境》。如果大家有兴趣,可以将本人提供的UART示例改用UVM验证方法去实现一遍。

 


点赞

评论 (0 个评论)

facelist

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

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

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 72

    粉丝
  • 38

    好友
  • 41

    获赞
  • 52

    评论
  • 4340

    访问数
关闭

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

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

GMT+8, 2024-3-29 04:32 , Processed in 0.018426 second(s), 14 queries , Gzip On, Redis On.

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