您的位置:首页 > 其它

【个人经验】关于BFM

2009-12-02 11:59 211 查看
最近看到论坛上关于BFM的话题,有求助的,也有答复的,因此,想对此谈一些个人的理解,欢迎讨论。

说到BFM,就不得不提验证,只有在验证前提下说bfm才有意义。

我们知道,验证就是送激励给DUV(design under verification),然后对DUV输出的信号(或内部信号)进行分析。根据这一句话,我们可以知道数据流大概是下面的样子:
“激励产生”-》“送激励”-》DUV-》“接收信号”-》“分析信号”

那么,BFM就是“送激励”和“接收信号”。在上面的数据流中,带有时序的部分,就是DUV和“送激励”、“接收信号”三部分。说白了,BFM,最大特点就是带有时序的模块,1拍1拍的把数据送给DUV,或者1拍1拍的把数据从DUV接收下来。BFM分为发送bfm和接收bfm

对于发送bfm,将产生好的激励,在时钟控制下送给DUV,这里的激励,是通过没有时钟的模块产生的,用verilog,c,都可以。
对于接收bfm,将来自DUV的数据事先存在一个大的memory或者reg中,然后在某个时刻触发分析数据的事件,调用“分析信号”模块,从而达到分析DUV输出数据的目的。

“激励产生”和“分析信号”都是不带时序的,如果用verilog语言来写,最大的特点就是要用许多task来完成。“分析信号”也是类似的。

如果要详细了解的话,推荐学习《wrigting testbench》就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: