BFM:总线功能模型 zz

 

谈谈我的理解,不知对不对:
     //BFM:总线功能模型
     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要能够提供所有激励,并且能够将激励传播到待测电路中,而且能够侦测错误。
     
       另外,测试编写完毕了,测试通过了并不是就万事大吉了。通常,有些东西是工程师没想到的问题,而导致测试不全面。这些就需要我们不断扩大知识面了。要特别提醒的是复位测试,复位和时钟的配合,跨时钟域的处理等。
       啰嗦了一大堆,希望对你有点帮助。
看SYNOPSYS的AMBA的VIP使用文档,官方网站可以下
VMT 好像是veral modelling techonogy, 如果记错的话请版主指正, 呵呵
所有的DW VIP (for VERA)  都是基于VMT的技术建立起来的, 给用户提供了一些通用的命令接口, 参数配置等方便用户使用。

RVM版本的VIP提高了抽象层次, 可以让用户直接跳出繁琐的命令, 适合做 tansaction level 的验证。

现在我们看手册,基本上只用看 RVM相关的部分,用起来简单多了。

如果有问题直接 调  vera -doc 看手册,可以找到你要的大多数答案

我再说下去就是胡说八道, 版主要封ID了
像SYNP的DW VIP以及 CADENCE的 eVC都是加密的.
但APB的协议很简单,RVM的lab里面有APB的例子,你可以看到完整的代码
RVM(Reference Verification Methodology)
回答楼主的几个问题,个人理解有限,不保证正确。

如果要编写配置性高、可重用性高、比较全面的AHB BFM是比较花精力的,当然可以自己研究设计,也可以买Synopsys的Designware Library
一套Designware Library大概几万$
另外,AMBA VIP的user guide是不需要帐号登录的,可以直接在Synopsys的网站下载到。但是库是需要付费的。

如果你的机器性能够好,可以安装VMWare虚拟机,在虚拟机中安装Linux系统,跑工具和设计。


VMT是Synopsys的Verification Model Technology,很多VIP也即验证部件是基于VMT来设计的,
RVM是Synopsys的一种验证方法学,描述的是如何把VIP build up起来成为一个环境,进行验证行为。

最后,SNPS就是Synopsys的缩写。

P.S 多google,或者多研究edacn,有很多内容可以帮助到你的。
参考AMBA VIP的user guide,自己写BFM

你可能感兴趣的:(vmware,虚拟机,user,测试,library,reference)