摘要:1、vim ~/.vimrc 进入配置文件 如果不知道vimrc文件在哪,可使用 :scriptnames 来查看 set nu #行号 set tabstop=4 #一个tab为4个空格长度 set ai #设置自动缩进 syntax on #高亮 2、基本 空格键 向右移动一格 x 删除后面的字
阅读全文
摘要:RTL仿真一直是IC设计生产流程中非常重要的一个环节。但是,随着设计规模的不断增大和功能复杂度的不断提高,较长的仿真时间就成了制约验证工作的主要瓶颈之一,运行数天甚至数周的超长测试用例是非常影响验证效率的。于是就引入了许多用于缩短仿真时间的技术,其中极为有效的一种是使用硬件加速器。硬件加速技术已经存
阅读全文
摘要:无论是自驾item,穿过sequencer交通站,通往终点driver,还是坐上sequence的大巴,一路沿途观光,最终跟随导游停靠到风景点driver,在介绍如何驾驶item和sequence,遵守什么交规,最终可以有序地穿过sequencer抵达driver之前,读者又必要首先认识sequen
阅读全文
摘要:声明:本人所有权属路科验证,本人仅为个人学习方便将文章整理至此。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 有了UVM的世界观,知道这座城市的建筑设计理念,也跟着码师们(实在不忍心用码农……)一起修建了各成独立环境的组件群落。读者们在经过一番实践,经过上一
阅读全文
摘要:在2.3.3节中引入my_mointor时,在my_transaction中加入了my_print函数; 在2.3.5节中引入reference model时,加入了my_copy函数; 在2.3.6节引入scoreboard时,加入了my_compare函数。 上述三个函数虽然各自不同,但是对于不
阅读全文
摘要:在验证平台中加入了reference model和monitor之后,最后一步是加入scoreboard。my_scoreboard的代码如下: 代码清单 2-50 文件:src/ch2/section2.3/2.3.6/my_scoreboard.sv 3 class my_scoreboard
阅读全文
摘要:摘自:http://book.2cto.com/201408/46009.html 在2.1节中讲述验证平台的框图时曾经说过,reference model用于完成和DUT相同的功能。 reference model的输出被scoreboard接收,用于和DUT的输出相比较。DUT如果很复杂,那么r
阅读全文
摘要:上一节在验证平台中加入monitor时,读者看到了driver和monitor之间的联系:两者之间的代码高度相似。其本质是因为二者处理的是同一种协议,在同样一套既定的规则下做着不同的事情。由于二者的这种相似性,UVM中通常将二者封装在一起,成为一个agent。因此,不同的agent就代表了不同的协议
阅读全文
摘要:验证平台必须监测DUT的行为,只有知道DUT的输入输出信号变化之后,才能根据这些信号变化来判定DUT的行为是否正确。 验证平台中实现监测DUT行为的组件是monitor。driver负责把transaction级别的数据转变成DUT的端口级别,并驱动给DUT,monitor的行为与其相对,用于收集D
阅读全文
摘要:在验证平台中加入reference model、scoreboard等之前,思考一个问题:假设这些组件已经定义好了,那么在验证平台的什么位置对它们进行实例化呢?在top_tb中使用run_test进行实例化显然是不行的,因为run_test函数虽然强大,但也只能实例化一个实例;如果在top_tb中使
阅读全文
摘要:文件: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"
阅读全文
摘要:如何在有效的使用uvm_config_db来搭建uvm验证环境对于许多验证团队来说仍然是一个挑战。一些验证团队完全避免使用它,这样就不能够有效利用它带来的好处;另一些验证团队却过多的使用它,这让验证环境变得不稳定。 本文讨论如何简单有效平衡的在验证环境中使用uvm_config_db,让它验证环境贡
阅读全文
摘要:在前几节的例子中,driver中等待时钟事件(@posedge top.clk)、给DUT中输入端口赋值(top.rx_dv <= 1' b1)都是使用绝对路径,绝对路径的使用大大减弱了验证平台的可移植性。一个最简单的例子就是假如clk信号的层次从top.clk变成了top.clk_inst.clk
阅读全文
摘要:在上一节中,虽然输出了“main_phase is called”,但是“data is drived”并没有输出。而main_phase是一个完整的任务,没有理由只执行第一句,而后面的代码不执行。看上去似乎main_phase在执行的过程中被外力“杀死”了,事实上也确实如此。 UVM中通过obje
阅读全文
摘要:上一节给出了一个只有driver、使用UVM搭建的验证平台。严格来说这根本就不算是UVM验证平台,因为UVM的特性几乎一点都没有用到。像上节中my_driver的实例化及drv.main_phase的显式调用,即使不使用UVM,只使用简单的SystemVerilog也可以完成。本节将会为读者展示在初
阅读全文
摘要:2.2 只有driver的验证平台 driver是验证平台最基本的组件,是整个验证平台数据流的源泉。本节以一个简单的DUT为例,说明一个只有driver的UVM验证平台是如何搭建的。 *2.2.1 最简单的验证平台 在本章中,假设有如下的DUT定义: 这个DUT的功能非常简单,通过rxd接收数据,再
阅读全文
摘要:#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
阅读全文
摘要:一、编写基本的do文件 下面按照实际仿真的步骤来说明do文件中需要用到的各个tcl命令。 1、quit -sim 退出原来的仿真工程; 2、cd 设置工作目录的路径,就是仿真工程路径; 3、vlib work 在工作目录下建立一个work目录,请注意不要用操作系统直接新建一个work的文件夹,因为用
阅读全文
摘要: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
阅读全文
摘要:版权声明:本文为Times_poem原创文章,转载请告知原博主。特别声明:本文在原文基础上做了简单修改以适应文中举例在questasim下的运行,敬请原博主谅解。 需求说明:UVM系统验证 内容 :IC设计验证 来自 :时间的诗 原文:http://www.ibowen.net/a/toutiao/
阅读全文