【Tessent Shell Users Manual】【Ch2】Tool Invocation, Contexts, Modes, and Data Models

@TOC

在Tessent Shell环境中,通过设置环境(context)和系统模式(system mode)告诉工具你将要执行的任务,然后工具使用设计数据模型(design data models)来存储相关的设计数据。

1.Tool Invocation

Linux平台下,启动Tessent shell命令为

% tessent -shell

工具启动后自动进入 setup 模式,启动过程中会读取启动文件(startup file,文件名 .tessent_startup)和环境变量(environment variables)。除了默认值之外,这两部分内容都包含有自定义选项。

其中,用户自定义的环境变量有如下内容:

在这里插入图片描述

2.Contexts and System Modes

Tessent shell 启动后的首要任务之一就是设置环境(Context)系统模式(System mode)

Context 指的是一个广泛的功能类别,通常对应于特定的工具、产品或许可证,例如Tessent FastScan。每个Context包括多个系统模式(System modes);

System mode指定工具当前的运行状态。

通过设置环境和系统模式,可以指定 Tessent Shell 将要执行的任务的类型。此外,还需要指定Tessent shell将要执行的任务的设计层级(design level)。

Contexts

Context 指定了您希望使用 Tessent Shell 执行的任务的功能类别,主要分为 dftpatterns 两大类,具体内容如下表格所示:

在这里插入图片描述

设定 context 的命令为:

SETUP> set_context dft -scan 

查看当前context的命令为:get_context

Tessent工具的命令是和context相关的比,比如set_context命令仅在setup模式下有效。在设置Context之前,只能运行一小部分 setup 命令。这些命令通常是放置在启动文件中。

设定context之后,工具会自动获取所所需的license,也可以使用 set_context-license选项指定license。

System Modes

Tessent Shell 中的系统模式定义工具的工作状态(operational state)。默认系统模式为 setup,可用的系统模式取决于工具的当前的context。三种系统模式如下所示:

在这里插入图片描述

切换系统模式的命令如下:

SETUP> set_system_mode insertion

Context and System Mode Combinations

Context 和 System mode 隐含决定了 Tessent Shell 的任务流程,当时进行DFT设计的时候,是从setup到analysis再到insertion;在处理 patterns 的时候,则是从 setup 到 analysis。例如,如果你正在在setup mode下进行DFT设计,那么你不能执行扫描分析。

下面的表格列出了在可用 Context 和 system mode 下可以执行的操作。工具会过滤掉不适用于当前所处 context/mode 下的功能,并在尝试执行不在当前 context/mode 范围内的任务时发出错误提示。

在这里插入图片描述

Design Levels

在进行DFT设计时(即在 context dft 中工作),必须设置所执行任务所处的的设计层级

可用的设计层级包括chip, physical block 和 sub-block,没有默认配置。

对于flat designs,总是工作在chip level;对于hierarchical designs,区分是工作在 top-level(chip) 还是在 physical blocks 或 sub-blocks 是至关重要的。(后面会有章节介绍这些level的区别,v22p142)

设置设计层级的命令为 set_design_level

3.Design Data Models

Tessent Shell 有以下数据模型:: the hierarchical design data model, the flat design data model, and the ICL data model。
每个数据模型都包含一个或多个设计对象(design objects),例如引脚(pins)和模块(modules),并且每个设计对象都与一组属性(attributes)相关联,例如总线的ID或位宽。

Tessent Shell Reference Manual 中的 Data Models 一节中详细介绍了每种数据模型的设计对象及其属性。

Flat Design Data Model

在进入 analysis mode (或离开 setup mode)时,工具会对自动对层次化设计进行展平(flatten),使用表示扁平化设计数据模型(flat design data model)保存设计数据。可以使用create_flat_model命令直接创建flat模型。

扁平化设计数据模型由连接在一起的逻辑门(gates)组成。gate是 primitive module 的实例,gate_pin 对象表示 gate 实例上的 pin。

Gate_pin对象没有唯一的实例名,但是它们有一个唯一的ID来区分彼此。ID格式为两个整数,中间用句号(period,英文的句号就是点)分隔。第一个整数表示 gate ID,第二个整数表示引脚索引(其中0是输出引脚,1是第一个输入引脚,依此类推)。但是,这个 ID 不会保持不变,每次启动 Tessent 工具或者是 netlist 版本更新 都会导致 ID 发生变化。因此,应该避免将这个ID硬编码到脚本中。

Hierarchical Design Data Model

当使用read_verilog等命令将设计加载到工具中时,Tessent Shell 会将设计网表(design netlist)转换为内存中的层次化设计数据模型(hierarchical design data model )。该设计数据在使用 Tessent shell 期间会一直保留在内存中,直到你主动删除或退出工具。

层次化设计数据模型包含以下对象类型:

  • Module —— 设计的基本构建块(basic building block),可以是Verilog模块、Tessent库模型或内置原语。
  • Inst1ance —— module的单一实例化
  • Port —— module的input、output或inout接口
  • Pin —— instance的input或output接口
  • Net —— 连接instances的pins的连线
  • Pseudo_port —— 用户添加的原始输入或原始输出

使用set_current_design命令将设计中的一个模块指定为当前设计(current design)。实例、引脚和线网是相对于当前设计定义的层次化对象(hierarchical objects)。

图2-1所示是本章会多次用到的层次化设计实例。单元(elements)上面的标签是实例名(instance name),单元下面的标签是模块名(module name)。例如,左上角的与门的模块名为and3,实例名为u1。 (这里,它用module这个单元来表示了一个标准单元的实例。)

虚线框是父模块中实例化的模块。例如,模块modc是在模块modb内部实例化的。它的完整实例路径为u4/u5。
在这里插入图片描述

ICL Data Model

ICL(Instrument Connectivity Language)描述了组成 IJTAG 网络的单元(elements),以及它们彼此之间的逻辑连接(不一定是实际存在的)。

ICL与层次化网表(如Verilog)有一些相似之处,它由可能包含其他模块实例的模块组成,描述了实例的引脚之间的连接关系。
ICL不是一个完整的网表。其中的连接关系是端口到端口(port-to-port)的,而不是线网(nets)。
ICL是抽象的,不包括电路详细的物理结构。也就是说,ICL只表示network的工作行为。

ICL数据模型将对象定义为以下四种数据类型之一: icl_module、icl_instance、icl_port和icl_pin。

一旦使用set_current_design命令设置了当前设计,ICL数据模型将从当前设计向下详细说明,为 icl_module 的每个实例创建icl_instance 对象,为与 icl_instances 关联的模块的每个端口创建icl_pin对象。icl_instance和icl_pin对象是层次化对象,因此只在设置了当前设计之后才存在。

Object Attributes

设计数据模型中的每个设计对象都有一个附加到该对象的特征列表,称为属性(attributes)。例如,每个引脚都有一个属性,该属性指定其层次结构名称和父实例(parment instance)。

有预定义的属性和用户定义的属性(predefined and user-defined attributes. )。预定义属性提供对工具已知信息的访问,如模块名称或引脚方向。

创建新的用户自定义属性的过程称为注册(registration)。与用户自定义属性不同,预定义属性不需要注册。

在使用每个新的用户定义属性之前,必须注册该属性并指定默认值。如果以后想更改默认值,必须先取消注册,然后再重新注册属性。

可以查询任意属性,也可以修改任意自定义属性。大多数预定义属性都是只读的,部分属性是可读可写的。

可以根据属性及其值进行对 objects 进行筛选和排序。执行这些操作的命令有filter_collectionsort_collection等。( Tessent Shell Reference Manual 中的 Attribute Filtering Equation Syntax 有更加详细的介绍。)(知道有这么个功能在,用得到的时候再去看就好了。)

以“get_”开头的命令返回来自数据模型的对象集合和模型的属性,可以使用这些属性对各种设计对象进行design introspection。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tessent Scan and ATPG User's Manual是一本关于Tessent扫描和自动测试程序生成(ATPG)用户手册。Tessent是一个硬件测试解决方案,用于芯片设计的验证和生产测试阶段。它提供了强大的功能,以帮助设计工程师和测试工程师开发和实施高质量的测试解决方案。 该用户手册主要介绍了如何使用Tessent工具来创建和调试扫描链和ATPG测试模式。扫描链是一种用于存储和移动内部信号数据的设计结构,它在测试芯片时发挥重要作用。手册中详细说明了如何合理布置和配置扫描链,以满足设计需求。 另外,用户手册还介绍了如何使用Tessent ATPG来生成测试模式。ATPG是一种自动产生测试模式的技术,通过刺激芯片的输入和观察输出来发现故障。使用Tessent ATPG,用户可以根据设计规范和目标覆盖率生成高质量的测试集。 手册还涵盖了Tessent工具的安装和配置,以及如何使用命令行界面或图形用户界面来操作工具。它还提供了一些常见问题的解答和故障排除技巧,以帮助用户更好地使用Tessent工具。 总之,Tessent Scan and ATPG User's Manual是一本详细的指南,旨在帮助用户理解和应用Tessent工具来创建和调试扫描链以及生成高质量的ATPG测试模式。通过阅读和遵循手册中的指导,设计工程师和测试工程师可以提高测试效率,减少故障和缺陷,并提高产品的质量和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值