modelsim常用操作
modelsim常用操作
1、库的定义(library)
modelsim是比较常用的仿真软件,主要用于数字电路的仿真,可以实现高效的前后仿真。仿真,就需要几个关键的元素:激励、设计模块、设计模块的约束平台。激励,就是电路的输入。设计模块就是设计好的电路。约束,就是电路实现的实际过程中所需的要求。(这也是后仿真的必须文件)。而库,就是包含这几个要素的集合。个人理解就是用于区分不同工作环境的文件夹。
2、工程的定义(project)
modelsim的project的界限并不明确,只要将某个测试模块的调用模块全部放在一个工程下即可。某个工程下的任意一个模块都可以仿真。可以理解为库下面的相应设计。这种设计架构和常见的电路设计软件不同。一般的设计是建立工程后加入器件和其他的资源库,而modelsim是在资源库下创建工程,这点适应一下就行。
3、创建工程
就是直接使用模块仿真,不加入其他约束。
由于没有其他的约束,可以直接使用默认的work来创建工程。

file:用于文件流的输入输出,创建保存新的文件都在这里实现
edit:编辑,用于某些操作的选择
view:视图,选择视觉效果
Compile:编译,就是更新工程文件
Simulate:仿真,就是启动激励文件,开始仿真
add:添加元素,向特定的窗口添加元素
library:设置库
bookmarks:批量处理
Window:新建窗口,一般不小心关掉某个显示窗口时可以在这里找。
help:访问一些帮助网站或者文档
这里是非常常见的Windows软件窗口,基本的操作可以和其他软件对比使用。
操作流程:
file》new》project

新建的工程,输入工程名,其他默认。

选择创建新文件即可

这里选择文件的语言verilog(根据需要设计),输入文件名

这个project面板包含当前工程的所有文件,(注意,modelsim只会打开一个工程,打开新的工程会关闭原来的工程)
新建的文件是在该工程目录下的未知文件,需要编译。

一般右击》compiled》compile all即可编译所有文件,其他选项也可以尝试一下。

另外一个重要的面板是library,这里可以选择仿真文件开始仿真。这里也是modelsim最容易翻车的地方。
4、使用控制台仿真
verilog代码:

这里是一个新的窗口,在project面板内部的文件上右击》edit就可以调出相应的代码编辑面板。代码很短,就不单独列出代码来,敲一下就好。注意verilog的代码名和模块名一致。

右击编译后如图所示。

一般来说,此时work库里会自动添加相应的仿真选项,但是这里没有出现,解决方法有两种:
1、右击》refresh或者右击》update
2、重启软件
当然,应当保证文件编译通过且文件模块名一致。

这是就会出现相应的module选项。
接下来:选中module》右击》simulate

这里就出现了sim面板,也就是simulate的结果。
但是这里并不会直接出现控制面板的结果。

这个是控制面板Transcripe,用于输入指令和显示结果。
这里并没有display的结果。只有仿真的报告。但是前面的指令对象由sim变成了VSIM。

在控制面板输入run -all就可以得到。
5、波形仿真
这部分的内容有时间再做吧,前面的操作基本相同,就是在sim面板中添加信号到wave中即可(使用前面菜单栏中的add实现)。至于如何调整波形、展开波形和观察波形,可以自己探索。
modelsim常用操作的更多相关文章
- 【三】用Markdown写blog的常用操作
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- php模拟数据库常用操作效果
test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...
- Mac OS X常用操作入门指南
前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右) =鼠标左键 control+按下 ...
- mysql常用操作语句
mysql常用操作语句 1.mysql -u root -p 2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...
- nodejs配置及cmd常用操作
一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...
- Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理
摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■ 详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...
- python 异常处理、文件常用操作
异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm
- byte数据的常用操作函数[转发]
/// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...
- Linux Shell数组常用操作详解
Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...
- Python 基礎 - 字符串常用操作
字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...
随机推荐
- 大米新闻微信小程序和Springboot新闻管理系统项目源码
介绍 本项目分为大米news小程序端和springboot新闻管理系统后台项目.小程序主要用来新闻展示,后台管理系统用于提供相关新闻API. 项目源码 参考:https://www.bilibili. ...
- 解决iso方式安装win10找不到固态硬盘!!!
问题说明 朋友的一台联想小新笔记本需要安装win10,我给弄了个iso启动U盘,但是在选择安装盘时找不到笔记本的固态硬盘... 问题原因 联想的锅! 以联想为例,出厂系统的BIOS内,SATA Con ...
- 基于zabbix的数据库查询各种监控数据
select FROM_UNIXTIME(clock) as DateTime, value, round(value/1024,2) as Traffic_in from history_uint ...
- Java集合框架学习(七) Vector详解
Vector介绍 Vector 实现了List接口.和ArrayList一样也维护元素的插入顺序. 但它一般只用在多线程环境,因为它是线程同步的. 还有就是它对元素的增删改查效率低下. 类定义 pub ...
- Spring Security权限控制框架使用指南
在常用的后台管理系统中,通常都会有访问权限控制的需求,用于限制不同人员对于接口的访问能力,如果用户不具备指定的权限,则不能访问某些接口. 本文将用 waynboot-mall 项目举例,给大家介绍常见 ...
- Spring + JAX-WS : ‘xxx’ is an interface, and JAXB can’t handle interfaces 错误解决方法
错误栈 Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotatio ...
- kafka节点故障恢复原理
Kafka的LEO和HW LEO LEO是Topic每一个副本的最后的偏移量offset+1 HW(高水位线) High WaterMark是所有副本中,最小的LEO Follower副本所在节点宕机 ...
- NodeJS开启GZIP功能
gzip是用于压缩,效果特别好,js.css等文件的压缩率一般高达70% 具体方法如下: 先安装一个依赖 npm install compression --save 然后在已有代码里(一般是app. ...
- 【Azure 微服务】Service fabric升级结构版本失败问题
问题描述 Service fabric升级结构版本失败,Service Fabric的可靠性层是白银层,持久性层为青铜层,当把节点从6个直接在虚拟规模集(VMSS)中缩放成了3个.从而引起了Servi ...
- 云原生 on nLive:云上 Nebula Graph
本文首发于 Nebula Graph Community 公众号 在 #云原生# 主题分享中,来自 Nebula 云组的 Cloud 专家乔雷同大家分享云的相关知识,本文整理自该次主题直播. 云原生是 ...