ICL:Instrument Connectivity Language;PDL:Procedural Description Language。首先需要思考的是我们为什么需要ICL和PDL。在目前超大规模的集成电路中,测试控制逻辑也异常的复杂,尤其是使用1687协议以后,我们很难通过sysverilog或其他工具直接配置需要控制的信号,都需要大量的人工计算。那这种方式显然是很不友好的,我们希望有工具可以自动去计算并产生相应的配置sequence。这就需要一个更高level的语言描述,我们只需要指定哪里需要配置,工具就会自动生成原子层的sequence。因此ICL和PDL就应运而生,ICL描述了测试网络的硬件结构,如果是工具自己产生的测试控制逻辑,那也可以自动生成硬件网络ICL,当然也可以手动描述。而PDL就是面向工程师的高级语言,工程师只需要描述你要配置的寄存器即可从ICL中自动生成sequence。
ICL中的基本实体称为模块,和verilog中的module一致,ICL描述将由一个或多个模块组成,这些模块可能实例化在一个或多个文件中。模块可以在其他模块中实例化,位于层次结构根的模块称为顶层模块。
一个ICL基本结构一般包括两大类信息:1.Hierarchical 网络结构和interface;2.Paramters,aliases, enumerations, and attributes等补充性描述。
具体的例子如下所示
Module module_name {
Attribute att_name = att_value; //属性信息以便用户定义关于模块的其他