0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Timer测试方案 Timer测试平台实现 测试平台debug注意事项

冬至子 来源:拾加分享 作者:10+助手 2023-07-14 10:54 次阅读

、测试的基本概念

IC验证,一般也称“功能验证”,我们今天要讲的,不是这个,是它的简化版:模块测试,是设计工程师完成代码设计后,需要自己做的这部分验证工作。IC验证,我们将会在后续文章中,专门讲解。

为什么说设计工程师做的模块测试是IC验证的简化版?

在回答这个问题之前,我们先了解几个概念:

  • 白盒测试(White-box Test)
  • 黑盒测试(Black-box Test)
  • 灰盒测试(Grey-box Test)

这个几个概念在软件工程中都有介绍,IC设计验证中一样存在这几个概念涉及的工作,所以直接借用。

白盒测试,一般是针对代码结构进行的测试,所以也有称白盒测试为“结构测试”。

黑盒测试,一般是行为测试,把设计当黑盒子,不用看代码不用针对代码结构进行测试。我们前面提到的IC验证,通常指的“功能验证”,就属于“黑盒测试”。

灰盒测试,介于白盒测试和黑盒测试之间,兼顾两者优点。

在实际工作中,设计工程师完成代码设计之后,交给验证工程师之前,除了检查语法、可综合性之外(当然还有其他检查,设计刚入门,不用关心这么多),还需要进行基本的测试,这个基本的测试,原则上应该是白盒测试。

实际上,因为全靠设计工程师构造测试例来做覆盖完成白盒测试的工作量太大,一般都用更实际的做法:简单的功能测试。

做法:确认设计的代码基本可以工作,基本的读写没有问题后,就交给验证工程师来做“IC验证”,也就是功能验证。当然,不同的团队对设计交付代码质量的要求不一样,那么测试的内容和工作量也有差异。

二、Timer测试方案

Timer的测试方案涵盖的内容包括:测试内容、测试例、测试平台结构,在实际操作中,有些团队略去了测试内容的梳理和测试平台结构的设计,仅仅构造了一些这对基本功能的测试例,我们这部分保留这些内容,但是做了精简。

1.测试内容

Timer模块的白盒测试,简化为基本的功能测试,如:

  • 对总线接口的读写检查
  • 对模块寄存器的复位值的检查;
  • 对寄存器读写的检查;
  • 对计数基本功能的检查;
  • 对代码行、if语句各分支的执行检查等;

针对这些功能,构造相应的测试例进行测试。

2.测试例

根据规格书上梳理待测试的功能。实际操作时有的工程师会简化,经测试基本功能,确认设计可以动起来。如下表格是测试例的片段。

图片

3.测试平台结构

完成待测试功能的梳理和测试例的构造,我们接着要做是,设计构造测试平台(Testbench)。

图片

DUT:待测试对象(Device Under Test),也就是我们前面用Verilog或VHDL写的RTL设计代码。

激励:DUT和testbench之间只能通过顶层接口连接,所以,所有的测试数据都必须按照顶层接口的时序要求,输入进DUT中。这里的测试数据也叫测试例或者测试向量。测试例,一般是采用直接测试例进行测试,这种测试方式针对性强,能够快速将模块驱动起来。

结果比较:等待DUT输出结果(DUT会有标识,或通过主机轮询,或DUT自己有标识接口),testbench必须按照顶层接口的时序要求,取出DUT的输出结果,再与期望值比较,最后将比较结果打印出来,便于查看。

三、Timer测试平台实现

实现语言: 可以用verilog语言,或者VHDL语言,或者SystemVerilog语言等。

仿真工具 :Modelsim、VCS、NC-Verilog/NC-VHDL

下面是平台代码实现的片段。

1. 顶层文件代码

图片

顶层包含:

  • 时钟和复位信号的定义;
  • 时钟周期的参数定义;
  • 验证环境文件的导入;
  • 时钟的产生;
  • 复位信号的产生;
  • 模块的例化;
  • 在初始化中运行测试例任务;

2 .总线激励

假定Timer的总线接口是Z总线,下面的代码就是实现一个Z总线的写操作,将wdata写入zaddr这个地址里面。

图片

3.测试例

测试例主要是将上面的总线驱动task调用起来对模块进行驱动,让模块正常工作起来。同时设定一定的循环次数,每一次新的运行需要等待中断到来之后进行新的寄存器配置。

图片

4.结果比较

为了提高debug效率,将从DUT出来的结果和理想结果进行自动对比,并将对比结果打印出来。

图片

结果比较一般流程是等待DUT的中断到来,然后读取Timer的寄存器的值与期望值做比较。

四、测试平台Debug注意事项

  1. 在对整个testbench进行编译时候,初期语法错误较多,这时候需要多联系上下文来check,很多时候工具报的问题不在出错误的地方。
  2. Debug经常遇到的问题是测试例跑死,这种情况一般是等待的事件没有等到,或者寄存器配置错误。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    30

    文章

    5028

    浏览量

    117723
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102956
  • VHDL语言
    +关注

    关注

    1

    文章

    113

    浏览量

    17802
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59064
  • DUT
    DUT
    +关注

    关注

    0

    文章

    180

    浏览量

    11998
收藏 人收藏

    评论

    相关推荐

    求锂电池充电方案,IC选择及测试注意事项

    求锂电池充电方案,IC选择及测试注意事项,谢谢
    发表于 12-22 16:22

    高压绝缘电阻测试的使用注意事项

    高压绝缘电阻测试仪也被称为兆欧表或者绝缘电阻测试仪等等,它被广泛应用于电力的网站或用电的设备检测,对人身安全和设备安全有着重要的意义,下面将会让大家详细地介绍高压绝缘电阻测试仪的使用注意事项
    发表于 09-01 08:58

    基于白盒测试的自动化测试平台实现

    主要介绍了 Parlay 应用服务器的 API 接口, 提出了一个简单的基于白盒测试的自动化测试平台实现方案, 并详细介绍了该
    发表于 09-08 15:07 6次下载
    基于白盒<b class='flag-5'>测试</b>的自动化<b class='flag-5'>测试</b><b class='flag-5'>平台</b><b class='flag-5'>实现</b>

    微水测试仪的简单介绍和注意事项

    微水仪对称为微水测试仪主要是用于对SF6气体的湿度检测,其仪器适合于电力、石化、冶金、环保、科研院所等领域,以下是对于仪器测试方法的简单介绍和注意事项
    发表于 03-04 14:15 7756次阅读

    Timer0和Timer1及Timer2定时器的C语言和汇编语言测试程序免费下载

    本文档的主要内容详细介绍的是Timer0和Timer1及Timer2定时器的C语言和汇编语言测试程序免费下载。
    发表于 06-10 08:00 0次下载
    <b class='flag-5'>Timer</b>0和<b class='flag-5'>Timer</b>1及<b class='flag-5'>Timer</b>2定时器的C语言和汇编语言<b class='flag-5'>测试</b>程序免费下载

    防止Stress测试损坏注意事项

    电子发烧友网站提供《防止Stress测试损坏注意事项.pdf》资料免费下载
    发表于 10-17 10:39 2次下载
    防止Stress<b class='flag-5'>测试</b>损坏<b class='flag-5'>注意事项</b>

    三防漆抗硫腐测试注意事项

    三防漆抗硫腐测试需要注意哪些事项呢?今天施奈仕将多年总结测试积累的经验和大家进行分享,希望能够帮助到大家。
    的头像 发表于 05-21 09:18 437次阅读
    三防漆抗硫腐<b class='flag-5'>测试注意事项</b>

    扭力测试仪的操作安全有哪些注意事项

    磐石测控:深圳扭力测试仪的操作安全有哪些注意事项?磐石测控:深圳扭力测试仪的操作安全有哪些注意事项?相信不少人是有疑问的,今天深圳市磐石测控仪器有限公司就跟大家解答一下!在使用这款扭力
    的头像 发表于 07-21 11:38 724次阅读
    扭力<b class='flag-5'>测试</b>仪的操作安全有哪些<b class='flag-5'>注意事项</b>?

    磐石测控:深圳扭力测试仪有哪些使用注意事项

    磐石测控:深圳扭力测试仪有哪些使用注意事项
    的头像 发表于 08-08 10:35 456次阅读
    磐石测控:深圳扭力<b class='flag-5'>测试</b>仪有哪些使用<b class='flag-5'>注意事项</b>?

    磐石测控:深圳扭力测试仪有哪些使用注意事项

    磐石测控:深圳扭力测试仪有哪些使用注意事项
    的头像 发表于 08-10 09:41 450次阅读
    磐石测控:深圳扭力<b class='flag-5'>测试</b>仪有哪些使用<b class='flag-5'>注意事项</b>?

    EMC现场测试的一般步骤和注意事项有哪些?

    emc现场测试的一般步骤和注意事项有哪些?
    的头像 发表于 06-26 09:22 1634次阅读

    Y电容的测试方法和注意事项

    Y电容是一种常见的被动元件,用于滤波和稳压电路中。在实际应用中,需要对Y电容进行测试以确保其正常工作。本文将介绍Y电容的测试方法和注意事项
    发表于 09-12 16:53 1732次阅读

    HK32MCU应用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项

    HK32MCU应用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项
    的头像 发表于 09-18 10:58 482次阅读

    继电保护测试测试时必须注意事项有哪些?

    注意事项。其次,要检查测试仪器的电源和电缆是否连接良好,确保仪器处于正常状态。此外,还要确保测试环境的安全,避免在潮湿、高温或存在危险因素的环境中进行测试。 二、操作过程中的
    的头像 发表于 11-21 14:11 274次阅读
    继电保护<b class='flag-5'>测试</b>仪<b class='flag-5'>测试</b>时必须<b class='flag-5'>注意事项</b>有哪些?

    数据采集设备测试有哪些注意事项

    数据采集设备测试有哪些注意事项
    的头像 发表于 12-05 10:05 224次阅读