那些城市那些花

导航

随笔分类 -  UVM

1

vim shortcut
摘要:1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu #行号 set tabstop=4 #一个tab为4个空格长度 set ai #设置自动缩进 syntax on #高亮 2、基本 空格键 向右移动一格 x 删除后面的字 阅读全文

posted @ 2017-08-17 20:58 那些城市那些花 阅读(563) 评论(0) 推荐(1)

移植混合语言设计验证的硬件加速方法
摘要:RTL仿真一直是IC设计生产流程中非常重要的一个环节。但是,随着设计规模的不断增大和功能复杂度的不断提高,较长的仿真时间就成了制约验证工作的主要瓶颈之一,运行数天甚至数周的超长测试用例是非常影响验证效率的。于是就引入了许多用于缩短仿真时间的技术,其中极为有效的一种是使用硬件加速器。硬件加速技术已经存 阅读全文

posted @ 2017-07-04 17:57 那些城市那些花 阅读(791) 评论(0) 推荐(0)

UVM序列篇之二:sequence和item(上)
摘要:无论是自驾item,穿过sequencer交通站,通往终点driver,还是坐上sequence的大巴,一路沿途观光,最终跟随导游停靠到风景点driver,在介绍如何驾驶item和sequence,遵守什么交规,最终可以有序地穿过sequencer抵达driver之前,读者又必要首先认识sequen 阅读全文

posted @ 2017-06-08 23:34 那些城市那些花 阅读(1759) 评论(0) 推荐(0)

UVM序列篇之一:新手上路
摘要:声明:本人所有权属路科验证,本人仅为个人学习方便将文章整理至此。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 有了UVM的世界观,知道这座城市的建筑设计理念,也跟着码师们(实在不忍心用码农……)一起修建了各成独立环境的组件群落。读者们在经过一番实践,经过上一 阅读全文

posted @ 2017-06-08 23:10 那些城市那些花 阅读(4571) 评论(0) 推荐(0)

*2-3-7-加入field_automation机制
摘要:在2.3.3节中引入my_mointor时,在my_transaction中加入了my_print函数; 在2.3.5节中引入reference model时,加入了my_copy函数; 在2.3.6节引入scoreboard时,加入了my_compare函数。 上述三个函数虽然各自不同,但是对于不 阅读全文

posted @ 2017-05-28 14:31 那些城市那些花 阅读(1970) 评论(0) 推荐(0)

2.3.6-加入scoreboard
摘要:在验证平台中加入了reference model和monitor之后,最后一步是加入scoreboard。my_scoreboard的代码如下: 代码清单 2-50 文件:src/ch2/section2.3/2.3.6/my_scoreboard.sv 3 class my_scoreboard 阅读全文

posted @ 2017-05-28 11:19 那些城市那些花 阅读(809) 评论(0) 推荐(0)

*2_3_5_加入reference model
摘要:摘自:http://book.2cto.com/201408/46009.html 在2.1节中讲述验证平台的框图时曾经说过,reference model用于完成和DUT相同的功能。 reference model的输出被scoreboard接收,用于和DUT的输出相比较。DUT如果很复杂,那么r 阅读全文

posted @ 2017-05-12 01:17 那些城市那些花 阅读(1530) 评论(0) 推荐(0)

*2.3.4_封装成agent
摘要:上一节在验证平台中加入monitor时,读者看到了driver和monitor之间的联系:两者之间的代码高度相似。其本质是因为二者处理的是同一种协议,在同样一套既定的规则下做着不同的事情。由于二者的这种相似性,UVM中通常将二者封装在一起,成为一个agent。因此,不同的agent就代表了不同的协议 阅读全文

posted @ 2017-05-11 23:04 那些城市那些花 阅读(1890) 评论(0) 推荐(0)

*2.3.3-加入monitor
摘要:验证平台必须监测DUT的行为,只有知道DUT的输入输出信号变化之后,才能根据这些信号变化来判定DUT的行为是否正确。 验证平台中实现监测DUT行为的组件是monitor。driver负责把transaction级别的数据转变成DUT的端口级别,并驱动给DUT,monitor的行为与其相对,用于收集D 阅读全文

posted @ 2017-05-11 00:58 那些城市那些花 阅读(739) 评论(0) 推荐(0)

*2.3.2_加入env
摘要:在验证平台中加入reference model、scoreboard等之前,思考一个问题:假设这些组件已经定义好了,那么在验证平台的什么位置对它们进行实例化呢?在top_tb中使用run_test进行实例化显然是不行的,因为run_test函数虽然强大,但也只能实例化一个实例;如果在top_tb中使 阅读全文

posted @ 2017-05-10 22:01 那些城市那些花 阅读(427) 评论(0) 推荐(0)

UVM_INFO
摘要:文件:src/ch3/section3.5/3.5.6/get/my_model.sv 21 function void my_model::build_phase(uvm_phase phase); 22 super.build_phase(phase); 23 port = new("port" 阅读全文

posted @ 2017-05-10 01:37 那些城市那些花 阅读(2092) 评论(1) 推荐(0)

uvm_config_db在UVM验证环境中的应用
摘要:如何在有效的使用uvm_config_db来搭建uvm验证环境对于许多验证团队来说仍然是一个挑战。一些验证团队完全避免使用它,这样就不能够有效利用它带来的好处;另一些验证团队却过多的使用它,这让验证环境变得不稳定。 本文讨论如何简单有效平衡的在验证环境中使用uvm_config_db,让它验证环境贡 阅读全文

posted @ 2017-05-10 01:11 那些城市那些花 阅读(7131) 评论(0) 推荐(0)

*2.2.4 加入virtual interface
摘要:在前几节的例子中,driver中等待时钟事件(@posedge top.clk)、给DUT中输入端口赋值(top.rx_dv <= 1' b1)都是使用绝对路径,绝对路径的使用大大减弱了验证平台的可移植性。一个最简单的例子就是假如clk信号的层次从top.clk变成了top.clk_inst.clk 阅读全文

posted @ 2017-05-07 23:52 那些城市那些花 阅读(1557) 评论(0) 推荐(0)

*2.2.3 加入objection机制
摘要:在上一节中,虽然输出了“main_phase is called”,但是“data is drived”并没有输出。而main_phase是一个完整的任务,没有理由只执行第一句,而后面的代码不执行。看上去似乎main_phase在执行的过程中被外力“杀死”了,事实上也确实如此。 UVM中通过obje 阅读全文

posted @ 2017-05-07 22:10 那些城市那些花 阅读(983) 评论(0) 推荐(0)

2.2.2 加入factory机制
摘要:上一节给出了一个只有driver、使用UVM搭建的验证平台。严格来说这根本就不算是UVM验证平台,因为UVM的特性几乎一点都没有用到。像上节中my_driver的实例化及drv.main_phase的显式调用,即使不使用UVM,只使用简单的SystemVerilog也可以完成。本节将会为读者展示在初 阅读全文

posted @ 2017-05-07 22:06 那些城市那些花 阅读(500) 评论(0) 推荐(0)

*2.2.1 最简单的验证平台
摘要:2.2 只有driver的验证平台 driver是验证平台最基本的组件,是整个验证平台数据流的源泉。本节以一个简单的DUT为例,说明一个只有driver的UVM验证平台是如何搭建的。 *2.2.1 最简单的验证平台 在本章中,假设有如下的DUT定义: 这个DUT的功能非常简单,通过rxd接收数据,再 阅读全文

posted @ 2017-05-07 19:02 那些城市那些花 阅读(984) 评论(0) 推荐(0)

Basic .do(Can be used as template)
摘要:#Time: 2017-05-06 #By : YINBin@122275 quit -sim cd D:/Documents/Work/UVM_PRJ/uvm-crc-testset UVM_DPI_HOME C:/questasim64_10.2c/uvm-1.1d/win64set UVM_H 阅读全文

posted @ 2017-05-06 22:51 那些城市那些花 阅读(275) 评论(0) 推荐(0)

QuestaSim自动化仿真之do文件
摘要:一、编写基本的do文件 下面按照实际仿真的步骤来说明do文件中需要用到的各个tcl命令。 1、quit -sim 退出原来的仿真工程; 2、cd 设置工作目录的路径,就是仿真工程路径; 3、vlib work 在工作目录下建立一个work目录,请注意不要用操作系统直接新建一个work的文件夹,因为用 阅读全文

posted @ 2017-05-06 22:44 那些城市那些花 阅读(5352) 评论(0) 推荐(0)

vlog常用参数解析
摘要:1. -f <filelist> : compile all files in filelist #+incdir+ D:/Documents/Work/UVM_PRJ/uvm-crc-test/srcD:/Documents/Work/UVM_PRJ/uvm-crc-test/src/crc7.v 阅读全文

posted @ 2017-05-06 20:56 那些城市那些花 阅读(1277) 评论(0) 推荐(0)

UVM系统验证基础知识0(Questasim搭建第一个UVM环境)
摘要:版权声明:本文为Times_poem原创文章,转载请告知原博主。特别声明:本文在原文基础上做了简单修改以适应文中举例在questasim下的运行,敬请原博主谅解。 需求说明:UVM系统验证 内容 :IC设计验证 来自 :时间的诗 原文:http://www.ibowen.net/a/toutiao/ 阅读全文

posted @ 2017-05-05 23:55 那些城市那些花

1