zoukankan      html  css  js  c++  java
  • BFM1

    BFM应该描述的是具有某种具体功能的电路。比如说,你的待测电路是一个智能卡,那他的BFM就是读卡器;那你就要根据协议,在BFM中描述出读卡器的具体行为。
    写BFM就类似于写testbench了。BFM里面有需要主动触发的动作,以及被动接受的动作。主动触发的动作,你写成task,
    这样方便在testcase中调用。被动触发的动作,你在BFM里面直接写成电路就可以了。当然你可以灵活处理。

    以下是闲话:
    我觉得你可能不知道怎末对电路写测试。
    我认为测试分为两部分:1 功能分析;2 testbench编写
    1 功能分析
    你在编写测试之前,要仔细分析电路有哪些功能,并对这些功能分类。哪些是必须测的(must),哪些是应该测的(should),
    哪些是最好测的(Nice to do)。然后,你将功能相近的feature分为一类,你可以用一个testcase来测试。
    2 testbench
    当testcase分类完毕,你就开始琢磨怎么写testbench了。testbench要能够提供所有激励,并且能够将激励传播到待测电路中,而且能够侦测错误。

    另外,测试编写完毕了,测试通过了并不是就万事大吉了。通常,有些东西是工程师没想到的问题,而导致测试不全面。
    这些就需要我们不断扩大知识面了。要特别提醒的是复位测试,复位和时钟的配合,跨时钟域的处理等。
    啰嗦了一大堆,希望对你有点帮助。

  • 相关阅读:
    google git的使用方法
    C/C++ 开发库 | C/C++ Development Library
    log4cplus c++开源日志系统
    c++配置类
    Markdown基础语法
    Nhibernate 映射关系,一对多 多对一与多对手在映射文件中的体现。
    Nhibernate refers to an unmapped class nhibernate问题的解决(初学者)
    UICollectionView的使用
    Runloop
    UITableView(转)
  • 原文地址:https://www.cnblogs.com/hfyfpga/p/4312556.html
Copyright © 2011-2022 走看看