zoukankan      html  css  js  c++  java
  • ModelSim 使用笔记1

     ModelSim提供了简单仿真方式,还有一种要建立project,目前这种方式暂时够我用了。

    总结了以下,做了一个简单的《modelsim quick start》。 

    简单方针模式下面,操作步骤如下(黄色字符部分为每个操作对应的script指令,打开modelsim软件,在script窗口输入这些指令即可):

    1.新建library。“file->new->library"。选择library种类为“Create: a new library and a logical mapping to it”。

    vlib newlib

    vmap newlib newlib 

    2.compile所有的源程序。"compile->compile"在弹出对话框选择要编译的源文件即可。compile所有的源程序之后,会将这些编译后的文件全部添加到新建的Library中去。

    VHDL程序使用:vcom -work newlib sourcecode.vdl

    Verilog程序使用:vlog -work newlib sourcecode.v  

    (A:源文件编译的前后顺序,对结果没有影响. B:如果前面使用的newlib名字是work,则不许要在这里指定工作lib。) 

    3.loading module到simulator里面。点击work左侧“+”号,展开lib,双击我们要观察的module。此时,会有signal窗口弹出(窗口标题是vsim)。

    vsim  lib_name.module_name

    (ATT:可能会因为vopt的缘故使得一些不重要signal被modelsim自动忽略,需添加选项 -novopt,即,vsim -novopt module_name)

    4.调整窗口,准备调试。“view->..."来打开想要观察的window。(如果wave,signals等窗口都在,就不用执行这一步了)

    view signals source wave

    5.添加要观察的signal到wave viewer里面。在对应的信号上右键“Add -> to wave -> all items in region"。

    add wave -r /* 

    add signal_name 添加单个信号到wave窗口

    6.点击run快捷按钮或者是,simulate->run,开始仿真

    run 500(运行500单位时间)

    run @ 3000(特定时刻观察)

    run -all (运行,直到testbench定义的stop时间)

    7.可以使用breakbutton来终止run,“simulate->break”

    break

    8.设置断点,直接单击要设置断点行的左侧 (不是所有行都可以设置断点,不同版本软件下自行实验)。

    当程序停止在设置的断点上时,通过以下方法查看变量值:

    1)在signal window里面直接看变量的值

    2)在source window里面,鼠标指针停留在变量上面时,会自动显示该变量的值(不确定是否全部版本都有)。

    3)在source window里面,右键examine。

    4)使用examine命令。在script窗口输入“examine var”

    9.wave观察

    观察一个数组时,可以选择用二进制,十进制,十六进制,还可以设置有符号无符号。

    还可以把它转化为analog方式,如调试一个供da使用sine输出,可以选择用analog方式来查看dout。

    Extra topic:compile the ISE standard lib for modelsim SE:


    1. use the ISE native tools.(Preferred)
    $ise_install_path/ise/bin/lin64/compxlibgui(compxlib is available for cmdline only)
    ATT: u'd better run it as root.

    2. Copy compiled libs from modelsim XE.

    3. compile the library in modelsim.
    cd $modelsim_install_path/
    mkdir ise_lib
    cd ise_lib
    mkdir unisim_ver
    vlib unisim_ver
    vmap unisim_ver unisim_ver
    vlog -work unisim_ver $ise_install_path/ise/verilog/src/unisim/*.v
    (source code for VHDL is in another dir)

    Do such for all libs.

    u need to modify the modelsim.ini before using the lib:

    $ise_install_path/ise/modelsim.ini
    add the flowing context(before[vcom]):
    unisim = $MODEL_TECH/../ise/unisim
    simprim = $MODEL_TECH/../ise/simprim
    xilinxcorelib = $MODEL_TECH/../ise/xilinxcorelib
    cpld = $MODEL_TECH/../ise/cpld
    secureip = $MODEL_TECH/../ise/secureip
    unimacro = $MODEL_TECH/../ise/unimacro
    cpld_ver = $MODEL_TECH/../ise/cpld_ver
    simprims_ver = $MODEL_TECH/../ise/simprims_ver
    uni9000_ver = $MODEL_TECH/../ise/uni9000_ver
    unimacro_ver = $MODEL_TECH/../ise/unimacro_ver
    unisims_ver = $MODEL_TECH/../ise/unisims_ver
    xilinxcorelib_ver = $MODEL_TECH/../ise/xilinxcorelib_ver

    =========================分割线=================================

    其他一些零碎:

    1.在当前工作目录下,会产生一个名为transcript的文本文件,里面记录了你在modelsim中的所有操作。 

    ——————
    无论在哪里做什么,只要坚持服务、创新、创造价值,其他的东西自然都会来的。
  • 相关阅读:
    嗨!亲爱的朋友们,欢迎您光临我的BLOG
    SQL里的各种语句语法
    2000/XP登陆后自动注销解决办法(WORM_FUNNER.A)
    ASP程序加密解密方法全面解析
    双击硬盘盘符打不开文件的处理方法
    关于rs.Open sql,conn语句
    C# 图片被占用资源无法删除或者修改,转换成数据流解决
    asp.net div 使用
    鼠标移到控件上显示,移出控件消失
    C# 文件关联 (jpg等图片格式为例)
  • 原文地址:https://www.cnblogs.com/pied/p/2396621.html
Copyright © 2011-2022 走看看