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”

时间: 2024-10-05 04:40:51

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

modelsim全自动化仿真diamond的DDR SDRAM Controller报错

今天在给客户用modelsim全自动化仿真化仿真DDR SDRAM Controller的时候,报了如下图的错误.我开始的时候怀疑是不是lattice的软件太垃圾,又出现奇奇怪怪的问题了.折腾了一宿,发现我错怪了lattice,其实是modelsim的问题.我用的是modelsim10.2,报错来的错误如下图.很久之前的某一个版本是不会报错的,只会提示warming. 那么要如何解决这个问题呢?首先你要知道这其实不是错,你把它避开,让仿真跑起来就可以了.修改一下脚本就可以跑了. 修改之前的脚本编

七种仿真平台

1 主要介绍以下七种仿真平台(侧重移动机器人仿真而非机械臂等工业机器人仿真): 1.1 USARSim-Unified System for Automation and Robot Simulation USARSim是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台.主要针对地面机器人,可以被用于研究和教学,除此之外,USARSim是RoboCup救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台.使用开放动力学引擎ODE(Open Dynamics Engine),支持三维的渲染和物理模

Debussy VerilogVHDL ISE仿真平台搭建步骤

一.Xinlinx编译库+Modelsim+Debussy版本1.安装modelsim10.1c 32bit版本(注意64bit与Debussy不兼容)2.安装Debussy54v9-NT2.1设置path路径 D:\Novas\Debussy\bin3.解压编译后的xinlinx库Modelsim_xilinx_libs__modeltech_10.1c.rar 到..\modeltech_10.1c文件夹下DebussyXilinxLib__etc-kdb-vhdl-32.rar 到..\D

Linux 多网卡Bond自动化脚本

现状: 目前一台物理机4个网卡,em1-em2-em3-em4,需要实现1.2网卡绑定,3.4网卡绑定,模式为主备.即:一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理.当活动网卡down掉时,启用备份的网卡 附:linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor),  3.fault-tolerance (broadcast), 4.lacp,  5.transmit load balanci

Resurrectio-capserjs的自动化脚本录制工具

[根据github上的文档说明整理] Phantom下的任何操作都可以录制 Resurrectio是一个Chrome插件,他可以记录浏览器的操作,并转化成对应的casperjs脚本 Resurrectio使用最简和装饰性的选择器,所以记录的步骤能在布局和设计变化时保持有效 当CasperJS执行JavaScript,录制步骤不限于html交互,js执行的精确步骤也能够被完整记录 Resurrectio也提供了一个方法去生成截屏,在你的测试场景里,并且能够导出注视和截屏在重构后的方法里(意思是这个

Selenium+C#自动化脚本开发学习

Selenium+C#自动化脚本开发知识学习 1:Selenium中对浏览器的操作 首先生成一个Web对象 IWebDriver driver = new FirefoxDriver(); //打开指定的URL地址 driver.Navigate().GoToUrl(@"http://12.99.102.196:9080/corporbank/logon_pro.html"); //关闭浏览器 Driver.quit(); 网银浏览器兼容性测试过程中,关闭浏览器后会有对话框,此问题解决

传感器仿真平台——数据生成模块(三)

数据生成模块有下面这样一种情况: 对于不同的传感器仿真实验,所使用的数据类型,数据数量不一样. 如实验一是进行最大覆盖率实验,则他需要的数据格式可能是如下所示: 1 Class Sensor 2 { 3 public int x; 4 public int y; 5 public double direction; //方向 6 public double sweep;//扇形大小 7 } 实验二进行的是信号强度实验,则他可能还需要一个用来作为覆盖物的目标,如下: 1 Class Target

我的第一个自动化脚本(python)----百度搜索

这是一个纯小白胡说八道的个人总结,如果有人看到什么不对的,欢迎批评指正 博客园开通了很久,一直不知道该怎么去写,总觉得自己要写的东西都是别人已经写过的,我再去写就是在重复之前人所说,今天去面试和面试姐姐聊到这个问题的时候,我才真正的意识到写博客的意义,其实博客只要是写出来对自己有帮助,管其他人怎么看呢,就算百度搜索出来好多一样的那又怎么样呢,博客是写给自己的,如果能因此帮助别人少走一些弯路又何乐而不为呢 接下来就来我实现这个自动化脚本经历的过程,首先要在火狐浏览器安装selenium IDE:其

sso 自动化运维平台

单点登录SSO(Single Sign-On)是身份管理中的一部分.本文中作者开发了一个自动化运维平台中的统一认证接口,单点登录平台通过提供统一的认证平台,实现单点登录.因此,应用系统并不需要开发用户认证程序. AD: 前言: 在工作中,大大小小开发了不少自动化运维平台,能更好的提高效率以及人工的失误.有朋友问我,登录平台的账号密码如何的管理.当听到这个问题的时候,我说直接入库呀,但是说完后,觉得相当的不妥,最少和我现在解决方案也不一样. 以前做运维开发项目的时候,每个app都是一套用户密码,顶