你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
IP软核的测试技术研究
 

  :随着超大规模集成电路技术的不断发展,集成电路的集成度不断增加,片上系统(SOC)的规模越来越大,片上系统的设计就变得越来越复杂。开发IP核成为soc的重要设计手段。同时,IP核的测试也对科研人员提出了新的挑战。本文重点描述了IP的测试技术,证明了文献[1]中给出的伪穷举法。并以可编程8255并行I/O接口芯片为例说明了使用伪穷举法进行了IP核校验的方法。

关键词IP软核;VHDLIP核测试;8255;伪穷举法

 

一、引言

随着超大规模集成电路(VLSI)工艺的进展,集成电路的集成度不断增加,片上系统(SOC)的规模也越来越大,为了加快产品的研发进度,基于芯核的设计已成为EDA发展的必然趋势。然而,随着系统复杂度的提高,如何提高IP的可复用性,并且进行有效的测试成为设计人员必须面对的问题。 

IP是知识产权模块的简称,通常分为三类:即硬核、软核和固核。硬核已经完成了全部的前端和后端设计,制造工艺也已经确定,逻辑电路、布局和工艺不能更改。软核是指包括逻辑描述(RTL和门级硬件描述语言代码)、网表和不能物理实现的用于测试的文档。固核是一种介于软核和硬核之间的IP。固核既不是独立的,也不是固定的,它可以根据用户的要求进行修改。

随着EDA技术的发展,设计人员已经能写出越来越复杂的IP核,但是目前对IP核的验证往往停留在简单的波形防真上,缺乏一个完善的测试方法体系。在对IP核进行测试的过程中, 最为重要的步骤是写出一个有效的测试集。 检测硬核或者固核的时候,因为核的电路逻辑结构和版图都是知道的,所以可以使用EDA工具产生逻辑层面上的测试集,但是软核一般是使用硬件描述语言描述的,目前EDA工具还不能自动生成功能层面上的测试集。穷举法能有效的发现功能上面的设计缺陷,但是穷举法的计算量太大,很难应用到复杂IP核的测试中。“伪穷举法”最早是用在逻辑层面上的有效测试方法,下文中介绍伪穷举法在功能层面上的应用。

1IP软核的伪穷举测试法

作为一个商用IP核,必须对其进行系统的测试。穷举法有简单且功能强大的特点,但是对于有n个输入的电路系统可能有2n种可能的输入组合,如果要使用穷举法对复杂IP核进行测试是不可能的。伪穷举法的思路是将输入分成功能子块,对每个功能子块的输入包括两部分:外界的输入和其他子块的输入。将这两种输入看作功能子块的输入,使用穷举法进行测试,对其他的子块的输入取常数(一般是取0)。下面给出伪穷举法的证明,作为对文献[1]的补充。

定理: 当一个电路被切分成若干功能子块, 并且子块间在一种输入方式下,只存在单向的连接,那么用伪穷举法可以测试出所有的错误.

证明:使用归纳法证明:

当电路被分成一块,那么块与块间的连接是0,这个时候伪穷举法就是穷举法,可以测试出所有的错误。

a 当电路被分成两块,并且块与块间的连接为0的时候,这个时候对两个子块分别进行穷举法测试,可以发现子块所有的错误。并且因为子块之间没有联系,所以不存在连接错误,这样伪穷举法能够发现整个电路所有的错误。

 

b 当块与块间的连接为c的时候,不妨假设分成的两块是AB,并且连接c是从A输出到B。那么对A使用穷举法可以测试出A所有的错误。对于B,他的测试输入是B的外围输入Bic。测试向量记为B(c, Bi)。对B使用穷举法也能检测出B所有的错误。

下面证明能够测试出所有的连接错误。我们使用反证法,假设有且仅有连接错误α不能被发现, 也就是说对于AB都分别进行了穷举测试,并且没有错误。但是对于整个电路,存在输入(Ai, Bi)会产生错误。那么,根据伪穷举法的定义,对于功能子块A,输入Ai产生的输出(Aoi, c)是正确的。对与B,输入(c, Bi)输出也是正确的,那么输入(Ai, Bi)也同样是正确的,这样也就是说α不存在,同假设矛盾。

所以分成两块可以检测出所有的错误。

由归纳法,分成任意块都能检测出系统的错误。

证毕。

为了降低测试的数目,测试子块的划分应该遵循如下准则:

1、对于子块i,测试的输入为np + nc其中np是子块i原来就有的输入,nc是其他与i相关的模块产生的测试输入。因为nc要作耦合部分会被反覆测试。所以必须减少nc从而减少测试总的测试数目。同时减少nc也能减少系统的复杂程度,在手工测试中减少问题的发生。

2、不能将子块分得太细。因为分得细虽然可以减少np,但是有可能增加nc

实际上,对IP软核进行测试,子块必须根据硬件描述语言(HDL),所以在使用HDL进行描述的时候,必须减少模块之间的耦合,从而方便使用伪穷举法进行测试。

如果块与块之间没有联系的话,还可以进行并行测试,减少测试的总次数。比如8位串行加法器,可以把每个一位加法器Fi作为一个功能子块。当奇数位的输入全部是0,那么偶数位的进位就被奇数位屏蔽掉,这样偶数位之间就没有联系。所以可以分别对奇数位和偶数位进行并行测试。

下面结合笔者设计的8255IP核介绍一下伪穷举测试集方法的应用。

28255并行通信芯片

8255并行通信芯片IP软核是配合Intel位处理器而设计的通用可编程I/O接口器件,它能把外围设备连到微型计算机总线上。它由由数据总线缓冲器、读写控制逻辑、A组和B组两组控制电路、数据端口等组成。图18255的内部结构框图和引脚图

             

1  8255的内部结构及引脚

8255共有三种操作模式:基本的输入/输出(方式0)、应答式输入/输出(方式1)和应答式双向输入/输出(方式2)。不同的工作方式有不同的功能及特点,如表1所示。

1  8255三个数据口

工作方式

A

B

C

 

0

基本输入输出

输出锁存

输入三态

基本输入输出

输出锁存

输入三态

基本输入输出

输出锁存

输入三态

1

应答式输入输出

输入输出均锁存

应答式输入输出

输入输出均锁存

作为A口和B口的控制位及状态位

2

应答式双向输入输出

输入输出均锁存

方式0或方式1

作为A口的控制或基本输入/输出

2  8255端口及选择寄存器的控制信号

A1

A2

操作

0

0

0

1

0

A口→数据总线

0

1

0

1

0

B口→数据总线

1

0

0

1

0

C口→数据总线

0

0

1

0

0

数据总线→A

0

1

1

0

0

数据总线→B

1

0

1

0

0

数据总线→C

1

1

1

0

0

数据总线→控制寄存器

×

×

×

×

1

数据总线为三态

1

1

0

1

0

非法条件

×

×

1

1

0

数据总线为三态

8255的控制信号有:

(片选信号):芯片选中信号,低电平有效,允许8255CPU交换信息。

(读信号):低电平有效。此时允许CPU8255端口中读取据或外设状态信息。

(写信号):低电平有效。此时允许CPU将数据、控制字写入8255中。

A0A1(端口选择信号):一般与地址线A0A1相连。他们与 信号相配合用来选择端口及内部控制寄存器,并控制信号传送的方向。

3、伪穷举法测试举例

在这个系统中,根据VHDL描述,输入被分成5个子块,分别是:控制信号模块、A口模块、B口模块、C口模块和数据口子块,对于每个子块nc=0。他们的测试向量记为为 Fi, Ai, Bi, Ci , Di。向量中每个元素∈{01}。

对于Fi来说,它包含A1 A2 5个输入,记为FiA1A2 ),输出为控制信号输出,测试的目标方程的映射关系ζ(Fi, Ai, Bi, Ci , Di)参见表2。在测试时,穷举出Fi向量空间所有的值,做为输入。对于每个输入Fi,检查是否满足ζ(Fi, Ai, Bi, Ci , Di)。

同理对于Ai的测试,他的输入包括控制输入和数据输入, 然后所有输入进行穷举,检查Di的数据输出。Bi, Ci , Di依次类推进行测试。

这样,在保证测试集的完备的情况下,测试的复杂度由Ω(240)下降到Ω(28),大幅度的减少测试数目,也避免了由于测试数目过大而导致的重复测试和测试遗漏的问题。

二、结束语

IP软核由VHDL硬件描述语言写成,可读性好,容易按用户条件修改,但是EDA软件无法提供系统的测试方法。文中证明了伪穷举法的正确性。并且根据伪穷举法测试分块的原则,强调了在IP软核设计的过程中就应该减少模块间的耦合,增强可测试性。使用伪穷举法可以有效地进行IP软核的测试。尤其是使用了并行测试后,可以大大提高测试的效率。伪穷举法可以应用于测试IP核,尤其是HDL描述的软核。

参考文献

[1] R.Tang, P. E. Si, W. k. Huang and F. Lombardi. Testing IP Core with Pseudo Exhaustive Test Sets. ASIC, 2001. Proceedings. 4th International Conference on , 2001 Page(s): 740 -743

[2] I.Ghosh and S.Dey , “ A Fast and Low Cost Testing Technique for Core-Based Sytem-on-Chip,” IEEE Trans. On CAD of ICAS, Vol.19,2000,pp.863-877

[3] 曾繁泰.VHDL程序设计.北京:清华大学出版社,2001278~284

[4] 徐惠民.数字逻辑设计与VHDL描述.北京:机械工业出版社,20021~10

 

 

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089