modelsim教程

来源:互联网 发布:安广网络电视黑屏 编辑:程序博客网 时间:2024/05/22 13:17
一、建立库
        vlib work(库名)
二、映射库到物理目录
        vmap work(映射的逻辑名称) work(存放的物理地址)
三、编译源代码
        vlog ../src/MUX_4_8.v
vlog ../src/MUX_4_8_tb.v
四、启动仿真器
        vsim -novopt(参数) work(库名).MUX_4_8_tb(顶层文件)
五、添加波形
        add wave -hex /*(添加所有波形)
六、执行仿真
        run 200
七、使用dataflow查看
        view dataflow


注意事项:

1.仿真库是存储已经由modelsim编译过的设计单元的目录,一个项目中包括工作库和资源库;


2.更改当前目录的方法是File->Change Directory;


3.在modelsim中直接编辑波形的方法是:

    右键单击信号->Create Wave,然后安流程走完;


4.dataflow的使用方法是:

    使用命令view dataflow(或View->New Window->Dataflow)打开dataflow窗口,在dataflow窗口Add->View All Nets,选中某个模块View->ShowWave查看单个模块的波形;


5.在modelsim中自动生成testbench的方法:

    首先File->open打开需要仿真的模块的.v文件,Source->Show LanguageTemplates,在显示的Langusge Templates栏中选择“Create Testbench”,软件自动弹出“Create Testbench Wizzard”窗口中,在“work”下选择待仿真的模块,按照提示走完,即可自动生成;


6.编译xilinx的modelsim库的方法:
    将modelsim的modelsim.ini文件的只读属性去掉,运行Xilinx/13.4/ISE_DS/ISE/bin/nt下的compxlib,选择modelsim的安装目录、选择芯片、选择编译目录,执行下一步...即可。打开modelsim,即已加入xilinx的仿真库;

    xilinx仿真库的源代码在ISE安装目录的verilo/src或vhdl/src目录中,编译后的仿真库一般放在modelsim/xilinx_lib下。


7.modelsim添加xilinx仿真库的方法
在modelsim的library窗口右键->New->Library,选择a map to an existing library手动添加(映射)
    unisims是xilinx所有标准元件库
    simprims是用来做xilinx的时序仿真或门级仿真的
    xilinxcorelib是xilinx的各IP核

在testbench里使用`timescale的问题
    `timescale是编译器指令,用来定义时延经度和时延单位。
    命令格式为`timescale time_unit/time_precision
        time_unit       为时延单位
        time_precision  为时延精度
    timescale 1ns/100ps
    表示时延单位为1ns,时延精度为100ps。如果后面有语句:
        #5.22 a=1;
    此时时延值为5.22ns应该对应5.2ns,因为精度为0.1ns。
    如果设计中多个模块带有自身的`timescale,编译时模拟器总是定义在所有模块的最小时延精度上,并且所有模块中的时延都自动换算为最小精度。