自动化仿真平台由tcl语言搭建,大规模设计使用此平台让仿真便捷不少。大体上用tcl语言进行modelsim仿真的流程如下:
1. 建立库
2. 映射库到物理目录
3. 编译源代码
4. 启动仿真器
5. 执行仿真 tcl语言的语法 vlib :建立库。格式 vlib<library name> 。库名缺省值是work vmap:映射逻辑库名,将逻辑库名映射到库路径。语法格式vmap work <library name> vdir:显示指定库内容。语法格式vdir –lib <library name> vlog:编译verilog源代码,库名缺省时编译到work,文件按顺序编译。语法格式vlog –work <library_name> <file1>.v <file2>.v vcom:编译VHDL源代码,库名缺省时编译到work,文件按顺序编译。语法格式 vcom –work <library_name> <file1>.vhd <file2>.vhd vsim: 启动仿真器。语法格式vsim –lib <library_name><top_level_design> VHDL vsim top_entity top_architecture 仿真Entity/Architecture对也能选择一个结构 Verilog vsim top_levela top_level2 仿真多个top级模块 vsim命令的参数 -L<Library >:后面跟上仿真的库名 -t <time_unit> :指定仿真的时间分辨率;单位可以是{fs,ps,ns,ms,sec,min,hr}如果用了verilong的`timescale指令,将使用这个设计中的最小时间精度;时间进度可选项(缺省是ns) -sdfmin |-sdftyp|-sdfmax <instance>=<sdf_filename>:注释SDF文件;是可选项;使用实例名也是可选项;如果没有使用,SDF用于顶级 add wave /tb/ * :该命令作用是将tb.v中模块tb下所有的信号加到波形文件中,注意*前要加空格
run: 执行命令。语法格式run <time_step> <time_units>按照timesteps指定的时间长度执行仿真 run命令的参数:-<time_step> <time_units>指定运行的timesteps数量,单位可用{ fs,ps,ns,ms,sec } -step :到下一个HDL状态的的步骤 -continue:继续上次在-step或断点后的仿真 -all:一直运行 所需文件 除了本身的设计文件之外,此仿真平台还要有以下文件:

tb.v: 测试激励文件 glbl.v: 使用xilinx IPcore的就需要此文件 define.v: 定义了全局变量 runtb.bat: 脚本文件,双击可以用来打开run.do文件 run.do: 主要的控制文件 src.f: 设计文件的路径列表 cfg.f: ise安装目录下verilog库文件的路径 下面为各个文件的内容 1. runtb.bat vsim -do "do run.do "
2 .run.do quit -sim vlib work vlog -f src.f -f cfg.f ../src/tb.v vsim -t ps -L XilinxCoreLib_ver -L unisims_ver -L secureip -L simprims_ver -L unimacro_ver -L simprim -L unimacro -L unisim -L XilinxCoreLib work.tb work.glbl log -r /* view signals wave # do wave.do add wave/top/ * run –all
3. cfg.f +licq_all+ +access+r -O0 -work work +libext+.vmd+.v -y G:/iselib14_5/secureip -y G:/iselib14_5/simprims_ver -y G:/iselib14_5/unimacro_ver -y G:/iselib14_5/unisims_ver -y G:/iselib14_5/xilinxcorelib_ver -y G:/iselib14_5/simprim -y G:/iselib14_5/unimacro
-y G:/iselib14_5/unisim -y G:/iselib14_5/XilinxCoreLib /* included files containing parameters and definitions */
+incdir+../src
-y G:/iselib14_5/unisim -y G:/iselib14_5/XilinxCoreLib /* included files containing parameters and definitions */
+incdir+../src 4.src.f /* source code */ ../src/define.v ../src/tb.v ../src/glbl.v ../src/top.v ../src/rx/BIT_ALIGN_MACHINE.v ../src/rx/RX.v ../src/rx/rx_dut.v
../src/rx/rx_top.v ../src/tx/ctl.v ../src/tx/TX.v ../src/tx/tx_dut.v
../src/tx/tx_top.v

2关掉自动优化选项
在modelsim.ini中,
“VoptFlow=0
Resolution = ns”

Modelsim的自动化脚本仿真平台的更多相关文章

  1. Matlab/Modelsim图像联合仿真平台

    FPGA图像仿真平台 1 引言 在使用modelsim进行图像算法的功能仿真时,无法得到图像的实时预览,因此直观性有所欠缺.因此可配合matlab使用,通过modelsim读出txt格式的图像,利用m ...

  2. #研发解决方案#iDB-数据库自动化运维平台

    郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...

  3. 利用IT++搭建通信仿真平台

    IT++ is a C++ library of mathematical, signal processing and communication classes and functions.也就是 ...

  4. 怎样使用Debussy+ModelSim快速查看前仿真波形

    引子:ModelSim是HDL仿真软件,Debussy是波形查看软件:搭配使用,相当爽.此处所谓快速查看前仿真波形仅为抛砖引玉,大家不要拘泥于此.两款软件的功能都很强大,请自行研究. 注:本篇博文的软 ...

  5. Aurora学习笔记连载一:仿真平台搭建

    由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就 ...

  6. 图像处理算法的仿真平台之VGA时序

    一  概述 图像处理算法一般是用matla或OpenCV实现的,若是用FPGA实现,设计思路差别极大.matlab和opencv的优势:这些工具的优势在于可以方便地载入图像文件,或输出数据到图像文件, ...

  7. java+selenium自动化脚本编写

    实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...

  8. P2P/WSN信任建模与仿真平台

    1.ART Testbed 该平台是基于多代理的信任仿真平台,官网的介绍如下: The Agent Reputation and Trust (ART) Testbed initiative has ...

  9. QuartusII 中使用Modelsim对子程序进行仿真

    QuartusII 中使用Modelsim对子程序进行仿真 如果采用RTL级仿真那么就没有任何问题,但是如果对子程序采用门级仿真就会出错 解决办法:在Project Navigator中右键需要进行门 ...

随机推荐

  1. BZOJ_1221_ [HNOI2001]_软件开发(最小费用流,网络流24题#10)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1221 n天,每天需要r个毛巾,用完以后可以洗,要么花fa洗a天,要么花fb洗b天,毛巾不够了可 ...

  2. Linux Kernel ‘/net/socket.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/net/socket.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201312-037 发布时间: 2013-12-04 更新时间: 2013-12- ...

  3. Oracle rman 命令详解

    一.list常用命令总结备忘 list命令列出控制文件.RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法 list incarnation;    list ba ...

  4. MsoShapeType /InlineShape枚举

    指定形状的类型或形状范围. 名称 值 说明 msoAutoShape 1 自选图形. msoCallout 2 标注. msoCanvas 20 画布. msoChart 3 图. msoCommen ...

  5. 关于css样式的看法

    1.通常有两种方式,第一种是直接写在页面标签中,通过属性style,另一种是通过标签选择器赋样式 第一种方式,就是每一个标签都需要写一遍样式,同时没有做到样式和内容的分离,不方便以后的样式替换,主题的 ...

  6. [转]ASP.NET MVC 入门8、ModelState与数据验证

    ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合.在进行数据验证的时候这个属性是比较有用的.在使用Html. ...

  7. [liu yanling]软件测试的分类

    按测试的对象或范围分类: 单元测试.文档测试.系统测试等. 按测试目的分类: 功能测试.回归测试.性能测试.可靠性测试.安全性测试和兼容性测试 等.  根据测试过程中被测软件是否被执行: 分为静态测试 ...

  8. C#语法知识笔记

    抽象类 1.抽象类没有方法体,直接在括号后加“;”. protected abstract string getShoutSound(); 2.抽象类不能实例化:抽象方法必须被子类重写:如果类中包含抽 ...

  9. marvell笔试题(嵌入式软件)

    有幸去Marvell参加面试,由于其要求WCDMA/GSM之类的,我还特地恶补了下这方面的知识.后来坐了2个小时的地铁后,到达了Marvell.公司还蛮不错的,里面环境都还可以.我投了这家公司也是同学 ...

  10. iOS开发——View的autoresizingMask属性

    View的自适应属性autoresizingMask属性 每一个UIView都有一个autoresizingMask属性,这个属性是用于适应父视图的大小与子视图适应的,源码如下 enum { UIVi ...