基于ICL的可扩展性和灵活性可以抽取设计中的IEEE 1687结构

电子说

1.2w人已加入

描述

随着SoC芯片逐渐复杂化,其DFT(Design for Test)架构也由单层向多层网络发展。IEEE 1687是DFT多层网络结构的通用标准,其核心内容包括Heirachical Architecture,模块连接语言ICL(Instrument Connectivity Language)和过程描述语言PDL(Procedural Description Language)。

其中,ICL是一种硬件架构描述语言,用于描述设计中IEEE 1687的网络结构(又称IJTAG网络结构),即不同类型嵌入式模块之间的层级连接,使得硬件的可扩展性和访问的灵活性得到极大地加强。

一、ICL的组成

ICL是描述模块间连接的语言,它不包括设备内部具体操作的细节。因此可以概括地说,ICL是由Instruments 及其Connection描述组成的。

1、Instrument

ICL中的Instrument包含TAP、SIB、TDR及DFT IPs(EDT,OCC,MBIST…),它们是构成1687网络的关键节点,每一个Instrument都在Module中定义,如图定义的TDR。

SoC芯片

2、Connection

ICL中的Connection是对Instrument的Keywords 、Attribute、Scan_Cell、Interface以及PortsToPorts连接等的描述。

SoC芯片

如图是ICL描述的网络结构的部分示意图,SIB和TDR为Instruments,不同颜色的连线即ICL描述的Connection。以SIB_2为例,其ICL描述语言如下:

Instance sib_* Of sib_2 {

InputPort ijtag_reset   =  ijtag_reset;

  InputPort ijtag_sel = ijtag_sel;

  InputPort ijtag_si = sib1.ijtag_so;

  InputPort ijtag_ce = ijtag_ce;

  InputPort ijtag_se = ijtag_se;

  InputPort ijtag_ue = ijtag_ue;

  InputPort ijtag_tck = ijtag_tck;

  InputPort ijtag_from_so =  tdr.ijtag_so;

  Attribute tessent_design_instance = "sib_*";

}

二、ICL的Bottom Up

IEEE 1687的多层网络结构决定了ICL是以Bottom Up的方式逐步实现对Core层、Subsys层及Chip层的描述。

1、Core层的描述

Core层的ICL会对Modified Core内部的Module逐一按照如下步骤描述:

首先,ICL会整理出该Module的IJTAG网络端口及Interface,可能包括ClkPort、ToClkPort、SelectPort、CaptureEnPort、ShiftEnPort、ScanInPort、ScanOutPort、UpdataEnPort、DataOutPort等,并且会source这些端口的来源,描述它们的属性,比如Clock_Domain、Connection_Rule等;

接下来,ICL逐一将module内部实例化的DFT IP的Client/Host端口与其他实例连接,具体到端口对端口,形成DFT网络;

最后,Core内部Module的ICL集成得到整个Core的ICL。

2、Subsys层的描述及与Core层ICL的衔接

Subsys层ICL的描述步骤与Core一致。如果Subsys内含有上述已经存在ICL的Core,那么首先,该Subsys会将内部Core当成一个Box,抓取Core_Top层的IJTAG端口加入到Subsys层的描述,从而将Subsys层的IJTAG网络与Core层的IJTAG网络进行组合。

而后,Core内部的关于Module和Instance的ICL描述都会复述到Subsys的ICL中,使得Subsys与Core在ICL文件中形成一个完整的DFT网络。

SoC芯片

Chip层的描述及其与Subsys层的衔接

Chip层的ICL描述步骤与Subsys一致,对于内部已存在ICL的Module的处理方式也与Subsys一致。

将分层的ICL集成,会得到整个Chip的完整ICL网络。

三、总结

基于ICL的可扩展性和灵活性,它可以抽取设计中的IEEE 1687结构,方便用户从高层次的角度去配置相应的寄存器。ICL语言还可以帮助用户了解和配置复杂的IEEE 1687网络,解决了在配置寄存器时网络复杂、难以确定输入数据长度和值的问题。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分