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. Amlogic电视盒子红外遥控适配笔记

    前一阵做了个安卓6的固件, 在R3300L和Q7上跑的, 其他问题没有, 但是有用户反映原来的遥控器用不了了, 于是检查了一下遥控器配置, 顺便学习一下此类设备的红外遥控机制. 为了方便测试还上淘宝买 ...

  2. C++中两种获取UUID的方法(编程)

    第一种,依托WMI #define _WIN32_DCOM #include <iostream> using namespace std; #include <comdef.h&g ...

  3. SpringBoot的自动装配原理及应用

    什么是SpringBoot自动装配 所谓的"SpringBoot自动装配"就是指:通过注解和一些简单的配置就能将某些组件载入Spring容器环境中,便于使用. 比如,很多sprin ...

  4. 【笔记】css —— BFC 原理

    一.什么是 BFC BFC 即 Block Formatting Contexts (块级格式化上下文),具有 BFC 特性的元素可以看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素 ...

  5. 【LeetCode贪心#02】摆动序列,麻了

    摆动序列 力扣题目链接(opens new window) 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动 ...

  6. 矩池云快速安装torch-sparse、torch-geometric等包

    租用机器,按自己需要的环境选择一个环境,我这里选择的是Pytorch 1.10. 租用成功后点击租用页面的 Jupyterlab 链接. Jupyterlab 里新建一个Terminal 用来安装环境 ...

  7. Android底层渲染原理

    Overview多年前Android的UI流畅性差的问题一直饱受诟病,Google为了解决这个问题开发了Project Butter项目,也就是黄油计划,期望彻底改善Android系统的流畅性.这是A ...

  8. STL-priority_queue模拟实现

    #include<deque> //测试用 #include<vector>//测试用 #include"9Date.h"//测试用 #include< ...

  9. Java 常用类 String的使用

    1 package com.bytezero.stringclass; 2 3 import com.sun.tools.javac.Main; 4 import jdk.jfr.StackTrace ...

  10. VC-MFC 登陆界面 + 数据库账号+密码

    1 // DlgUser.cpp : 实现文件 2 // 3 4 #include "stdafx.h" 5 #include "Login.h" 6 #inc ...