zoukankan      html  css  js  c++  java
  • UVM系统验证基础知识0(Questasim搭建第一个UVM环境)

    版权声明:本文为Times_poem原创文章,转载请告知原博主。特别声明:本文在原文基础上做了简单修改以适应文中举例在questasim下的运行,敬请原博主谅解。

    需求说明:UVM系统验证

    内容       :IC设计验证

    来自       :时间的诗

    原文:http://www.ibowen.net/a/toutiao/252197.html

    1. 创建代码

    QuestaSim中建立UVM环境,使用的UVM是UVM1.1b。

    如果安装的是QuestaSim 10.1c版本及以上的话,软件自动的将UVM的库给编译好了,生成了.dll文件,供UVM验证使用。

    modelsim的安装目录下的 UVM-1.1b/win64下,就有一个uvm_dpi.dll。同样也可以在questasim安装目录下直接搜索uvm_dpi.dll以找到其确切路径。

    hello_world.sv这个例子为例,说明验证环境搭建。在这个文件目录下,有3个文件。

          Hello_world.sv: 验证的代码

          Run.bat:  windows运行的脚本

          Sim.do:  modelsim运行的脚本文件

    对于hello_world.sv,该程序,就是输出一个hello uvm。

    1. `include "uvm_pkg.sv"  
    2. module hello_world_example;  
    3.   import uvm_pkg::*;  
    4.   `include "uvm_macros.svh"  
    5.   initial begin  
    6.     `uvm_info("info1","Hello UVM!",UVM_LOW)  
    7.   end  
    8. endmodule: hello_world_example  
    9.      

    对于rum.bat,就一句,就是调用modelsim,使用-do选项,当 modelsim启动后,自动执行sim.do脚本。

    对于sim.do文件

    代码

    1. #Time: 2016-07-19  
    2. #By  : times_poem  
    3.   
    4. quit -sim  
    5.   
    6. cd F:/UVM/prj00  
    7.   
    8. set  UVM_DPI_HOME   D:/software/modelsim10/uvm-1.1b/win64  
    9. if [file exists work] {  
    10.   vdel -all  
    11. }  
    12. vlib work  
    13. vlog  -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF  hello_world.sv  
    14. vsim  -c -sv_lib $UVM_DPI_HOME/uvm_dpi   work.hello_world_example  
    15. run 100 

          设置环境变量UVM_DPI_HOME,指定modelsim下的UVM1.1d的DPI的位置

          建立work library

          编译hello_world.sv代码,通过-L 指定编译需要的几个library

          执行仿真,通过-sv_lib选项,执行UVM1.1d的uvm_dpi.dll,然后针对于哪一个module进行仿真

          运行100ns

    2.运行代码

    执行,也很简单了,直接对run.bat双击。

    如果run.bat运行不成功,可以选择打开questasim,再输入如下指令指定运行路径

    cd F:/UVM/prj00 

    再输入执行命令

    do sim.do 

    3.显示结果

    就会调用modelsim,然后开始执行sim.do脚本。 

    至此,验证环境搭建成功。后面,就是增加代码文件,然后在sim.do文件中,对增加的代码文件进行编译,然后针对于顶层module进行仿真即可。

  • 相关阅读:
    Sublime Text 3 3126 注册码
    修改bootstrap 的全局样式,bootstrap 3.0 是由html5和CSS 3组成的
    mysql-sql高级应用
    MySQL 主键冲突,无法插入数据
    jquery加载页面的方法(页面加载完成就执行)
    Jquery怎么获取select选中项 自定义属性的值
    使用Yii2中dropdownlist实现地区三级联动的例子
    Yii2中省市三级联动(栏目联动)
    [HNOI2009] 梦幻布丁
    [CJOJ2410]数列操作d
  • 原文地址:https://www.cnblogs.com/YINBin/p/6815410.html
Copyright © 2011-2022 走看看