微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > 微电子学习交流 > system verilog中为什么要用clocking?

system verilog中为什么要用clocking?

时间:12-12 整理:3721RD 点击:
interface中经常会将一组信号做成clocking,请问为什么要这样做呢?
据说如果不加clocking采到的数据会不对

是说的modport吗?
如果是,那就是方便MONITOR,DRIVE.

不光是方便吧
不加这个数据会不对
有人能详细说说吗

就是你加激励要按照时序加,采样也要按照时序采样。

如果我不加clocking
bfm里依然会@(posedge clk)再生成时序
为什么必须要加clocking呢

VMM里是推荐使用modport的,到了OVM,UVM我看是有人不加这个的。

不加这个是没有问题的。
不过VMM推荐使用这个,其实还是属于封装的概念,在BFM里直接@clocking块就可以了。
但是我使用VCS时使用clocking曾经发现过非常诡异的现象,好像是工具的bug。从那以后,再不使用clocking块了。工具的支持有问题。

类似于 在clk沿之前就采样     drive在port的信号 在clk沿之后还没有反应在波形变化中  这种

clocking就是要解决这个问题。。。
你是说bfm生成的信号在clock沿之后没有反应?延时了一拍?
能不能把这个例子详细说下?

大概就是看波形的时候比较费解吧    debug起来太难受  后来干脆不用clocking了
对了  是用VCS仿真的

具体不记得了,不是那种在clk沿前采样,还是在clk沿后采样的问题。
好像是有个valid本来应该赋值为1(或者0之类的),结果被工具漏掉了,非常诡异的。
去掉clocking block就好了。

你用的是VMM还是别的mm?
这个clocking。。VMM中是推荐要加的

我用的就是VMM
它的方法学是推荐要加的,但某些情况下VCS工具的支持有问题,所以从那次以后,我再也不加clocking block了。

你确定不是其他东西引起的问题? 呵呵
和synopsis交流过吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top