Tessent --- PDL

PDL:Procedural Description Language(过程描述语言)

PDL和ICL的区别在于,ICL是描述IJTAG网络的硬件结构,以及连接关系;PDL是面向工程师的,工程师利用PDL语言,对ICL中的单元进行控制。

下面介绍常用的PDL命令:

iProcsForModule:(类似current_design)

为指定后续iProc命令引用的ICL模块,发出这个命令之后,随后定义的iProc都会对应的ICL模块进行定义。在设置这个命令之前,不能定义任何iProcs。

iProc:(类似TCL语法的proc)

为后续iCall调用,当使用iCall命令调用该过程时,参数列表中的变量将被替换为iCall命令中指定的值。在调用iProc时,运行iProc内的命令。

iTopProc:

iTopProc命令与iProc命令相同,只是它只能针对顶级ICL模块调用。当关联的ICL模块是当前ICL顶部模块时,即当它与当前设计匹配时,只能iCall一个iTopProc。不能在iProc中iCall iTopProc。但是,可以在iTopProc内调用iCall iProc或iTopProc。

iRunLoop:

用来产生一段dummy cycle,如下,我想delay 100个tck,使用如下命令:

iRunLoop 100 -tck

iWrite:

对ICL中的DataRegisters、ScanRegisters、DataOutPorts、DataInPorts等写值,后面iApply会运行。

iRead:

把ICL中的DataRegisters、ScanRegisters、DataOutPorts、DataInPorts等读出来,后面iApply会运行。

iForcePort:

force一个固定值到primary input port或者inout port,注意这个命令只能在iTopProc中。

iClock:

source clock 到定义的clock pin的path是否存在

iPulseClock:

iPulseLock可用于重新启动先前通过iForcePort命令强制进入关闭状态的同步时钟,然后只能在iTopProc中使用

iCall:

调用对应的iProc

iTake:

对icl单元用iTake后,该单元不能被iWrite;除非在对该单元iRelease

iRelease:

iRelease可以释放iTake设置的icl单元。在释放后,iWrite等命令可以作用该单元

iMerge:

并行运行iCall内部的命令,如果遇到conflict部分,会串行执行。

iReset:

ICL网络在reset状态,TAP FSM在RunTestIdle state

iApply:

执行PDL命令

分享更多内容关注WX公众号:IC蓝皮匠

原创链接:https://mp.weixin.qq.com/s/jsLMOwB3K2N4WHEJIcb2Yg

<think>嗯,用户想了解Tessent IJTAG Flow的使用方法和配置。首先,我需要回忆一下Tessent IJTAG的相关知识。根据提供的引用资料,特别是引用[1]到[5],里面提到了ICL、PDL、测试流程、工具命令等。 首先,用户可能需要知道整个流程的基本步骤。引用[4]提到了ICL代码的结构,比如定义仪器的输入输出端口,而引用[5]则说明如何生成ICL文件,使用extract_icl或write_icl命令。这部分应该作为流程的第一步,即建立ICL模型。 接下来是PDL的编写,引用[2]提到PDL retarget流程是通过PDL命令控制IJTAG网络,包括TDR和SIB的状态。所以第二步应该是编写PDL来描述测试操作,比如配置扫描链,控制测试模式。 然后是网络集成,引用[3]和[4]提到硬件规则和连接性检查,需要确保各个模块正确连接,符合IEEE 1687标准。这里需要用户运行DRC检查,保证设计的正确性。 接下来是测试向量生成,引用[2]提到生成pattern,这可能涉及工具自动生成测试向量。用户需要配置工具参数,比如时钟频率、测试模式等,然后生成测试文件。 最后是执行和调试,引用[1]提到Tessent IJTAG支持多种测试模式,用户需要运行测试并分析结果,必要时进行调试。优化部分可以引用[1]中的高效测试覆盖和工具更新,建议用户利用最新功能和优化算法。 可能用户还想知道如何开始使用,比如工具的基本命令,或者常见问题。例如,如何生成ICL文件,如何处理DRC错误,如何优化测试覆盖率等。需要确保回答结构清晰,分步骤说明,并引用相关的资料来支持每个步骤的正确性。 还要注意用户的问题是关于usage和configuration,所以需要详细说明配置流程,可能包括命令示例或配置文件的编写。比如引用[5]中的extract_icl命令,可以具体说明如何使用这个命令生成ICL模型。同时,引用[4]中的ICL代码示例,可以展示一个具体的例子,帮助用户理解。 另外,用户可能对PDL的编写不太熟悉,需要解释PDL的作用和基本语法,如如何控制SIB和TDR。引用[2]提到PDL命令用于控制网络,可能需要给出一个简单的PDL代码片段,说明如何切换测试模式或配置扫描链。 最后,相关问题的部分需要考虑用户可能进一步的问题,比如DRC检查失败怎么办,如何优化测试时间,或者如何集成到芯片设计中。这些问题需要基于引用中的信息,如引用[3]的硬件规则,引用[1]的测试算法优化,以及引用[5]的ICL生成方法。</think>### Tessent IJTAG Flow 使用方法与配置指南 Tessent IJTAG 是基于 IEEE 1687 标准的测试与调试解决方案,主要用于集成电路的测试访问架构设计与执行。以下是其核心流程与配置方法: --- #### **1. ICL(Instrument Connectivity Language)建模** - **功能**:定义测试仪器的硬件接口与控制逻辑,包括端口方向(如输入`input`、输出`output`)、语义(如移位使能`se`、测试时钟`tck`)及时序要求[^4]。 - **实现方法**: 使用 Tessent 工具中的 `extract_icl` 或 `write_icl` 命令自动生成 ICL 模型[^5]。 ```tcl # 示例:生成 ICL 模型 extract_icl -design_top <module_name> -output <icl_file> ``` --- #### **2. PDL(Procedural Description Language)编写** - **功能**:描述测试操作流程,通过命令控制 IJTAG 网络中的 SIB(Segment Insertion Bit)和 TDR(Test Data Register)状态,实现测试模式切换与数据重定向[^2]。 - **关键操作**: - 配置扫描链路径(如启用/禁用特定模块的测试访问)。 - 生成测试向量(Pattern)以驱动测试逻辑。 ```pdl // 示例:PDL 控制 SIB 状态 procedure enable_memory_bist { set sib_chain = {sib1, sib2}; shift sib_chain 0x1; // 打开 SIB 链 } ``` --- #### **3. IJTAG 网络集成与验证** - **硬件规则检查**:确保端口连接符合 IEEE 1687 标准,例如扫描输入端口(`si`)必须由其他仪器的扫描输出(`so`)驱动[^3][^4]。 - **流程**: 1. 使用 Tessent 工具进行设计规则检查(DRC)。 2. 验证网络连接性与时序约束。 --- #### **4. 测试向量生成与执行** - **生成测试向量**:通过 PDL 命令自动生成测试 Pattern,用于生产测试或调试[^2]。 - **配置参数**: - 测试时钟频率(`tck` 周期)。 - 扫描链长度与分段策略。 --- #### **5. 调试与优化** - **调试方法**:通过 Tessent 工具的可视化界面追踪信号路径,分析测试覆盖率。 - **优化方向**: - 使用边界扫描(Boundary Scan)减少物理探针依赖[^1]。 - 采用内建自测试(BIST)提高测试效率[^1]。 --- ### 典型应用场景 - **芯片生产测试**:通过边界扫描链检测制造缺陷[^1]。 - **现场调试**:动态配置 IJTAG 网络,定位功能故障[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值