从零开始学习 UVM10.7UVM TLM —— TLM Fifo [uvm_tlm_fifo]
Posted ReRrain
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零开始学习 UVM10.7UVM TLM —— TLM Fifo [uvm_tlm_fifo]相关的知识,希望对你有一定的参考价值。
文章目录
假设发送方的数据速率比接收方获取数据包的速率快得多。需要在两者之间插入一个FIFO元素来存储数据包,以便允许发送方和接收方独立操作。FIFO的深度通常根据数据传输速率计算。TLM FIFO被放置在测试台组件之间,这些组件以不同的速率传输数据对象。
UVM TLM FIFO Example
下面定义了一个名为Packet的类,作为从一个组件传输到另一个组件的数据项。这个类对象将有两个随机变量,在发送之前可以随机化。
class Packet e
从零开始学习 UVM6.4UVM 激励产生 —— uvm_do 宏详解
请注意,start
方法的call_pre_post
字段设置为0,这意味着在使用这些序列宏时,序列的pre_body和post_body方法将永远不会被调用。否则,执行流程与通过start方法执行序列时类似。
文章目录
执行序列宏介绍
使用序列宏的优点是可以使用内联约束,但是您失去了控制执行sequence中 pre_body
和 post_body
方法调用的能力。通过创建item、随机化并自动调用所需任务来减少代码行数,以启动给定的sequence或sequence_item。
在之前的文章中,我们了解到所有 uvm_do
宏最终都调用在 uvm_do_on_pri_with
中定义的代码。因此,让我们看看 UVM 中如何构建它以更好地理解这个过程。
`define uvm_do_on_pri_with(SEQ_OR_ITEM
以上是关于从零开始学习 UVM10.7UVM TLM —— TLM Fifo [uvm_tlm_fifo]的主要内容,如果未能解决你的问题,请参考以下文章
从零开始学习 UVM4.1UVM Phases —— UVM Phases 介绍
从零开始学习 UVM3.11UVM TestBench架构 —— UVM Virtual Sequencer
从零开始学习 UVM5.1UVM Factory —— UVM Factory Override(工厂覆盖)