当前位置: 首页 > news >正文

Modelsim仿真操作指导

目录

一、前言

二、仿真分类

三、RTL级仿真

 3.1创建库

3.2 仿真配置设置

3.3 运行仿真 

四、常见问题

4.1 运行仿真时报错“can't read "Startup(-L)": no such element in array”

4.2 运行仿真时无任何报错,但object窗口为空,可正常运行仿真,如执行命令run -all 但没有波形


一、前言

        目前网上较多的是使用ISE如vivado配合vivado进行仿真操作,本文将演示直接使用modelsim进行仿真,需要提供的是工程源文件和测试文件

二、仿真分类

        根据使用不同仿真阶段的源文件进行仿真,可划分为RTL仿真,综合后仿真,时序仿真。

RTL是根据.v源文件中verilog描述的功能进行仿真,是寄存器传送级的描述进行测试,验证功能的正确性,综合后仿真为对RTL级描述工程综合后的网表进行仿真,时序仿真是指布局布线后的仿真,并且考虑了布线后的线路时延。

三、RTL级仿真

以一个计数到10后重新计数的计数器工程为例,工程文件为counter1.

 3.1创建库

打开modelsim,进入"file->new->library"

Library Name输入库名,Library Physical Name名称默认相同即可

创建后可在“Library”中查看到创建的library

3.2 创建project

进入“File->New->Project” ,弹出如下设计弹框,Project Name自定义名称,Project Location设置创建的工程位置,Default Library Name默认为work,将其修改为上一步设置的library名称,此处为counter_lib,然后点“OK”

设置完project后会弹出源文件添加的弹框,本例因为事项写好了源文件和测试文件,故选择“Add Existing File”直接添加文件,也可选择“Create New File”进行创建文件后再编写

同时选择源文件和测试文件进行添加 

添加成功后如下图所示 

选中任一文件,鼠标点击右键,选择“compile->compile All”,对添加的文件进行编译,编译成功后status由“?”变为“√”

3.2 仿真配置设置

任选一个编译后的文件,点击鼠标右键,进入“Add to Project->Simulation Configuration”

"Simulation Configuration Name"设置配置名称,库文件中如图第一步选择测试文件“counter_tb”,然后点击右下角的“Optimization Options” 

 

 进入"Options","Optimization Level"选择第二个,点击"OK"。

回到仿真配置界面,再点击“save”

 

3.3 运行仿真 

在project中可看到工程文件下多了一个“simulation_test”的配置文件,可双击该配置文件或点击鼠标右键后选择“Execute”

 如果没有弹出"Objects"和“wave”窗口,则按下图操作勾选“wave” 和“Objects”

在“Objects”窗口中 ,选择需要查看的波形,点击鼠标右键,选择“Add to->Wave->Selected Signals”即将需要查看到的波形添加到Wave窗口

在Wave窗口中,按下图顺序,先点击1执行restart,再点击2执行Run -All运行仿真,此时仿真开始,需要停止仿真点击3,执行stop即停止仿真

仿真结果波形如下图

如果想运行指定时长的波形,则可在命令窗口设置,先执行restart,再执行run 100000,此处因测试文件的时间为'timescale 1ns/1ps,因此100000为100000ps

结果如下图,仿真在100000ps处停止 

四、常见问题

4.1 运行仿真时报错“can't read "Startup(-L)": no such element in array”

源文件和测试文件编译成功后,运行仿真报错 

解决办法 :进入到library下,选择测试文件divider_tb

4.2 运行仿真时无任何报错,但object窗口为空,可正常运行仿真,如执行命令run -all 但没有波形

运行打印如下

 object为空

 解决办法:

运行仿真时进入“Optimization Options”,选择“Apply full visibility to all modules”即可

 

 

 

相关文章:

Modelsim仿真操作指导

目录 一、前言 二、仿真分类 三、RTL级仿真 3.1创建库 3.2 仿真配置设置 3.3 运行仿真 四、常见问题 4.1 运行仿真时报错“cant read "Startup(-L)": no such element in array” 4.2 运行仿真时无任何报错,但object窗口为空,可正常运…...

你知道这20个数组方法是怎么实现的吗?

前言你们一定对JavaScript中的数组很熟悉,我们每天都会用到它的各种方法,比如push、pop、forEach、map……等等。但是仅仅使用它就足够了吗?如此出色,您一定不想停在这里。我想和你一起挑战实现20数组方法的功能。1、forEachforEa…...

《系统架构设计》-01-架构和架构师概述

文章目录1. 架构的基本定义1.1 架构组成理论1.1.1 系统元素1)概念2)静态结构和动态结构1.1.2 基本系统属性1.1.3 设计和发展原则1.2 架构的决策理论1.2.1 统一软件过程(Rational Unified Process,统一软件过程)1.2.2 决…...

第七届蓝桥杯省赛——5分小组

题目:9名运动员参加比赛,需要分3组进行预赛。有哪些分组的方案呢?我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法。该程序的正常输出为:ABC DEF GHIABC DEG FHIABC DEH FGIABC DEI FGHABC DFG EHIABC DFH EGIABC DF…...

中国专科医院行业市场规模及未来发展趋势

中国专科医院行业市场规模及未来发展趋势中国专科医院行业在过去几年中取得了跨越式发展,市场规模不断扩大,未来的发展前景也远比过去更加乐观。根据市场调研在线网发布的2023-2029年中国专科医院行业运营现状及发展前景预测报告分析,截至2018年&#xf…...

【刷题笔记】--两数之和Ⅳ,从二叉树中找出两数之和

法一:深度搜索中序遍历双指针 思路:通过中序遍历二叉树得到一个递增的数列,再在这个递增的二叉树中找到这两数。 主要学到双指针这个方法。 对于一般数列,我们要找到两数满足其之和等于目标数,我们一般会进行暴力&a…...

浏览器渲染原理JavaScript V8引擎

浏览器渲染原理 前言 在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏览器到底发生了什么? 浏览器内有哪些进程,这些进程都有些什么作用;浏览器地址输入U…...

在TheSandbox 的「BOYS PLANET」元宇宙中与你的男孩们见面吧!

世界各的男孩们成为 K-Pop 男团的旅程。 Mnet 的全球项目 BOYS PLANET 终于在 2 月 2 日首次亮相! The Sandbox 与 CJ ENM 合作,于 2 月 6 日晚上 10 点开始举办两个基于 BOYS PLANET 生存节目的虚拟体验:BOYS PLANET:BOYS LAND 和…...

数据结构与算法:java对象的比较

1.基本类型的比较 在Java中&#xff0c;基本类型的对象可以直接比较大小。 public class TestCompare {public static void main(String[] args) {int a 10;int b 20;System.out.println(a > b);System.out.println(a < b);System.out.println(a b);char c1 A;char…...

python(16)--类

一、类的基本操作1.定义一个类格式&#xff1a;class Classname( )&#xff1a;内容&#x1f48e;鄙人目前还是一名学生&#xff0c;最熟悉的也就是学校了&#xff0c;所以就以学校为例子来建立一个类吧class School():headline"帝国理工大学"def schoolmotto(self):…...

CNI 网络流量分析(七)Calico 介绍与原理(二)

文章目录CNI 网络流量分析&#xff08;七&#xff09;Calico 介绍与原理&#xff08;二&#xff09;CNIIPAM指定 IP指定非 IPAM IPCNI 网络流量分析&#xff08;七&#xff09;Calico 介绍与原理&#xff08;二&#xff09; CNI 支持多种 datapath&#xff0c;默认是 linuxDa…...

API安全的最大威胁:三体攻击

最近《三体》火的一塌糊涂,动画片、电视剧和书都受到了大家的喜爱。在API安全上,最近也发现了三体攻击。 当然了,肯定是不来自于三体人的攻击,这里的三体攻击指的是(trinity,也称三位一体攻击),是一个新的攻击手法。具体的情况老李也找到了相关的介绍,下面就分享给大…...

分布式事务解决方案——TCC

TCC是Try、Confirm、Cancel三个词语的缩写&#xff0c;TCC要求每个分支事务实现三个操作&#xff1a;预处理Try、确认Confirm、撤销Cancel。1、Try 阶段是做业务检查(一致性)及资源预留(隔离)&#xff0c;此阶段仅是一个初步操作&#xff0c;它和后续的Confirm一起才能真正构成…...

ITSS认证分为几个级别,哪个级别最高

​一、什么是ITSS ITSS( 信息技术服务标准&#xff0c;简称ITSS)是国内第一套成体系和综合配套的信息技术服务标准库&#xff0c;全面规范了IT服务产品及其组成要素&#xff0c;用于指导实施标准化和可信赖的IT服务。 ITSS是在工业和信息化部、国家标准化管理委员会的联合指导下…...

ZigBee案例笔记 - USART

文章目录1.串行通信接口简述2.串行通信接口寄存器U0CSR (0x86) -USART 0 控制和状态U0UCR (0xC4)–USART 0 UART 控制U0GCR (0xC5)–USART 0 通用控制U0BUF (0xC1) – USART 0 接收/传送数据缓存U0BAUD (0xC2) – USART 0 波特率控制3.设置串行通信接口比特率控制寄存器4.外设I…...

java | 基于Redis的分布式锁实现①

前言 首先&#xff0c;为了确保分布式锁可用&#xff0c;我们至少要确保锁的实现同时满足以下四个条件&#xff1a; 互斥性。在任意时刻&#xff0c;只有一个客户端能持有锁。不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁&#xff0c;也能保证后续其他客户…...

十六、基于FPGA的CRC校验设计实现

1&#xff0c;CRC校验循环冗余校验&#xff08;Cyclic Redundancy Check&#xff0c; CRC&#xff09;是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术&#xff0c;主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的…...

2022爱分析 · DataOps厂商全景报告 | 爱分析报告

报告编委 李喆 爱分析合伙人&首席分析师 廖耘加 爱分析分析师 目录 1. 研究范围定义 2. 市场洞察 3. 厂商全景地图 4. 市场分析与厂商评估 5. 入选厂商列表 1. 研究范围定义 研究范围 在后疫情时代&#xff0c;以数据分析为代表的数据消费场景日益丰富&…...

京东前端react面试题及答案

useEffect 与 useLayoutEffect 的区别 &#xff08;1&#xff09;共同点 运用效果&#xff1a; useEffect 与 useLayoutEffect 两者都是用于处理副作用&#xff0c;这些副作用包括改变 DOM、设置订阅、操作定时器等。在函数组件内部操作副作用是不被允许的&#xff0c;所以需…...

TongWeb8数据源相关问题

问题一&#xff1a;数据源连接不足当TongWeb数据源连接用完时&#xff0c;除了监控中看到连接占用高以外&#xff0c;日志中会有如下提示信息。2023-02-14 10:24:43 [WARN] - com.tongweb.web.jdbc.pool.PoolExhaustedException: [TW-0.0.0.0-8088-3] Timeout: Pool empty. Una…...

19 openclaw数据库迁移策略:平滑升级数据库结构

背景/痛点在OpenClaw项目的演进过程中&#xff0c;数据库结构的变更几乎是不可避免的。随着业务需求的迭代&#xff0c;表结构、索引设计、字段类型等都可能需要调整。然而&#xff0c;直接在生产环境执行ALTER TABLE操作往往会导致锁表、性能抖动&#xff0c;甚至服务不可用。…...

Blender置换贴图终极指南:5步让3D模型瞬间拥有真实细节

Blender置换贴图终极指南&#xff1a;5步让3D模型瞬间拥有真实细节 【免费下载链接】awesome-blender &#x1fa90; A curated list of awesome Blender addons, tools, tutorials; and 3D resources for everyone. 项目地址: https://gitcode.com/GitHub_Trending/aw/aweso…...

JavaWeb前后端交互实战:从Servlet到Axios的完整避坑指南

JavaWeb前后端交互实战&#xff1a;从Servlet到Axios的完整避坑指南 1. 现代Web开发中的前后端交互演进 在当今的Web应用开发中&#xff0c;前后端分离架构已成为主流趋势。这种架构模式下&#xff0c;前端负责用户界面展示和交互逻辑&#xff0c;后端专注于业务逻辑和数据处理…...

毕设程序java基于的动漫分析与交流平台 基于Spring Boot的二次元文化社区与作品分享系统 Java驱动的ACG内容聚合与互动服务平台

毕设程序java基于的动漫分析与交流平台31sl5luf&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的飞速发展和Z世代文化消费的崛起&#xff0c;动漫产业已从边缘亚文…...

从FASTQ到VCF:一个完整生信分析流程中的文件格式演变全解析

从FASTQ到VCF&#xff1a;生物信息学分析流程中的文件格式演进与实战解析 引言&#xff1a;数据格式在生信分析中的核心地位 第一次接触高通量测序数据分析时&#xff0c;我面对各种文件格式感到无比困惑。为什么需要这么多不同的格式&#xff1f;它们之间如何衔接&#xff1f;…...

【调优】Openclaw高阶调优指南之配置篇

适配openclaw 2026.3.23+版本,收录于 养龙虾专栏 本文的配置调优主要包含如下内容,优化调整的地方均有截图,无需担心命令无效: 标题 配置优化内容 主要内容概要 一、OpenClaw配置体系概述 1. 配置文件结构与位置 介绍 openclaw.json 的路径及 JSON5 格式特性 2. 配置生效机…...

计算机毕业设计springboot月知晓彩妆销售系统 SpringBoot美妆臻选在线商城系统 基于SpringBoot的“妆点人生“化妆品零售平台

计算机毕业设计springboot月知晓彩妆销售系统bq58y9 &#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。在颜值经济蓬勃发展的当下&#xff0c;化妆品电商市场持续高速增长。传统线下…...

阿里悟空 vs 腾讯龙虾:大厂 AI 自动化对决,普通人该怎么选?

最近 AI 自动化圈彻底炸了,一边是钉钉推出的阿里悟空,主打企业级合规与深度协同;另一边是腾讯全系铺开的龙虾(QClaw/WorkBuddy),靠着微信遥控、零门槛上手刷屏全网。 很多技术小白、职场人都在跟风 “养龙虾”,但这两个产品到底差在哪?腾讯龙虾真的适合所有人吗?今天…...

GTE文本向量模型快速上手:无需深度学习基础,一键部署多任务NLP分析工具

GTE文本向量模型快速上手&#xff1a;无需深度学习基础&#xff0c;一键部署多任务NLP分析工具 你是不是觉得自然语言处理&#xff08;NLP&#xff09;听起来很高深&#xff1f;是不是看到“文本向量”、“模型微调”这些词就头疼&#xff1f;别担心&#xff0c;今天我要带你体…...

低光增强新突破:拆解DLEN中可学习小波模块的5个设计精妙之处

低光增强新突破&#xff1a;拆解DLEN中可学习小波模块的5个设计精妙之处 当你在昏暗的餐厅里试图用手机拍下美食&#xff0c;或是夜间行车时需要识别模糊的路标&#xff0c;低光图像增强技术正悄然改变着这些场景的视觉体验。传统方法往往在提升亮度的同时丢失了关键细节——桌…...