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常用操作的更多相关文章

  1. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  2. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  3. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  4. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  5. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

  6. Oracle常用操作——创建表空间、临时表空间、创建表分区、创建索引、锁表处理

    摘要:Oracle数据库的库表常用操作:创建与添加表空间.临时表空间.创建表分区.创建索引.锁表处理 1.表空间 ■  详细查看表空间使用状况,包括总大小,使用空间,使用率,剩余空间 --详细查看表空 ...

  7. python 异常处理、文件常用操作

    异常处理 http://www.jb51.net/article/95033.htm 文件常用操作 http://www.jb51.net/article/92946.htm

  8. byte数据的常用操作函数[转发]

    /// <summary> /// 本类提供了对byte数据的常用操作函数 /// </summary> public class ByteUtil { ','A','B',' ...

  9. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  10. Python 基礎 - 字符串常用操作

    字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...

随机推荐

  1. 【Unity3D】VideoPlayer组件

    1 简介 ​ AudioSource组件中介绍了音频的播放,本文将介绍基于 VideoPlayer 组件实现视频播放. ​ VideoPlayer 属性面板如下: Source:视频源类型,有 2 种 ...

  2. 解决springboot整合freemarker页面跳转404

    问题说明 spring boot 2.1.5集成freemarker时跳转报404! 集成过程说明 pom.xml <dependency> <groupId>org.free ...

  3. spring boot整合spring security自定义登录跳转地址

    说明 在博客用户登录后我想跳转到各自用户的博客首页,我们知道这个地址是动态的. 例如: http://localhost:8080/blog/zhangsan, 每个用户地址不一样.这时候我就用到了自 ...

  4. Java并发编程实例--3.打断一个线程

    一般来讲一个java程序如果运行着多个线程,那么只有在这些线程都运行完毕后才会终止. 但有时候,我们需要去结束某个线程或者取消某个任务.此时就用到了Java线程的打断机制,即interruption. ...

  5. Unity学习笔记--数据持久化XML文件(1)

    XML相关 Xml是可拓展标记语言,一种文件格式.我们使用xml来完成对数据持久化的存储.等待我们有一程序运行结束之后,将内存中的数据进行保存,(保存在硬盘/服务器)实现对数据的持久化存储. xml文 ...

  6. 【LeetCode剑指offer 03】合并两个/K个排序链表

    合并两个排序链表 https://leetcode.cn/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof 输入两个递增排序的链表,合并这两个链表并 ...

  7. 【Azure Function App】Nodejs Function遇见WorkerProcessExitException : node exited with code -1073740791 (0xC0000409) 错误

    问题描述 Nodejs Function,使用Blob Trigger用于处理上传到Storage Blob的文件,但是最近发现偶发报错:Exception while executing funct ...

  8. Java 线程安全问题 使用同步机制讲单例模式中的懒汉式改写为线程安全的

    1 package bytezero.deadlock; 2 3 /** 4 * 使用同步机制讲单例模式中的懒汉式改写为线程安全的 5 * 6 * 7 * 8 * 9 * @author Byteze ...

  9. Java 异常处理(1) :try-catch-finally的使用

    1 package com.bytezero.throwable; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 impor ...

  10. Java package(包) +import 关键字(2)

    1 package com.bytezero.exer; 2 3 import java.lang.reflect.Field; 4 5 //import java.util.ArrayList; 6 ...