Modelsim原理图窗口——Schematic window

2023-12-23 07:48

本文主要是介绍Modelsim原理图窗口——Schematic window,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Schematic Window

简介

原理图窗口提供了设计的实现视图,不通过RTL就可以看到设计的结构,连接性,层级关系等。

它可以查看设计的“物理”连接;可以追溯设计的传播时间;可以找到非预期输出的原因。

图示如下:Figure1. Schematic Window

img

Schematic window同时展示了设计中的可综合部分和不可综合部分。对于可综合部分来说:

  • 显示组件之间的连接,以及从控制路径分离的数据路径;
  • 标识时钟和事件触发器;
  • 分离组合逻辑(Mux,Gates,Tristates)和时序逻辑(Flops);
  • 推测出RAM/ROM模块;

此外,像Causality Traceback和扇入/扇出跟踪这样的集成特性可以帮助您探索和调试设计的可合成部分。

不可综合部分被包含在黑盒中,并且与周围组间保持连接。

使用流程(Usage Flows)

Schematic window可用于在仿真期间调试设计,或执行仿真后调试。

要启用Schematic window的完整调试功能,必须在设计加载时创建调试数据库,然后再细化。数据库指定设计的组合和顺序元素。然后,将模拟运行期间生成的数据记录到数据库中,以便立即进行调试或post-sim调试。

实时仿真原理图调试流程(Live Simulation Schematic Debug Flow)

Set up your simulation to perform schematic debug tasks during a live simulation.

即需要在仿真的时候加上执行调试任务。

流程(Procedure)
  1. 创建工作区的库:

    vlib <library_name>
    
  2. 编译设计文件:

    vlog/vcom <design_name>
    
  3. 优化设计:

    vopt +acc <design_name> -o <optimized_design_name> -debugdb
    
  4. 加载设计:

    vsim -debugdb[=<dbname>] <optimized_design_name>
    

    参数-debugdb在当前工作的目录下创建了调试的数据库:<dbname>。如果缺省,该文件默认为vsim.dbg。该文件包含带注释的原理图连接信息。

  5. 记录仿真数据:

    log -r /*
    

    建议记录整个设计的log。这将提供事件的历史价值及其驱动因素。为了减少开销,您可以选择只记录感兴趣的区域。

    可以使用log命令加单的保存仿真数据到*.wlf* 文件;或者,使用add wave命令记录仿真数据到*.wlf* 文件,可以在Wave widow窗口将仿真结果做为波形显示。

  6. 运行仿真;

  7. 使用Schematic window进行调试;

  8. 退出仿真;

    Note: 如果没有扩展的数据流许可证,Schematic window 将无法工作。如果您试图创建调试数据库(vsim -debugdb)而没有这个许可,将出现以下错误消息

    Error:(vsim-3304)You are not authorized to use -debugdb,no extended dataflow license exits.

后仿真原理图调试流程(Post Simulation Schematic Debug Flow)

当您在模拟“场”中执行大型设计的模拟时,最常使用原理图分析的模拟后调试流,在模拟“场”中,模拟结果将在较长时间内收集并保存以供以后分析。

这种方式是先跑仿真,将仿真结果全都保留下来,待到仿真结束后,再进行仿真波形的查看。

跑仿真时候的方式与“Live Simulation Schematic Debug Flow”流程类似。

流程(Procedure)
  1. 双击Modelsim 图标启动Modelsim;

  2. 选择File > Change Directory 变换到post-simulation 数据文件所在的目录;

  3. 使用如下命令读取数据文件:

    vsim -view <db_pathname.wlf>
    

    Modelsim通过打开*.wlf* 数据集,自动关联同名的*.dbg* 数据库文件,如果没有发现同名称的,会尝试打开vsim.dbg 文件。

参考

本文主要内容来自Modelsim的参考手册,因个人安装路径不同而不同,以下链接仅供参考:

file:///D:/modeltech64_10.6e/docs/htmldocs/mgchelp.htm#context=modelsim_se_user&topic=schematicwindow

2021-07-27.

这篇关于Modelsim原理图窗口——Schematic window的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/527258

相关文章

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

Python中pywin32 常用窗口操作的实现

《Python中pywin32常用窗口操作的实现》本文主要介绍了Python中pywin32常用窗口操作的实现,pywin32主要的作用是供Python开发者快速调用WindowsAPI的一个... 目录获取窗口句柄获取最前端窗口句柄获取指定坐标处的窗口根据窗口的完整标题匹配获取句柄根据窗口的类别匹配获取句

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

如何使用Python实现一个简单的window任务管理器

《如何使用Python实现一个简单的window任务管理器》这篇文章主要为大家详细介绍了如何使用Python实现一个简单的window任务管理器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起... 任务管理器效果图完整代码import tkinter as tkfrom tkinter i

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Window Server2016加入AD域的方法步骤

《WindowServer2016加入AD域的方法步骤》:本文主要介绍WindowServer2016加入AD域的方法步骤,包括配置DNS、检测ping通、更改计算机域、输入账号密码、重启服务... 目录一、 准备条件二、配置ServerB加入ServerA的AD域(test.ly)三、查看加入AD域后的变

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

基于Redis有序集合实现滑动窗口限流的步骤

《基于Redis有序集合实现滑动窗口限流的步骤》滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis... 滑动窗口算法是一种基于时间窗口的限流算法,它将时间划分为若干个固定大小的窗口,每个窗口内记录了该时间

使用JS/Jquery获得父窗口的几个方法(笔记)

<pre name="code" class="javascript">取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);如题: $(selector, window.top.document);//获得顶级窗口里面的元素 $(