zoukankan      html  css  js  c++  java
  • 基于modelsim-SE的专业进阶仿真流程

    基于modelsim-SE的专业进阶仿真流程

        通过《基于modelsim-SE的简单仿真流程》和《调用altera IP核的仿真流程》是否感受到仿真流程中的繁琐步骤,特别是在modelsim创建工程之后的步骤:编译、添加仿真信号、开始仿真。这三个步骤涉及到一大堆的鼠标操作,涉及到一大堆的窗口操作,由于RTL仿真过程是一个反复迭代的过程,同时要求覆盖到100%的功能测试,由此也要覆盖到所有状态机和条件判断的所有情况,由此,RTL的功能仿真功能需要不断的修改RTL代码,每次修改RTL代码都需要进行编译、添加仿真信号、开始仿真,这要是用鼠标操作这得多累人。

        由此,需要采用脚本的方式编写*do文件,将编译、添加仿真信号、开始仿真这三个步骤采用脚本的方式进行,只需在脚本执行窗口输入*.do文件,并执行就可以解决以上的问题。

    编写测试操作脚本

        编写测试操作脚本,需要对modelsim的脚本有所了解

    脚本语言

    说明

    vlib work

    新建工作目录

    vmap work work

    将新建库映射到当前工作目录

    Vlog D:/***/*.v -cover bcesxf

    Vlog编译文件,需要文件的所在地址及文件名;

    -cover bcesxf:覆盖分支条件表达式语句

    vsim -novopt work.(待测试的模块名)

    Vsim:加载仿真

    -novopt:不进行优化

    add wave -decimal /(待测试的模块名)/*

    add wave:添加仿真信号;

    -decimal:表示十进制有符号表示;

    -unsigned:表示十进制无符号;

    -hex:表示十六进制表示;

    /(待测试的模块名)/:将待测试的模块添加到单斜杠里面;

    *:表示整理模块里面的所有信号,也可以将*替换为具体的信号;

    run 1ms

    run 进行仿真,后面带仿真时间长度;

        本实验在《调用altera IP核的仿真流程》的实验上进行修改,使用的RTL代码、创建工程的过程和《调用altera IP核的仿真流程》一致。将步骤编译、添加仿真信号、开始仿真采用脚本的方式进行操作,编写的脚本如下(带#号为注释,注释用#号),在将脚本文件编写完成后,需要将文件保存为.do的后缀,然后保存到工程所在的文件夹,不需要包含到modelsim工程中。

    #Creat a work lib

    vlib work

    #Map the work lib to current lib

    vmap work work

    #Compile the source files

    # -cover bcesxf 覆盖分支条件表达式语句

    vlog E:/jaran/modelsim/lab2/altera_mf.v -cover bcesxf

    vlog E:/jaran/modelsim/lab2/rom_tst.v -cover bcesxf

    vlog E:/jaran/modelsim/lab2/rom_top.v -cover bcesxf

    vlog E:/jaran/modelsim/lab2/rom.v -cover bcesxf

    vlog E:/jaran/modelsim/lab2/counter.v -cover bcesxf

    #Start simulation

    vsim -novopt work.rom_tst

    #add wave

    add wave -unsigned /rom_top_1/*

    # add wave -hex /rom_top_1/*

    # add wave -hex/rom_tst/*

    # add wave -hex/rom_tst/clk

    #set run time

    run 1ms

        编写、保存为rom.do文件,在脚本窗口输入do rom.do,然后按下回车键。

        软件便进行编译、添加仿真信号、开始仿真。

    仿真信号查看

        仿真完成后,波形窗口产生相应的信号,如下所示。

        将rom_data显示为模拟信号会得到如下的结果,与实验《调用altera IP核的仿真流程》一致。

        采用脚本的方式,解决了仿真过程繁琐的操作过程,极大地加快了仿真的过程,该方式高效便捷专业,是采用modelsim进行仿真所要首推的方式。

    大西瓜FPGA-->https://daxiguafpga.taobao.com

    博客资料、代码、图片、文字等属大西瓜FPGA所有,切勿用于商业! 若引用资料、代码、图片、文字等等请注明出处,谢谢!

    每日推送不同科技解读,原创深耕解读当下科技,敬请关注微信公众号“科乎”。

  • 相关阅读:
    Android修改app的图标
    关于Python3中的WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443):
    Android 7.1 虚拟按键(NavigationBar)源码分析 控件加载、属性控制隐藏
    Android5.1 Browser 闪退分析 /data/tombstones
    RootCommand
    RK3288 Linux4.4.143 适配EETI
    Android 7.1 Camera2 拍照镜像分析
    Docker pull slow resolution
    Dockerfile使用OracleJDK创建自定义tomcat8镜像
    centos使用docker安装ActiveMQ
  • 原文地址:https://www.cnblogs.com/logic3/p/5636948.html
Copyright © 2011-2022 走看看