描述如何使用SBST(software based self test)方法测试数字信号处理器,有软件框图和任务流程DSP( Digital Signal Processor)处理器具有浮点运算能力强,运算速度快,精度高的特点,可以实时快速地实现各种数字信号处理算法,已经被广泛应用于声学信号处理,无线通信、图形/图像识别等领域。为了确保DSP能够可靠工作,必须对其进行行之有效的测试。然而,随着集成电路的制造工艺和设计技术的不断进步,DSP的速度和集成度也在不断提高。这给其测试工作带来了新的挑战。TMS320c6678点击查看源网页High-PerformanceMulticore DSP点击查看源网TEXASINSTRUMENTS传统的测试方法wNs2o点击查看源网页·ATE测试运用硬件外部的自动测试设备对处理器进行测试,可以达到较高的故障覆盖率设备昂贵,无法对数字信号处理系统中的DSP进行在线实时测试传统的测试方法BST方法待测系统测试向量生成模块测试过程中,测试激励的生成和测试响应的接收和压缩都是由数字系统内部的相应测试结果电路实现的,对应芯片的测待测模块控制器试过程结束后,芯片故障与模式选择否的测试结果信号也由系统内部生成测试结果收集和压缩模块额外硬件开销SBST方法9085:5500 a0emuenxxxdb"DEM0EHNX’,目950:558Ddw IshDSDg08:55Fdw 5S RSDg88g:5511g009:5511pusdsgg:5512pushadg8g:5514pushgsg:5515Pop软件自测方法( Software based se|f-g60:5516口USi4 550Dhg8:5519Test sbst)9505:5519 ChangeDEMIDSTART:q00:5519CHps1,5511h从5g8:551Dashort Change DEndg6:551F0uzx edid ptr [sil505=551Fg MOU不直接通过硬件电路产生测试激励向量,90091点击查看源网页EDI而是通过待测的处理器执行测试代码来095pushs工pushed工检测处理器中物理缺陷。g8:5526addedi- 18h指「g明g:552Ddword ptr [di]g:5534popedlg86:5536addedi- 5Ah指55Si. 5595h无需额外的硬件开销和昂责的外部测试5m5238COD设备,可实现被测处理器全速测试g5a:5540Ual, cs:[silg609:5543testa1,a1为gg8:5545short10c554D;达g600:5547U[dil, alg66:5549ncs工9909:554AAncd工g88:554BJmpshort loc 554sq6:554Dg:55Dq88:554D10c554D:GODq6:55DPopg669:554Eadddg:551即pshort Change UEMIDSTARg000:5553qg8:55539955:5553 Change DEMIDEnd:CODg609:5553Uedi 40 shgg89:5559addedi,24h;"$g:555Daddedi 13hg60:5561MOUbyte ptr [dil, 3Fh 3q69:5564popadq8:5566popdsg00:5567retfSBST方法概述根据测试向量的生成原理分为两类伪随机SBST方法:随机的的测试向量是由软件LFSR生成的。了解待测架构的基本知识即可。因此测试程序的开发只需要较少量的测试开发精力和成本。但是,由于这类方法是一种随机方法,在达到被测器件高故障覆盖率的情况下,需要较长的测试时间。结构化的SBST方法:这类SBST方法的测试程序针对不同的结构给出不同的测试向量生成算法,这要求开发者必须非常熟悉待测处理器的内部结构。这类SBST方法与伪随机SBST方法相比,目的性更强,效率更高,故障覆盖率也更为理想。DSP处理器的SBST测试待测DSP处理器的硬件结构划分:专用加法/乘法电通常的DSP处理器可以分为如下模路块:(1)功能计算模块,这类模块主要用于实现DSP的数据运算功能,包括算术逻辑运算单元(ALU)、独立的DSP处乘累加器(MAC)、除法器、移位器等等。(2)控制模块,此模块控制DSP內部理器存储器电流水线运指令的走向和数据的流动,主要包括行控制电路流水线主控制模块,循环/跳转控制路模块等(3)存储模块,如数据和指令存储器等。DSP处理器的SBST测试〉2.针对不同的模块,分析其测试的可控性和可观测性并编写相应的测试代码〉测试的可控性是指生成的测试向量是否可以到达被测模块的输入端口〉测试的可观测性是指被测模块执行测试向量后,其错误是否可以输出至该模块的输出端口。DSP处理器的SBST测试〉3.待测DSP硬件门级仿真模型的建立。〉为了验证测试代码的有效性,需要得到其在目标模块上的故障覆盖率。测试代码有效性的验证首先需要建立待测DSP的门级硬件模型。〉可以通过硬件描述语言如VHDL, Verilog等实现。