virtual sequence和sequence
时间: 2023-04-15 15:02:54 浏览: 192
Virtual sequence和sequence都是在验证中使用的概念。
Sequence是一种用于描述输入序列的抽象概念,它可以包含多个item,每个item可以是一个信号或者一组信号。Sequence可以用于生成测试用例,也可以用于检查设计是否符合规范。
Virtual sequence是一种在sequence基础上进一步抽象的概念,它可以包含多个sequence,并且可以定义sequence之间的关系和顺序。Virtual sequence可以用于描述复杂的输入序列,例如多个时钟域之间的交互、多个协议之间的交互等。
总的来说,Virtual sequence是在sequence的基础上提供了更高层次的抽象,可以更方便地描述复杂的输入序列。
相关问题
virtual sequence 和virtual sequencer
Virtual sequence和virtual sequencer是在测试平台体系结构中添加的一层。它们不是UVM中的预定义类,而是对现有UVM类的扩展。默认情况下,uvm_sequence类有一个名为m_sequencer的句柄,其类型为uvm_sequencer base。从uvm_sequence类扩展的类也是如此。而virtual sequencer类将具有物理sequencer的句柄,用于指向环境build phase构建阶段的物理sequencer。而virtual sequence具有物理sequencer和virtual sequencer的句柄。\[1\]
在使用virtual sequence时,需要将泛型m_sequencer指向virtual sequencer,并调用virtual sequence的body方法。由于m_sequencer是父类型,而virtual sequencer是子类型,为了访问子类的内容,需要使用另一个子类句柄,并将m_sequencer动态转换为本地子句柄。这就是为什么在virtual sequence中需要virtual sequencer的本地句柄。\[2\]
需要注意的是,虽然virtual sequence和virtual sequencer在测试平台中起到了重要的作用,但它们只是对现有UVM类的扩展,并没有单独的virtual sequence或virtual sequencer类。\[3\]
#### 引用[.reference_title]
- *1* *2* *3* [virtual sequence 和virtual sequencer](https://blog.csdn.net/weixin_46076353/article/details/127015624)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
virtual sequence
Virtual sequence可以理解为对于多个参与方的交互行为所产生的序列数据。虚拟序列数据通常被用于设计和验证复杂系统,例如硬件电路或者软件程序。它们是一种抽象层,将低层次的信号交互抽象成高层次的事务和操作序列。Virtual sequence使用一些语言和工具来描述交互行为和数据流,并且这些语言和工具可以将复杂的系统描述分解成模块化和可重用的单元。
阅读全文