前言

EDA发展的趋势是自动化,使用脚本自动化仿真可以减少不必要的时间浪费。

流程

在windows下新建批处理脚本bat文件(linux下可用shell脚本或者其他,注意给脚本运行权限即可:chmod +x name.sh);
批处理文件或者脚本中内容只有一句话:
vsim -do sim.do
把bat脚本与写好的do文件放入sim home 目录;仿真的时候点击bat文件即可。
举个栗子,do文件内容:
1.功能仿真:(器件ep4ce6f17c8,器件不同挂载不同的器件库)
 #set the sim home dir ;
set sim_home D:/test_study/debounce
#set the src code home dir;
set src_home D:/work/debounce
vlib ${sim_home}/work
vmap work ${sim_home}/work
vlog ${src_home}/debounce.v ${src_home}/debounce_tb.v
vsim -novopt -t 1ns -L altera_ver -L altera_mf_ver -L cycloneive_ver -L sgate_ver -L lpm_ver work.debounce_tb
view wave
add wave *
run @600ns

2.时序仿真:添加布局布线后的网表以及指定标准的延时文件(对比上述代码更改两处即可)

请注释掉网表文件中的initial语句,否则modelsim仿真时候会标注两次延时文件(下图仅仅是栗子,项目不一致):

 vlog D:/test_study/test/simulation/modelsim/debounce.vo
vsim -novopt -t ns -L altera_ver -L altera_mf_ver -L cycloneive_ver -L sgate_ver -L lpm_ver -sdftyp /div_tb/div_tb=D:/test_study/test/simulation/modelsim/div_v.sdo
work.debounce_tb

3.do文件指令解释:

vlib 新建work库
vmap 把系统的work库文件映射到新建的work库中
vlog 添加并编译HDL文件
vsim 打开仿真,novopt表示未优化仿真,后边为添加器件库,最后仿真module为debounce_tb
view wave 打开波形窗口
add wave 添加波形
run  运行时间
 
以上。

Modelsim调用用do脚本自动化仿真的更多相关文章

  1. 基于脚本的modelsim自动化仿真笔记

    这里记录一下基于脚本的modelsim自动化仿真的一些知识和模板,以后忘记了可以到这里查找.转载请标明出处:http://www.cnblogs.com/IClearner/ . 一.基本介绍 这里介 ...

  2. Modelsim中使用TCL脚本编写do文件实现自动化仿真

    通常我们使用Modelsim进行仿真,是通过图形界面点点点来进行操作,殊不知Modelsim完美支持TCL脚本语言及批处理命令do文件.简单来说就是从你修改完代码后到你重新编译把需要的信号拉出来查看, ...

  3. ModelSim之tcl自动化仿真

    摘要: ModelSim的tcl最大的优势就在于它可以让整个仿真自动运行,免除每次进行各种用户界面控制操作的麻烦.用tcl就可以自动完成建库.映射库到物理目录.编译源代码.启动仿真器.运行仿真等一系列 ...

  4. modelsim如何使用tcl脚本来写编译文件

    对于modelsim进行仿真,可以通过GUI来进行仿真,当然更加快速的方法可以使用TCL脚本文件进行快速仿真. Modelsim采用TCL脚本文件仿真的具体流程如下所示:      具体的操作步骤如下 ...

  5. fdisk分区硬盘并shell脚本自动化

    最近工作需要用到对硬盘进行shell脚本自动化分区和mount的操作,google了一些资料,下面做个总结. 如果硬盘没有进行分区(逻辑分区或者扩展分区,关于两者概念,自行google),我们将无法将 ...

  6. shell脚本自动化部署服务

    shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_ ...

  7. MySQL数据库主从切换脚本自动化

    MySQL数据库主从切换脚本自动化 本文转载自:https://blog.csdn.net/weixin_36135773/article/details/79514507 在一些实际环境中,如何实现 ...

  8. 在调用self对象时,本类调用用Win32Info().collect()

    import platform class Test: def test(self): func = getattr(self,'windows') func() @staticmethod def ...

  9. FPGA —— Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真

    Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真 ModelSim 仿真 Verilog HDL 时需要编写一个 TestBench 仿真文件,通过仿真文 ...

随机推荐

  1. servlet+jsp update修改页面的实现,整整搞了两个小时才搞定

    package DAO; public class books { private int bid; private String bname; private int booksl; private ...

  2. gulp 运用 的理解

    ugulp.task('build', function() { runSequence('clean', 'copy', ['uglify', 'sass', 'htmlmin'], 'base64 ...

  3. JS,HTML,CSS

    HTML定义了网页的内容 CSS定义了网页的布局 JavaScript定义了网页的行为

  4. VB6之SendMessage模拟拖放事件

    原文链接:http://hi.baidu.com/coo_boi/item/e1e0f5ab45bddbdd5af191df 网上找了个C++的翻一下,原文链接:http://www.cnblogs. ...

  5. Tomcat服务器无法启动socket监听端口

    最近生成一个新的web服务器,在启动后无法启动socket监听,检查程序本身无问题, 找原因,只是发布时搞错.处理如下: 1.在Eclipse平台 删除原来的web server; 2.新建serve ...

  6. Oracle数据迁移-系统数据合并笔记

    创建临时表:execute immediate 'sql'; 通过临时表和关联查询解决循环处理效率低下,大数据操作移植时时间太长的问题. 结构相同的系统数据库表移植,案例如下: create or r ...

  7. SQL Server 2008R2的安装

    一.安装前的准备工作:SQL Server 200R2安装包 二.SQL Server2008R2的安装 1.打开SQL Server2008R2的安装包,找到setup.exe 2.双击sql se ...

  8. 基于 WebRTC 技术的实时通信服务开发实践

    随着直播的发展,直播实时互动性变得日益重要.又拍云在 WebRTC 的基础上,凭借多年的开发经验,结合当下实际情况,开发 UPRTC 系统,解决了网络延时.并发量大.客户端解码能力差等问题. WebR ...

  9. ServerSocket简单例题

    ServerSocket 简单例题: package com.kaige123.net; /* *凯哥 */ import java.io.FileInputStream; import java.i ...

  10. 用caffe一步一步实现人脸检测

    学习深度学习已有一段时间了,总想着拿它做点什么,今天终于完成了一个基于caffe的人脸检测,这篇博文将告诉你怎样通过caffe一步步实现人脸检测.本文主要参考唐宇迪老师的教程,在这里感谢老师的辛勤付出 ...