ModelSim® SE Command Reference Manual : find命令的用法

        该命令按类型和名称定位对象。命令的参数按对象类型分组。

1、语法

find nets | signals <object_name> … [-internal] [-nofilter] {[-in] [-inout] [-out] | [-ports]}
[-recursive]

find instances | blocks {<object_name> … | -bydu <design_unit> | -file <file_name>}
[-arch] [-protected] [-recursive] [-nodu]

find virtuals <object_name> … [-kind <kind>] [-unsaved] [-recursive]

find classes [<class_name>]

find objects [-class <class_name>] [-isa <class_name>] [<object_name>]

2、描述

find命令使用以下规则来定位对象:
        •如果名称不包括数据集名称,则使用当前数据集。
        •如果名称不是以路径分隔符开头,则使用当前上下文。
        •如果名称是路径分隔符,后跟不是顶级设计单元名称的名称,则使用设计中的第一个顶级设计单元。
        •对于包含层次化路径的相对名称,如果在当前上下文中找不到第一个对象名称,则向上搜索到设计层次结构的顶部,以查找匹配的对象名称。

        •如果在指定的上下文中找不到指定名称的对象,则执行向上搜索,以在任何可见的封闭范围内查找匹配的对象,直到实例边界。如果在给定上下文中找到至少一个匹配,则不执行(更多)向上搜索;因此,当使用通配符时,如果某些对象在较高的封闭范围内,则在给定上下文中可能可见的对象将不会被找到。
        •通配符“*”和“?”可以在名称的任何级别上使用,但数据集名称和切片规范内部除外。也可以使用方括号([])通配符。

        •通配符永远不会与路径分隔符匹配。例如,/dut/*将匹配/dut/siga和/dut/clk。然而,/dut*与这两个都不匹配。

        •由于方括号是find命令中的通配符,因此只有括号(())可以用于索引或切片数组

        •在执行搜索时,find命令使用WildcardFilter Tcl首选项变量来排除指定类型的对象。

        有关指定名称的详细信息,请参见Design Object Names 。

3、参数

        命令的参数按对象类型分组。

3.1、nets and signals的参数

        搜索网络和信号时,find命令返回与名称规范匹配的所有网络、信号、寄存器、变量和命名事件的完整路径名。

• <object_name>…

        (必需)指定要搜索的网络或信号。允许多个网络和信号以及通配符。通配符不能在切片规范内使用。空格、方括号和扩展标识符需要特殊的语法;有关更多详细信息,请参阅下面的示例。

• -in
        (可选)指定搜索范围包括模式IN的端口。

• -inout
        (可选)指定搜索范围包括模式INOUT的端口。

• -internal
        (可选)指定搜索的范围是包括内部(非端口)对象。

• -nofilter

        (可选)指定在查找信号或网络时忽略WildcardFilter-Tcl首选项变量。

• -out
        (可选)指定搜索范围包括模式OUT的端口。

• -ports
        (可选)指定搜索范围包括所有端口。具有与同时指定-in、-out和-inout相同的效果。

-recursive(递归的)
        (可选)指定搜索的范围是递归下降到子区域。如果省略,则搜索仅限于所选区域。

3.2、Arguments for instances and blocks(实例和块的参数)

搜索实例时,find命令返回主设计单元名称。

• -arch
        仅与“instances”一起使用:列出相应的架构(architecture)名称以及find命令返回的任何VHDL设计单元名称的实体名称。

• -bydu
        搜索设计单元。与-file和<object_name>互斥。
        <design_unit>——要搜索的单个设计单元的名称。此参数仅与实例的主<design_unit>指定的模式匹配。不支持库和辅助名称。

• -file <file_name>
        将设计中实例的完整列表写入文件。与-bydu和<object_name>互斥。
        <file_name>-指定文件名的字符串。

• <object_name>…
        指定要搜索的实例或块的名称。允许多个实例和通配符。与-file和-bydu互斥。

• -protected
        过滤并仅将输出减少为那些受保护的实例,因为该实例位于受保护的区域中,或者因为该实例在具有某些保护区域的设计单元中,或者由于这两个原因都适用。换句话说,find instances-protected命令仅返回位于受保护区域中的那些实例(由<object_name>参数暗示),或者相应的设计单元在受保护区域内包含其部分代码的那些实例,或者两者都返回。

• -recursive
        (可选)指定搜索的范围是递归下降到子区域。如果省略,则搜索仅限于所选区域。

• -nodu
        (可选)从输出中的任何实例中删除设计单元名称

3.3、Arguments for virtuals

        搜索虚拟值时,必须在任何对象名称之前指定所有可选参数

• <object_name>…
        (必需)指定要搜索的虚拟对象。允许多个虚拟字符和通配符。

• -kind <kind>
        (可选)指定要搜索的虚拟对象的类型。
<kind> —-以下类型之一的虚拟对象:
        • designs
        • explicits
        • functions
        • implicits
        • signals

• -unsaved
        指定ModelSim仅查找尚未保存到格式文件的虚拟体。

3.4、Arguments for classes

•<class_name>
        (可选)指定要搜索的incrTcl类。允许使用通配符。class_name的选项包括nets, objects, signals和 virtuals。如果不指定类名,该命令将返回当前命名空间上下文中的所有类。有关详细信息,请参阅Tcl Man Pages (Help > Tcl Man Pages)中的incrTcl命令。

3.5、Arguments for objects

• -class <class_name>
        (可选)将搜索限制为最特定的类为class_name的对象。

• -isa  <class_name>
        (可选)将搜索限制为在其传统中任何位置具有class_name的对象。

•<object_name>
        (可选)指定要搜索的incrTcl对象。允许使用通配符。如果未指定对象名称,则该命令将返回当前命名空间上下文中的所有对象。请参阅Tcl Man Pages (Help > Tcl Man Pages)
了解更多信息。

4、示例

•在整个设计中查找所有信号。

find signals -r /*

•查找整个设计中的所有实例,并将列表保存在文件instancelist.txt中。

find instances -file instancelist.txt -r /*

•在区域/top查找以字母“xy”开头的所有输入信号。

find nets -in /top/xy*

•查找设计层次结构中名称以“cl”开头的区域<current_context>/u1/u2处或下方的所有信号。

find signals -r u1/u2/cl*

•查找名为s1的信号。请注意,由于方括号通配符,必须将对象括在大括号中。

find signals {s[1]}

•查找信号s1、s2或s3

find signals {s[123]}

•找到由值1索引的信号s的元素。请注意,find命令使用括号(()),而不是方括号([])来指定子元素索引

find signals s(1)

•查找名为data的4位数组。注意,由于数组切片规范中的空格,必须使用大括号({})

find signals {/top/data(3 downto 0)}

•请注意,当指定包含扩展标识符的对象作为名称的最后一部分时,在结束“\”之后和结束“}”之前必须有空格。

find signals {/top/\My extended id\ }

•如果/dut/core/pclk存在,则在transcript中打印消息“pclk does exist”。这通常在Tcl脚本中运行。

if {[find signals /dut/core/pclk] != ""} {
echo "pclk does exist"

•使用通配符根据实例的名称查找实例。将搜索结果发送到文本文件,该文件在单独的行上列出实例名称,包括层次结构路径。

# Search for all instances with u1 in path
set pattern_match "*u1*" ;
# Get the list of instance paths
set inst_list [find instances -r *] ;
# Initialize an empty list to strip off the architecture names
set ilist [list] ;
foreach inst $inst_list {
 set ipath [lindex $inst 0]
 if {[string match $pattern_match $ipath]} {
 lappend ilist $ipath
 }
}
# At this point, ilist contains the list of instances only--
# no architecture names
#
# Begin sorting list
set ilist [lsort -dictionary $ilist]
# Open a file to write out the list
set fhandle [open "instancelist.txt" w]
foreach inst $ilist {
 # Print instance path, one per line
 puts $fhandle $inst
}
# Close the file, done.
close $fhandle ;

5、Additional search options

要在特定显示窗口中搜索HDL对象,请使用搜索命令或选择Edit > Find。


 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二证券:什么是破净股票?破净股票好还是不好?

一家公司手上掌握的财物包含实物财物、公司注册资金、未分配利润、各种公积金及品牌价值等等&#xff0c;一家公司的负债包含贷款、应付款、其他公司给的预付款等等。公司的总财物减去总负债后得到的净财物&#xff0c;再除以股票总数&#xff0c;就是公司的每股净财物&#xf…

【LM-Debugger】让研究人员与开发者能够深入洞察并干预模型的预测过程,开启了模型透明度和可解释性的一扇新门

背景 基于 Transformer 的语言模型 (LM) 是现代 NLP 模型的支柱&#xff0c;但其内部预测构建过程不透明。这对于不了解模型为何做出特定预测的最终用户以及希望调试或修复模型行为的开发人员来说都是个问题用于检查和干预基于转换器的语言模型的交互式工具项目地址&#xff1…

React的Redux的状态管理

步骤 1.创建新项目 npx create-react-app react-redux 2.安装配套工具 npm i reduxjs/toolkit react-redux 3.启动项目 npm run start 4.在src目录下创建store文件夹 5.在store文件夹下创建modules文件夹 6.在store文件夹里创建index.js文件 7.在counterStore.js文件…

【扩散模型(二)】IP-Adapter 从条件分支的视角,快速理解相关的可控生成研究

系列文章目录 【扩散模型&#xff08;一&#xff09;】中介绍了 Stable Diffusion 可以被理解为重建分支&#xff08;reconstruction branch&#xff09;和条件分支&#xff08;condition branch&#xff09;本文将从该视角快速理解 IP-Adapter 以及相关可控生成研究。 文章目…

Open3D 删除点云中重复的点

目录 一、算法原理1、重叠点2、主要函数二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、重叠点 原始点云克隆一份   构造重叠区域   合并点云获得重叠点 2、主要…

第二期书生·浦语大模型实战营优秀项目一览

书生浦语社区于 2023 年年底正式推出了书生浦语大模型实战营系列活动&#xff0c;至今已有两期五批次同学参加大模型学习、实战&#xff0c;线上课程累计学习超过 10 万人次。 实战营特设项目实践环节&#xff0c;提供 A100 算力支持&#xff0c;鼓励学员动手开发。第 2 期实战…

SolidWorks北京正版代理商亿达四方:官方授权SolidWorks中国代理

在北京这座融合了古老文明与现代科技的都市中&#xff0c;亿达四方作为SolidWorks官方认证的北京区域正版代理商&#xff0c;正引领着一场设计与制造领域的革新风潮。我们致力于为北京及周边地区的企业提供原汁原味的SolidWorks软件及全方位的增值服务&#xff0c;共同推进首都…

想要用tween实现相机的移动,three.js渲染的canvas画布上相机位置一点没动,如何解决??

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

【Git】版本控制器的方式:SVN集中式版本控制工具和Git分布式版本控制工具

一、应用场景 二、版本控制器的方式 三、SVN 集中式版本控制工具 四、Git 分布式版本控制工具 五、Git工作流程 一、应用场景 Git 在开发过程中提供了多种应用场景&#xff0c;帮助开发团队高效地管理代码、协同工作&#xff0c;并保证代码质量。以下是一些具体应用场景和相应…

Springboot Mybatis 多数据源配置以及使用

在Spring Boot中配置MyBatis的多数据源是一个常见需求&#xff0c;尤其是在需要连接多个数据库时&#xff0c;下面是详细的步骤指南。 引入依赖 首先&#xff0c;在你的pom.xml文件中添加Spring Boot、MyBatis和数据库连接的相关依赖。例如&#xff0c;如果你使用的是MySQL数…

python基础篇(6):global关键字

使用 global关键字 可以在函数内部声明变量为全局变量 未使用global关键字的代码&#xff1a; # global关键字&#xff0c;在函数内声明变量为全局变量 num 200def test_a():print(f"test_a: {num}")def test_b():num 500print(f"test_b: {num}")test_…

基于java+springboot+vue实现的宠物商城网站(文末源码+Lw)273

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;商品信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广…

智慧校园-毕业管理系统总体概述

在当今教育信息化的浪潮中&#xff0c;智慧校园毕业管理系统脱颖而出&#xff0c;它作为一项综合性的数字平台&#xff0c;全面覆盖了从毕业资格审查到学位授予的每一个关键步骤&#xff0c;旨在通过智能化手段&#xff0c;为高校的毕业管理工作带来革命性的变革。毕业管理系统…

JAVAEE之网络原理_传输控制协议(TCP)的滑动窗口、流量控制、拥塞控制、延迟应答、捎带应答机制

前言 在前面几节&#xff0c;我们讲解了TCP协议的基本概念、报文格式。还介绍了确认应答机制、超时重传、连接管理机制&#xff0c;在本节中 我们将会继续介绍TCP协议的其他机制。 一、滑动窗口机制&#xff08;效率机制&#xff09; 在前面的章节中我们讨论了确认应答策略&…

dbeaver数据库链接工具

1、下载dbeaver 一个绿色版一个安装版&#xff0c;官网开源版 2、安装 3、可以导入之前navicat的链接 导入 选择navicat 反编译密码的&#xff1a;https://tool.lu/coderunner navicat 版本15的密码解密&#xff1a;https://www.iatodo.com/navicatpw

阿里云+Halo个人博客搭建

前言 本文将介绍使用阿里云Halo搭建一个个人网站&#xff0c;过程极其简单&#xff0c;不需要什么计算机基础&#xff0c;操作电脑跟着步骤做就行。 在开始之前&#xff0c;还需要做一些前置准备 购买好服务器&#xff0c;本文使用阿里云&#xff0c;系统选择CentOS 7.6 64位…

高质量数据不够用,合成数据是打开 AGI 大门的金钥匙吗?

编者按&#xff1a; 人工智能技术的发展离不开高质量数据的支持。然而&#xff0c;现有可用的高质量数据资源已日渐接近枯竭边缘。如何解决训练数据短缺的问题&#xff0c;是当前人工智能领域亟待解决的一个较为棘手的问题。 本期文章探讨了一种经实践可行的解决方案 —— 合成…

如何从零开始搭建成功的谷歌外贸网站?

先选择一个适合外贸网站的建站平台&#xff0c;如WordPress或Shopify。这些平台提供丰富的主题和插件&#xff0c;可以帮助你快速搭建和定制网站。设计网站时&#xff0c;注重用户体验&#xff0c;确保导航清晰、页面加载快速、移动端友好。确保网站的SEO优化。从关键词研究开始…

web前端课程大作业-高校学生事务中心

文章目录 概述代码页面截图代码链接 概述 仿制高校的学生事务中心&#xff0c;一个登录和注册页面 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" conten…

SEO与AI的结合:如何用ChatGPT生成符合搜索引擎优化的内容

在当今数字时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已成为每个网站和内容创作者都必须掌握的一项技能。SEO的主要目标是通过优化内容&#xff0c;使其在搜索引擎结果页面&#xff08;SERP&#xff09;中排名更高&#xff0c;从而吸引更多的流量。然而&#xf…