手把手教你Modelsim仿真【2020.4版本】

2023-11-18

  1. 首先新建一个文件夹【test5】

  2. 打开Modelsim,依次选择【File】->【Change Directory】,把目录选择到创建的【test5】文件夹。
    在这里插入图片描述

  3. 创建库。依次选择【File】->【New】->【Library】
    在这里插入图片描述
    一般我们选择第三个,库名和物理名称设置成work,点击OK。此时【test5】文件夹下就会多一个work的文件夹。
    在这里插入图片描述

  4. 创建项目。Project Name设置为test5,其余默认,OK。
    在这里插入图片描述

  5. 创建新文件。【Create New File】。
    在这里插入图片描述
    此时,我仿真一个加法器。创建一个文件名为add的verilog文件。
    在这里插入图片描述
    同时还要创建一个testbench文件,用来测试,命名为add_tb,同样是verilog文件(有的地方是.vt文件,一样的)。
    在这里插入图片描述

  6. 编写代码:

add.v

module add(
    input wire [7:0] a,
    input wire [7:0] b,
    output reg [8:0] out
);

always@(*)
begin
    out = a + b;
end

endmodule

add_tb.v

`timescale 1ns/1ns

module add_tb ();

reg [7:0] a;
reg [7:0] b;
wire [8:0] out;

add i1(
    .a(a),
    .b(b),
    .out(out)
);

initial
begin
    a = 8'd 1;
    b = 8'd 2;
    # 10_000;
    a = 8'd 11;
    b = 8'd 12;
    # 10_000;
    a = 8'd 21;
    b = 8'd 22;
    # 10_000;
    $stop;
end

endmodule

写完之后记得保存,不然编译会出问题。

  1. 编译文件。【Compile】->【Compile all】
    在这里插入图片描述
    编译完成之后,Status会由?变成√
    在这里插入图片描述
  2. 仿真。【Simulate】->【Start Simulation】
    在这里插入图片描述

选中add和add_tb文件,OK。
在这里插入图片描述
仿真完成。如果没有显示,记得把【Layout】选成【Simulate】。在这里插入图片描述
选择【Library】->【work】,选中add_tb文件,【Simulate】
在这里插入图片描述
在这里插入图片描述

把【Object】里的文件都拖到右边的【Wave】中(如果没有【Object】,则到【View】中勾选即可)。点击Run-All出现波形。
在这里插入图片描述
为了方便观察波形,我们可以选择无符号类型的标注
在这里插入图片描述
调节上方的放大镜可以放大/缩小波形。可以看到在0,10000ns和20000ns时刻的时刻实现了相加。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手把手教你Modelsim仿真【2020.4版本】 的相关文章

随机推荐

  • 图书推荐管理系统Python,基于Django和协同过滤算法等实现

    一 介绍 图书推荐系统 图书管理系统 以Python作为开发语言 基于Django实现 使用协同过滤算法实现对登录用户的图书推荐 二 效果展示 三 演示视频 视频 代码 https www yuque com ziwu yygu3z gq5
  • 基于ESP8266的CMSIS-DAP调试器

    前言 前段时间用8266制作了一个STM32的下载器 可以进行远程下载固件 不过我们用STM32的时候 经常需要进行各种调试 这时候一个调试器就很重要了 于是我想到也许可以做一个无线调试器 本来我打算自己写一个的 不过在github发现居然
  • 1. docker镜像拉取报错:Error response from daemon: Get https://registry-1.docker.io/v2/

    倘若不配置镜像 拉取速度会很慢 因此就会报超时的错误 试了网上的几个镜像 好些都无法使用 其中配置了中科院的和阿里云的 但是只有阿里云的可以使用 并且下载速度很快 大概一两分钟的样子 解决方案 1 打开终端 输入以下命令 sudo vi e
  • centos7中docker启动报错

    root localhost systemctl status docker docker service Docker Application Container Engine Loaded loaded usr lib systemd
  • gtest单元测试框架介绍及简单使用

    Gtest介绍 Gtest是Google的一个开源框架 它主要用于写单元测试 检查真自己的程序是否符合预期行为 可在多个平台上使用 包括Linux Mac OS X Windows Cygwin和Symbian 它提供了丰富的断言 致命和非
  • Laravel blade 模板压缩、加速扩展 renatomarinho/Laravel-page-speed 介绍

    在Laravel框架中 使用renatomarinho laravel page speed 扩展可以将blade模板渲染的html网页进行压缩 优化 可以节省了网络带宽 使我们的网站具有更快的访问速度 扩展包的文档中说明 可以自动优化网站
  • monitor-single-one-docker-host

    参考 https github com vegasbrianc prometheus 在github上有人使用docker compose启动Grafana Prometheus监控单台Host的docker容器 1 下载项目 git cl
  • 根据Explain结果中的key_len判断MySQL联合索引中实际用到的索引字段

    一 数据表staff 现有数据表staff 字符集utf8 并创建有一些字段单独索引及组合索引index age birth salary包含三个字段 sf age tinyint DEFAULT NULL sf birthday date
  • 廉价的全闪存雷电 NAS 折腾笔记:NUC9 操作系统踩坑

    上一篇文章中 分享了关于低成本全闪存 NAS 的个人方案选择 本篇文章 来聊聊硬件相关部分 以及软件的基础配置部分 也聊聊雷电组网的踩坑之旅 写在前面 我使用的设备是 NUC9i5QNX 这台设备的硬件基础规格 可以在 Intel ARK
  • 2023年华为od机试 Java【刻录光盘备份】

    前言 python代码 链接 JavaScript代码 链接 题目 有一系列文件需要通过光盘备份 每张光盘的容量固定为500MB 文件的大小均为整数MB并且不超过500MB 文件不可拆分或分卷备份 需要确定最少需要多少张光盘来完成备份 输入
  • ngnix+lua+js埋点 实现自定义日志采集

    ngnix lua js埋点 实现自定义日志采集 1 收集数据的页面 js埋点 在想要手机数据的页面预先放一段js代码 当用户发生行为时 触发js方法 收集数据 发到后端 http 192 168 4 101 index html 这里的i
  • 在Windons子系统ubuntu中安装ssh(保姆级教程)

    1 什么是ssh SSH Secure Shell 是一种用于远程登录和安全文件传输的网络协议 SSH服务是在计算机上运行的服务程序 它允许用户通过网络安全地远程访问计算机并执行各种操作 以下是关于SSH服务的一些重要信息 远程登录 SSH
  • 流操作

    StreamReader 与 FileStream 的区别用法 有关StreamReader的内容参考http blog sina com cn s blog 796ffec50100te51 html StreamReader 旨在以一种
  • “互联网+”最可行的路径就是“社群+”

    互联网 最可行的路径就是 社群 36氪的朋友们 2016 04 05 17 04 文章摘要 商业正从物以类聚走向人以群分 编者按 本文作者 卢彦 原文来自微信公众号 互联网思维 ID webthinking 36 氪经授权转载 前不久阿里
  • 【C++】通讯录管理系统

    1 系统功能介绍与展示 2 创建项目 3 菜单功能 代码 封装函数显示该界面 如 void showMenu 在main函数中调用封装好的函数 include
  • jmeter批量上传图片, csv文件参数化——详细讲解

    我们在测试的过程中 需要把图片放到请求中 而且还需要不一样的图片 批量修改图片后缀 我们也可以吧文件生成我们想要的后缀 1 首先创建一个文本txt 在文本中输入 ren jpg png 然后把txt的文件 修改 成bat后缀的 进行双击 在
  • 关于Altium Designer PCB元器件的3D封装

    关于Altium Designer PCB元器件的3D封装 虽然Altium Designer为我们提供了丰富的元件封装库资源 但是 在实际的电路设计中电子元器件技术的不断更新换代 有些特定的元器件封装仍需要我们自行制作 另外 有时根据工程
  • python3 中 dict和list 效率比较

    import time def count time func def int time args kwargs start time time time 程序开始时间 res func args kwargs over time time
  • 给 Ubuntu 操作系统配置静态 IP

    针对 Ubuntu 22 04 3 操作系统的静态 IP 配置 一 查看初始的网络信息 查看网卡名称 ifconfig 查看网关信息 route n 二 编辑网络配置文件 编辑文件 配置文件的名称可能不一样 自己去 etc netplan
  • 手把手教你Modelsim仿真【2020.4版本】

    首先新建一个文件夹 test5 打开Modelsim 依次选择 File gt Change Directory 把目录选择到创建的 test5 文件夹 创建库 依次选择 File gt New gt Library 一般我们选择第三个 库