UVM
人无再少年97
每日一更
展开
-
uvm实战(32位全加器)
(1)首先写明32位加法器的verilog代码(2)my_transaction.sv为激励成员指定rand属性将自定义的事务类向UVM注册(uvm_object_utils,uvm_field_int)约束项,控制随机成员的随机范围解释:1、通过import语句将整个uvm_pkg导入验证平台中,只有导入这个库,编译器才能识别uvm_component类2、uvm_macr...原创 2020-05-09 12:01:32 · 3605 阅读 · 2 评论 -
UVM(六)
UVM callback如何改变driver的行为?(1)使用UVM的factory机制和override机制实现(过多的扩展可能会引起继承关系层次出现混乱,应该从哪个类进行扩展?)call back(回调)function or task(回调函数)在一个对象中使用,在另一个对象中定义如何使用UVM callback1、将UVM callback 方法内嵌入组件中2、...原创 2020-04-15 12:17:07 · 674 阅读 · 0 评论 -
UVM(五)
UVM TLM(Transaction level modeling)TLM为组件之间的通信建立专门的通信信道,避免通信出现混乱(例如reference model只能从master_agent的monitor获取数据)transaction事务的传送分为put(producer主动发起事务的传输)和get(consumer主动从producer获取数据)其中使用port.put()函数(...原创 2020-04-14 17:21:16 · 1125 阅读 · 0 评论 -
UVM(四)
UVM configuration机制(属性配置工具)传递值传递对象传递interface(1)半个全局变量,避免全局变量带来的风险(2)高层组件可以通过configuration机制在不改变代码的情况下更改所包含的子组件的变量(3)支持通配符和正则表达式对多个变量进行配置(4)支持用户定义的数据类型(5)可以在仿真运行的过程中进行配置1、配置sequence产生tran...原创 2020-04-13 21:20:37 · 605 阅读 · 1 评论 -
UVM(三)
factory机制其中uvm_component_utils和uvm_object_utils即创建注册表使用override结合factory机制,替换列表添加替换项factory机制和override机制联合使用:可以通过factory的print函数查看是否调用成功如果需要只部分修改transaction的类型:同样组件可以类似替换...原创 2020-04-12 22:51:13 · 373 阅读 · 0 评论 -
UVM(二)
UVM库(在类库中使用继承和封装)TLM(TLM是组件之间通信的标准)structural Elements(不同方法学的通用类:组件、信息系统、仿真阶段等等)methodology(用户实现平台重用的主要接口,用户可以在不改变代码的情况下更改平台配置、替换平台组件、更换不同的激励甚至仿真行为)UVM package 包含三个主要的类:uvm_component(构建UVM te...原创 2020-04-12 11:46:40 · 735 阅读 · 0 评论 -
UVM(一)
encapsulation(封装)inheritance(继承)polymorphism(多态)原创 2020-04-11 22:49:26 · 1275 阅读 · 0 评论