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

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值