目录

前言

1. Tessent Shell ETChecker与传统ETChecker的对比

1.1 工具比较

1.1.1 TS-ETChecker支持的功能

1.1.2 TS-ETChecker和传统ETChecker的区别

1.2 默认TS-ETChecker调用

1.3 支持的ETChecker约束

1.4 DRC规则名称对应


前言

这是专栏的第二篇,主要是翻译了Tessent2019版本官方文档中的《Tessent Shell ETChecker for the LV Flow User's Manual》的前三章,Tessent的文档有四十多篇,每一篇几乎都是至少两百页,最多能到七百页的大部头,而且都是英文,啃起来真的费劲。就是借助翻译工具去边翻译边学习,阅读这些文档也是一件艰辛的事情,不过也别无他法,要掌握这系列工具,官方文档是绕不过去的。

去年大半年一直在用2013版本的Tessent,直到后来遇到某个工具证书失效的问题,一直没法解决,后而转用2019版本。2013版本和2019版本差别还比较大,主要是体现在ETChecker这个步骤,2019版本中是将ETChecker升级成了Tessent Shell ETChecker,在操作上虽然2019版本是可以兼容2013版本的,不过了解一下升级后的操作也是有必要的。

以下就是Tessent Shell ETChecker前三章的正文,有一些机翻还是比较生硬的,但是似乎也很难找到更顺畅的表达,反正是工具性的文档,意思到了即可。

本来想三章内容一起放,无奈会闪退,故分成两篇文章

1. Tessent Shell ETChecker与传统ETChecker的对比

Tessent Shell ETChecker是传统LV Flow的ETChecker的下一代替代品,传统ETChecker是一种RTL分析工具,可以执行规则检查,提取信息,并为后续的自动测试设计(DFT)插入准备您的设计。Tessent Shell ETChecker利用Tessent Shell自省和图形功能来执行与传统ETChecker工具相同的任务。Tessent Shell ETChecker支持读取与以前相同的传统ETChecker命令文件、约束和flow约定,并且与传统ETChecker向后兼容。

在本文中,术语“ETChecker”指的是Tessent Shell ETChecker。在比较两种工具时,“传统ETChecker”一词仅用于澄清。

1.1 工具比较

Tessent Shell ETChecker执行以前由传统ETChecker执行的大部分功能。然而,这两种工具支持的内容有所不同。

1.1.1 TS-ETChecker支持的功能

TS-ETChecker,像传统ETChecker一样,可以执行以下设计功能:

  • 执行传统ETChecker命令行,支持相同的选项。
  • 读取包含约束条件的传统ETChecker输入配置文件,例如lv.EmbeddedTest、lv.memoryInstance。
  • 检测并报告会影响下游DFT插入的违反设计规则的情况。
  • 生成向后兼容的 .etCheckerInfo文件,包含LV Flow所需的所有设计信息。
  • 生成其他辅助文件,为LV FLow准备设计并理解其结构。这些文件的名称如下:
    • .etpClockDomainInfo
    • .etpClockTree
    • .etpDiInfo
    • .etpInfoFixTestability
    • .etpInfoFixViolations
    • .etpPhysicalInfo
    • .etpClock

从Tessent v2017.1版本开始,以下传统ETChecker文件不是由TS-ETChecker生成的:

      • .etpConstraints
      • .etpScanInfo

大多数TS-ETChecker输入命令行选项和约束与传统ETChecker直接向后兼容,允许Tessent Shell从传统LV Flow生成文件运行,并使用旧的LV设计数据库。

1.1.2 TS-ETChecker和传统ETChecker的区别

这两种工具之间的主要区别如下:

1)基于图形用户界面(GUI)的调试现在是用Tessent Visualizer工具完成的,而不是传统的ETChecker GUI。Tessent Visualizer工具的操作不同,但该工具支持增量原理图(incremental schematics)、跟踪、注释以及源代码和原理图之间的交叉引用等相同的主要功能。

2)TS-ETChecker支持传统的ETChecker batch模式,但也提供了一个完全交互式的基于Shell的模式,以及自检和脚本功能。

3)不再支持传统lv.padCell和lv.MemoryModule约束。对于pad.library和 .memlib文件,您必须使用通常的 -memlib和 -padlib命令行选项显式加载到TS-ETChecker中。

4)规则的命名不同于传统的ETChecker,并且并不总是直接对应于一个特定的传统ETChecker规则,尽管为了便于工具之间的迁移和最大限度地减少对文档的影响,已经花费了很大的努力来保留类似的规则命名和编号。

5)所有违反规则的行为都会直接在输出文本中得到回应。最基本的约束语法验证(Sanity Rules)和一致性验证(Constraint Rules)称为“Unregistered DRCs”,只显示在该文件中。在一个名为<design>.report_drc_<mode_name> 的单独输出文件中,包含违规的已注册DRCs的摘要,仅当至少发生一次已注册DRC违规时,才会写入输出目录。日志文件中始终会报告未注册的DRC违规。本文件后面提供了已注册的DRCs的完整列表。

6)支持带绑定时钟和绑定有效置位/复位的触发器。-noReport选项与lv.NonScanInstance约束一起提供,以支持这一点。

1.2 默认TS-ETChecker调用

LV Flow“etchecker”命令现在默认运行TS-ETChecker,而不是传统的ETChecker。TS-ETChecker子调用(sub-invokes)Tessent Shell读取命令行选项,加载设计,运行适当的DRC集,并生成输出文件。Tessent v2017.2版本不再提供传统的ETChecker。

1.3 支持的ETChecker约束

TS-ETChecker支持传统的ETChecker约束,使用相同的语法和选项,除了以下几点:

1)大多数以 lv.xxx形式的约束被翻译成一个或多个相关的Tessent Shell命令。Tessent Shell命令以下列方式回显到日志文件中:

"// translated command:<command>."

参见表1-1,了解这些对应关系的列表。

2)当lv.Target类型为Top时,必须使用lv.JTAGOption声明TAP引脚,否则工具会报告错误。如果 -bscan为ON,则该错误是致命的。

3)TS-ETChecker不支持lv.padCell和lv.MemoryModule约束。对于pad.library和 .memlib文件,您必须使用通常的 -memlib和 -padlib命令行选项将这些文件显式加载到TS-ETChecker中。你不能再绕过那些文件了。从积极的一面来看,这些文件的语法甚至在开始LV Flow之前就得到充分的验证。

4)带有嵌入式扫描单元的设计必须使ebscan单元的 .lvbscan描述文件与该单元加载的模拟或扫描模型一起可用。这样做是为了让TS-ETChecker可以自动导入这些文件。在传统的ETChecker中,ebscan单元的 .etcScanData中的一个lv.PadCell声明就足以开始简单的设计规则检查。

表1-1提供了 ETChecker 约束和相应的Tessent Shell命令的完整列表。

TS-ETChecker遵循传统ETChecker工具在以下所有对象的支持约束中设计对象规范的约定:

      • 端口、引脚、网络、模块和实例
      • Verilog和VHDL转义名称
      • 生成块和循环语法
      • 模块和实例定义(glob)中的通配符
      • 实例数组

生成块/循环的语法得到增强,以更好地支持带有转义名称的块/循环。有关完整信息,请参考Tessent Shell Reference Manual 中的“HDL Limitations in the Tessent Shell Flow”。

TS-ETChecker中的DRCs使用Tessent Shell引擎,DRCs覆盖所有可能导致DFT插入失败的问题。DRC规则的命名和分组不同于传统的ETChecker。这些DRC规则中的许多规则与Tessent Shell MemoryBIST和Tessent Shell BoundaryScan产品共享,而逻辑测试DRC规则直接来自Tessent FastScan。请参见第22页的 “DRC Rule Name Correspondence”。

输出 .etCheckerInfo文件内容与LV Flow完全向后兼容。由于在TS-ETChecker中的优化,一些过时的LV Flow包装器或属性以及在某些context中没有使用的属性和包装器不会被工具写出。

TS-ETChecker和传统ETChecker之间的其他区别在第261页的“TS-ETChecker Versus Legacy ETChecker” 和第273页的“VHDL Flow Changes”中有详细说明。

1.4 DRC规则名称对应

TS-ETChecker运行传统ETChecker覆盖的所有DFT规则。然而,传统的ETChecker规则在TS-ETChecker中被重新命名,在某些情况下被重新组织如下:参考第97页的“Rules Verified by ETChecker”,获得支持的TS-ETChecker规则的完整列表。

1)TS-ETChecker和Tessent Shell MemoryBIST工具之间共享许多规则。在这种情况下,TS-ETChecker使用Tessent Shell MemoryBIST DRCs名称。

2)传统ETChecker和TS-ETChecker之间的给定规则并不总是一一对应的。例如,许多单一的Tessent Shell规则同时覆盖了几个传统的ETChecker规则。工具产生的错误信息也有所不同。

3)Tessent FastScan E5、E10和E11规则取代了一系列传统ScanRule检查。TS-ETChecker产生的DRC信息与传统规则有很大不同。此外,错误消息通常涉及Tessent FastScan生成的平面模型对象,如总线和ZVAL单元。E5严重性设置为错误,E10和E11严重性都设置为警告。在Tessent Visualizer工具中调试这些设计规则之前,请参考 Tessent Shell Reference Manual的“Design Rule Checking”部分。

4)您不能在旧的ETChecker脚本中重用 – ignoreRules和 – waiver命令行选项。规则名称在传统ETChecker和TS-ETChecker之间改变。然而,通过为每个降级的规则类调用下面的Tessent Shell命令,并将其放在您的etchecker输入配置文件中,您仍然可以在每个规则类的基础上waive DRC。TS-ETChecker将在运行DRCs之前执行这些命令。

set_drc_handling drc_id Warning

这将把drc_id正常致命错误变成一个简单的警告,这样您仍然可以在日志文件中看到违规的痕迹。只有“注册”的DRCs可以这样降级。drc_id只能采用以下值:

DFT_C8, DFT_C9, and DFT_C10

ETC_C4, ETC_C12, ETC_C16, ETC_C18, ETC_C22, and ETC_C26

ETC_CR23, ETC_CR44, and ETC_CR46

ETC_BU1 and ETC_BU2

ETC_S1, ETC_S5, ETC_S6, ETC_S6a, ETC_S7, ETC_S15, ETC_S16, ETC_S17,

ETC_S18, and ETC_S20

为了简化工具之间的迁移,许多终TS-ETChecker DRC名称使用以下约定直接映射到其等效的传统ETChecker名称:

AnalysisRule_n -> ETC_An

ClockRule_n -> ETC_Cn

ScanRule_n -> ETC_Sn

ConstraintRule_n -> ETC_CRn

这种映射约定允许在传统ETChecker和TS-ETChecker之间交叉检查DRC违规。参见第24页的表1-3、第25页的表1-4、第25页的表1-5和第26页的表1-6。如前所述,并非所有的传统ETChecker规则都映射到TS-ETChecker中的命名规则。此映射的例外情况如下:

      • 大多数 AnalysisRules与同名的ETC_A#没有直接的对应关系。根据传统ETChecker的设计,任何信息处理步骤都必须封装在给定的命名规则中。相比之下,在系统模式转换(set_system_mode命令)期间,ETChecker可以在任何需要的地方运行这种处理。第24页的表1-3和第25页的表1-4详细说明了旧的AnalysisRule计算是在什么时候或在什么规则下发生的。
      • 大多数 SanityRulesConstraintRules都是即时报告的,并直接反映在TS-ETChecker抄本中。SanityRules不需要相应的文档,因为这些规则只检查基本的约束语法。ConstraintRules验证约束与设计的一致性以及它们与其他约束的交互,总是将规则标识符(ETC_CR#)附加到它们的错误消息中,以便于文档查找。
      • ConsistencyRules在TS-ETChecker context中是不相关的。
      • 旧的 VerilogRulesVHDLRules要么由Tessent Shell RTL解析器间接验证,要么不再适用。本手册中没有记录这些规则。
      • 所有 info_name 遗留规则都没有映射,因为这些规则是正常处理的运行步骤,不需要TS-ETChecker中的命名规则。表1-2列出了这些规则和相应的文件名。

Table 1-2. Info_ Rule File Mapping

Info_clock

 Generate the .etpClockDomainInfo file

Info_clock_tree

Generate the .etpClockTree file

Info_etCheckerInfo

Generate the .etCheckerInfo file

Info_Physical

 Generate the .etpPhysicalInfo file
Info_ScanType   Generate the .etpScanData file

Info_FixViolations

Generate the .etpInfoFixViolation file

Info_FixTestability

Generate the .etpInfoFixTestability file
Info_DedicatedIsolation  Generate the .etpDIInfo file
Info_constraints 

Generate the .etpConstraints file(not supported in TS-ETChecker)

如前所述,并非所有的传统ETChecker规则都映射到TS-ETChecker中的命名规则。表1-3和表1-4列出了这种映射的例外情况。表1-3列出了传统ETChecker规则和TS-ETChecker规则之间的DRC对应关系。

表1-3列出了传统ETChecker规则和TS-ETChecker规则之间的DRC对应关系。

表1-4显示了传统ETChecker规则和TS-ETChecker规则之间的DRC对应关系:AnalysisRules with –logic ON。

表1-5显示了传统ETChecker规则和TS-ETChecker规则之间的DRC对应关系:ClockRules with –logic ON。

表1-6显示了传统ETChecker规则与 ScanRule 和 BottomUpRule的TS-ETChecker规则之间的DRC对应关系。

Tessent专栏第二篇:Tessent Shell ETChecker介绍(1)相关推荐

  1. Tessent专栏第二篇:Tessent Shell ETChecker介绍(1续)

    系列文章目录 前言 1. Tessent Shell ETChecker与传统ETChecker的对比 1.1 工具比较 1.1.1 TS-ETChecker支持的功能 1.1.2 TS-ETChec ...

  2. 数学建模专栏 | 第二篇 :MATLAB 数学建模快速入门

    MATLAB 虽然功能很强大,但上手却很容易,尤其是 R2013a 以后的版本, 使用起来更加容易. 现在使用 MATLAB 的一个理念就是像 Word 一样去使用 MATLAB.本讲将通过一个实例介 ...

  3. Tessent专栏第三篇:TessentMemoryBIST用户手册_1

    这篇主要是翻译<Tessent MemoryBIST User's Manual For Use with Tessent Shell>的第一章的内容,在这里作为一个学习的记录,仅供参考. ...

  4. 【关键词提取】第二篇:数据集、实现代码介绍

    原文地址:http://www.cnblogs.com/lessmore/category/1009890.html 转载请保留本行,欢迎交流. 目录: 第一篇:综述 第二篇:数据集.实现代码介绍 第 ...

  5. PE结构详解(加壳脱壳必备知识)第二篇·存储地址介绍

    昨天分享了一篇PE结构详解(加壳脱壳必备知识),本篇是上一篇续篇,主要介绍关于PE结构的三种存储地址 VA.RVA.FILEOFFSET及转换方式,希望对你有所帮助. 一.关于VA.RVA.FILEO ...

  6. Android开源项目第二篇——工具库篇

    本文为那些不错的Android开源项目第二篇--开发工具库篇,主要介绍经常使用的开发库,包含依赖注入框架.图片缓存.网络相关.数据库ORM建模.Android公共库.Android 高版本号向低版本号 ...

  7. [转帖]虚拟内存探究 -- 第二篇:Python 字节

    虚拟内存探究 -- 第二篇:Python 字节 http://blog.coderhuo.tech/2017/10/15/Virtual_Memory_python_bytes/是真看不懂哦  翻译 ...

  8. kubernetes之CI/CD工具jenkins第二篇,helm的使用

    1. kubernetes之CI/CD第二篇-jenkins结合helm部署应用: 1. 概述:    在前期的博文中我已经初步介绍过kubernetes环境下的CI/CD的使用.主要是jenkins ...

  9. 第二课《shell 编程基础》

    编程语言分类: 编译型 解释型 编译型语言:c.c++.c# 解释型语言: 内置型:shell.perl源码并入了linux kernel,提供内核级单条语句的效率 外置型:python.java.j ...

最新文章

  1. Ubuntu 16.04 LTS, 64bit,cuda 8, Caffe环境配置编译和安装
  2. deepin关机卡在图标界面 mysql Community...10min
  3. 写给期待年薪百万的IT同学
  4. ABAP中有关于换行符,TAB KEY等
  5. 跟着书本重学CSS(1)
  6. 合肥工业大学计算机与信息学院学生会宗旨,计算机与信息学院举办第一期“AIE计划”实验室招新宣讲会...
  7. Java、Python 竟成区块链主流开发语言?!
  8. 【redis】spring boot利用redis的Keyspace Notifications实现消息通知
  9. 蓝桥杯真题:平方和(2019 年省赛)
  10. 深度学习开源数据集整理
  11. 项目合同与劳务合同的区别
  12. 疯狂的程序员 41-50
  13. vlog短视频_适用于Vlog或视频网络的20+ WordPress主题
  14. 令人匪夷所思的 Magic 之魔数,你真的不会
  15. 东北大学计算机保研清华难吗,学霸宿舍:他们全部保研清华、中科院、东大等名校,值得借鉴!...
  16. Linux切换中英文环境
  17. 阿里P8高级专家强烈推荐2022Java程序员进阶必读书单
  18. 责任链模式与lambda重构责任链模式
  19. lg手机显示无服务器,LG手机工程模式进入方法及菜单指令翻译(适用G6、G7、V20、V30等)...
  20. LCD液晶屏工作原理

热门文章

  1. 水木经典问题及回答集锦【巴陵版】
  2. 手机端常规测试基本信息
  3. 【全栈开发】精通 MEAN: 使用 MEAN 和 UGLI CRUD 实现响应式 Web 设计
  4. EXCEL按一列数值查找另一列整行数据
  5. 在淘宝开店后,如何发布宝贝?从哪发布?
  6. 弘辽科技:淘宝卖家如何制作高点击神图,看了这篇文章就够了
  7. 赛门铁克Symantec 软件界面,备份还原设置操作讲解说明
  8. 高标准农田建设简单介绍
  9. 北航研究生课程经济学思想知识点
  10. 几个流行的Java IDE评测