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. 【framework】IMS启动流程

    1 前言 ​ IMS 是 InputManagerService 的简称,主要负责输入事件管理. 1.1 基本概念 输入设备:屏幕.电源/音量.键鼠.充电口.蓝牙.wifi 等 设备节点:当输入设备可 ...

  2. Shiro实战2-Springboot集成Shiro实战

    说明 最近打算打造一个简易的权限管理系统,打算用shiro做认证和授权.本篇作为springboot集成shiro的入门实战案例记录下来,希望也可以帮到大家,代码整理自网络. 技术栈 springbo ...

  3. 文心一言 VS 讯飞星火 VS chatgpt (199)-- 算法导论15.2 1题

    一.用go语言,对矩阵规模序列(5,10,3,12,5,50,6),求矩阵链最优括号化方案. 文心一言,代码正常运行: 在Go语言中,为了找到矩阵链乘法的最优括号化方案,我们通常会使用动态规划(Dyn ...

  4. 实操开源版全栈测试工具RunnerGo安装(四)Windows安装

    以windows 10系统为例 视频教程:https://www.bilibili.com/video/BV14H4y1C71u/?spm_id_from=333.999.0.0 1.设置手动进入系统 ...

  5. Hi3516开发笔记(十一):通过HiTools使用网口将uboot、kernel、roofts烧写进eMMC

    前言   前面烧写一直时烧写进入flush,是按照分区烧写.定制的板子挂的是eMMC,前面的烧写步骤一致,但是在烧写目标则时烧写eMMC了.  重新走一遍从无到有通过网口刷定制板卡的uboot.ker ...

  6. 麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法

    前言   中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在麒麟系统中也此问题,要解决此问题,主要是安装和使用Fcitx输入法.  本文章最终结果是失败的,但是读者的系统未 ...

  7. jq中的正则

    正则匹配表达式 \w \s \d \b . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 等价于 '[A-Za-z0-9_]'. \s 匹配任意的空白符 \d 匹配数字 \b 匹配单 ...

  8. 框架和MVC架构

    网络框架及MVC架构 网络框架 所谓网络框架是指这样的一组Python包,它能够使开发者专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议.线程.进程等方面.这样能大大提高开发者的工作效率,同 ...

  9. kotlin协程异常处理之-CoroutineExceptionHandler

    转载请标明出处:https://www.cnblogs.com/tangZH/p/17307406.html kotlin协程小记 协程的async使用 kotlin协程异常处理之-try catch ...

  10. 使用grafana+Prometheus监控时PromQL内置函数详解

    1.Prometheus简介 Prometheus(中文名:普罗米修斯)是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB). Prometheus使用Go语言开发, 是Googl ...