【验证步骤 & sv项目-异步fifo_2024.02.25】

在这里插入图片描述

DUT理解

功能验证DUT(待测试的设计代码)
设计人员介绍DUT→验证人员讲述对DUT的理解

验证策略

按照透明度划分:
黑盒/灰盒/白盒验证
黑盒:规避看过DUT后,功能实现方法造成的错误;操作容易,但出错定位麻烦
按照层次化划分:
模块/子系统/系统验证

验证方法

动态仿真:利用EDA工具加激励(验证工作)

  • 定向测试
  • 随机测试(CRT约束随机测试)
  • 基于事物级的验证(TLM Transaction level model)
  • 基于coverage的验证(case pass后,最后收集vdb文件,会耗时)
  • 断言检查(主要用于设计时序的检查,握手信号)

静态检查

  • Linting语义检查(工具:Spyglass)
  • 跨时钟域检查(工具:Spyglass)
  • 形式验证(后端工作,等价和属性检查,一种形式转换为另一种形式)

硬件加速

  • FPGA验证
  • emulator专用模拟器(速度快,价格高)

基于事物级的验证TLM
BFM:将高抽象级的TLM命令转换为低抽象级的硬件接口时序

验证点提取

读Spec重点关注点:协议/系统框架图/接口信号/寄存器文件

验证点分类:

  • 功能类(时钟,复位,power,寄存器访问,基本功能等)
  • 白盒测试点
  • 接口类
  • 场景类
  • 性能类
  • 异常类

验证平台

在这里插入图片描述

验证执行

冒烟测试(smoke test)
根据验证计划,写测试用例(Testcase)

调试debug

  • 验证环境/Case的问题
  • 设计的问题

回归测试(regression):重复以前的全部或部分的相同功能测试用例
需要考虑的因素:回归流程、回归质量、回归效率

覆盖率检查

后仿真

前仿真:RTL级
后仿真:Netlist级+SDF(standard delay format)
SDF文件中包含延迟信息、时序检查、时序约束

动态时序分析:时间、占用资源很大
静态时序分析:STA,后端实现

综合后网表仿真:零时延仿真
布局布线后仿真:有延迟信息

异步fifo

fifo基本概念

宽度/深度;写指针/读指针;写数据端口/读数据端口;FIFO空/FIFO满;
同步FIFO/异步FIFO
写指针:指向下一次将要写入的数据的位置
读指针:指向当前要读出的数据的位置
空标志:当读指针和写指针相等时,空标志=1(读指针追上写指针)
满标志:当写指针和读指针相等时,满标志=1(写指针追上读指针)
异步复位,同步释放:是否和clk上升沿同步

验证环境搭建

在这里插入图片描述

① 建立项目目录:rtl,sim,svtb

② rtl下是设计人员的dut代码

③ svtb下

  • 建立packet.sv
    在这里插入图片描述

  • 建立generator.sv
    在这里插入图片描述

  • 建立interface.sv(interface)
    在这里插入图片描述

  • 建立fifo_top:使用interface连接DUT(module)
    在这里插入图片描述

  • 建立clockGener(class)(最好放在module中,便于debug) 在这里插入图片描述

  • 建立resetGenerator(class)
    在这里插入图片描述

  • 建立driver:给dut灌激励(class)
    驱动一定要用非阻塞赋值,驱动给DUT,DUT使用非阻塞赋值
    类中不能定义实接口,定义虚接口
    在这里插入图片描述

  • 建立monitor:抓输出数据(class)
    monitor只是拿数据,阻塞赋值
    在这里插入图片描述

  • 建立environment(class)
    例化clockGener、resetGenerator、driver、monitor
    在这里插入图片描述

  • 建立fifo_params(package)
    在这里插入图片描述

  • 建立top.sv
    例化接口,environment,调用environment中例化类的方法
    在这里插入图片描述

  • 建立scoreboard.sv
    队列放package
    scoreboard中建立covergroup
    在这里插入图片描述

④ sim下Makefile中说明顶层文件的名称
TOP = top
在这里插入图片描述

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iKUNqa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值