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要能够提供所有激励,并且能够将激励传播到待测电路中,而且能够侦测错误。
另外,测试编写完毕了,测试通过了并不是就万事大吉了。通常,有些东西是工程师没想到的问题,而导致测试不全面。
这些就需要我们不断扩大知识面了。要特别提醒的是复位测试,复位和时钟的配合,跨时钟域的处理等。
啰嗦了一大堆,希望对你有点帮助。
BFM1的更多相关文章
- 阿里云ECS部署maven项目
1.配置JDK和tomcat: https://www.cnblogs.com/congcongdi/p/11227771.html 2.使用eclipse打包项目 在项目上点击右键-->run ...
随机推荐
- windows上制作懒人版MAC cdr/iso
本教程以XPS15 L501X机型为例在windows7下讲解Lion纯净系统的制作及安装过程,以及一些后续美化,如果已有mac系统,就更简单了,照猫画虎即可.主楼的帖子对新手来讲信息量太大,所以关于 ...
- 深入理解c语言_从编译器的角度考虑问题_纪念Dennis Ritchie先生
开源中国: Dennis Ritchie教授过世了,他发明了C语言,一个影响深远并彻底改变世界的计算机语言.一门经历40多年的到今天还长盛不训的语言,今天很多语言都受到C的影 响,C++,Java,C ...
- Linux下归档与压缩工具笔记
tar具体使用笔记 归档工具 tar 语法 功能 选项 常见搭配 压缩工具 bzip2 工具 使用方法 gzip 工具 zip 工具 归档工具 tar tar是一个开源的Linux/Unix中最广泛使 ...
- C# #if DEBUG
首先,大小写不能写错,其次,解决方案配置设为:Debug,才会执行该语句,如果在条件里面搭配Debug.Assert等,效果甚佳.而如果要设置为Release模式,就不会执行条件语句中的内容,有时候可 ...
- Log4net 写文件日志与数据库日志
一.数据库日志表结构 CREATE TABLE [dbo].[WebLog_Msg]( [LogID] [int] IDENTITY(1,1) NOT NULL, [Date] [datetime] ...
- BrnShop开源网上商城第四讲:自定义插件
重要通知:BrnShop企业版NOSQL设计(基于Redis)已经开源!源码内置于最新版的BrnShop中,感兴趣的园友可以去下载来看看.官网地址:www.brnshop.com. 好了现在进入今天的 ...
- 事件流处理框架NEsper for .NET z
复合事件处理(Complex Event Processing)介绍提到了开源的Esper,NEsper 是一个事件流处理(Event Stream Processing,ESP)和复杂事件处理(Co ...
- TinyXml和tinyxml2
C++操作xml没有标准库的支持,TinyXml是个不错的xml操作库,以前总是使用TinyXml读写xml,但是最近对大量xml进行读写时,速度真的是有点慢,特别是在调试时,每次启动读xml就要好长 ...
- Dispatcher及线程操作
WPF 应用程序启动后,会有两个线程: 1. 一个是用来处理UI呈现(处理UI的请求,比如输入和展现等操作). 2. 一个用来管理 UI的 (对UI元素及整个UI进行管理). WPF在线程里面是不可以 ...
- CentOS+Nginx一步一步开始配置负载均衡
Nginx负载均衡的理解 http://www.linuxdiyf.com/linux/10205.html Nginx是一个轻量级的.高性能的WebServer,他主要可以干下面两件事: 作为htt ...