微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > uvm_analysis_fifo

uvm_analysis_fifo

时间:10-02 整理:3721RD 点击:
uvm_analysis_fifo后面跟的类型怎么样定义呢,一定要是transaction吗?比如现在就想传递一个logic[7:0] data,这个uvm_analysis_fifo如何写?
uvm_analysis_fifo#(logic[7:0] data) ap;好像不对。大神帮我解决下,
刚接触uvm不久。

一定要是transaction

UVM好不容易才把Signal level的仿真抽象成Transaction Level,你这是要革UVM的命吗?
logic类型的变量都是static的,UVM的中的觉得多数都是dynamic。你把static的变量放在dynamic的对象中,完全是不合逻辑的。

比如对于monitor采集到dut的三个输出a,b,c,必须再把这三个输出整流成transaction的格式才能传给scb吗?按我现在能理解的,transaction
也就是sequence_item吧,其中定义的应该都是些要发送的激励啊,后面monitor
的结果要打包成的transaction是需要再另外定义吗?不然硬要往激励的transaction上
靠,我还不大理解。

monitor和driver在转换transaction和signal时的动作刚好相反:driver通过虚接口把transaction转换成signal,monitor通过虚接口把signal转换成transaction。
这种转换可以在monitor中实现,也可以自己定义一个collector的component来实现,这样更清晰。

driver中的transaction和monitor中的transaction可以不同,但很多例子中,都是一样的。另外,transaction是没有方向的概念的,不要与input output ports搞混了。

monitor中收集到的transaction可以通过uvm_analysis_port传给另外的component用。

那两个monitor,一个monitor用到另一个monitor的产生地结果,怎么连结啊?

为什么两个monitor之间要耦合啊?

一定要是transaction,你可以写一个transaction,里面就只有一个logic[7:0]数据类型

学这个玩意,你自己按照书上的那个例子,编译,调试,搞通了就搞懂了

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

网站地图

Top