Modelsim的自动化脚本仿真平台
自动化仿真平台由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的自动化脚本仿真平台的更多相关文章
- Matlab/Modelsim图像联合仿真平台
FPGA图像仿真平台 1 引言 在使用modelsim进行图像算法的功能仿真时,无法得到图像的实时预览,因此直观性有所欠缺.因此可配合matlab使用,通过modelsim读出txt格式的图像,利用m ...
- #研发解决方案#iDB-数据库自动化运维平台
郑昀 创建于2015/12/2 最后更新于2015/12/2 关键词:数据库,MySQL,自动化运维,AutoDDL,刷库,帐号授权,审核,回滚 提纲: 数据库自动化运维什么?别人家是怎么玩的? 我们 ...
- 利用IT++搭建通信仿真平台
IT++ is a C++ library of mathematical, signal processing and communication classes and functions.也就是 ...
- 怎样使用Debussy+ModelSim快速查看前仿真波形
引子:ModelSim是HDL仿真软件,Debussy是波形查看软件:搭配使用,相当爽.此处所谓快速查看前仿真波形仅为抛砖引玉,大家不要拘泥于此.两款软件的功能都很强大,请自行研究. 注:本篇博文的软 ...
- Aurora学习笔记连载一:仿真平台搭建
由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就 ...
- 图像处理算法的仿真平台之VGA时序
一 概述 图像处理算法一般是用matla或OpenCV实现的,若是用FPGA实现,设计思路差别极大.matlab和opencv的优势:这些工具的优势在于可以方便地载入图像文件,或输出数据到图像文件, ...
- java+selenium自动化脚本编写
实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...
- P2P/WSN信任建模与仿真平台
1.ART Testbed 该平台是基于多代理的信任仿真平台,官网的介绍如下: The Agent Reputation and Trust (ART) Testbed initiative has ...
- QuartusII 中使用Modelsim对子程序进行仿真
QuartusII 中使用Modelsim对子程序进行仿真 如果采用RTL级仿真那么就没有任何问题,但是如果对子程序采用门级仿真就会出错 解决办法:在Project Navigator中右键需要进行门 ...
随机推荐
- BZOJ_3039_玉蟾宫_(动态规划+悬线法)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=3039 n*m的矩阵由R和F组成,求全是F的子矩阵的大小的三倍. 分析 悬线法: 浅谈用极大化思 ...
- POJ_3273_Monthly_Expense_(二分,最小化最大值)
描述 http://poj.org/problem?id=3273 共n个月,给出每个月的开销.将n个月划分成m个时间段,求m个时间段中开销最大的时间段的最小开销值. Monthly Expense ...
- 几种流行Webservice框架性能对比
1 摘要 开发webservice应用程序中离不开框架的支持,当open-open网站列举的就有30多种,这对于开发者如何选择带来一定的疑惑.性能Webservice的关键要素,不同的框架性 ...
- SQL SERVER 2008查询其他数据库
1.访问本地的其他数据库 --启用Ad Hoc Distributed Queries-- reconfigure reconfigure -- 使用完成后,关闭Ad Hoc Distributed ...
- 一个老站长对HTML5认识
新的一年开始,各个领域都在悄悄发生着一些变化.在移动互联网领域也在发生着很多变化,其中HTML5的技术在多年的实践和国内巨头公司的大力推广下,HTML5的webapp几乎可以和原生态的app分庭抗礼了 ...
- Clean Code–Chapter 7 Error Handling
Error handling is important, but if it obscures logic, it's wrong. Use Exceptions Rather Than Return ...
- 微软云平台windows azure入门系列八课程
微软云平台windows azure入门系列八课程: Windows Azure入门教学系列 (一): 创建第一个WebRole程序与部署 Windows Azure入门教学系列 (二): 创建第一个 ...
- Ant执行一个含有main方法的class文件
目前需要使用ant来执行一个含有main方法的class文件,并且需要通过命令来行传两个参数(start和end)到main方法. <target name="gsp" de ...
- 2015 CCPC D- Pick The Sticks(UESTC 1218) (01背包变形)
http://acm.uestc.edu.cn/#/problem/show/1218 既然二维dp表示不了,就加一维表示是否在边界放置,放置一个,两个.有一个trick就是如果只放一根,那么多长都可 ...
- 教程-MessageBox 使用方法
对应对象:TApplication 声明:function MessageBox(Text,Caption:PChar;Flags:Word):Integer; 功能:MessageBox方法可以显示 ...