一种基于JTAG的SOC测试电路设计及实现.docx
- 文档编号:3971517
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:8
- 大小:170.30KB
一种基于JTAG的SOC测试电路设计及实现.docx
《一种基于JTAG的SOC测试电路设计及实现.docx》由会员分享,可在线阅读,更多相关《一种基于JTAG的SOC测试电路设计及实现.docx(8页珍藏版)》请在冰豆网上搜索。
一种基于JTAG的SOC测试电路设计及实现
26卷 第1期2009年1月
微电子学与计算机
MICROELECTRONICS&COMPUTER
Vol.26 No.1January2009
收稿日期:
2008-03-07
基金项目:
国家“八六三”计划项目(2006AA01Z415
一种基于JTAG的SOC测试电路设计及实现
郑晓光,白国强
(清华大学微电子学研究所清华信息技术国家实验室(筹,北京摘 要:
提出了一种基于JTAG的新的测试电路设计思路.JTAG通信协议向SOC芯片中下载自定义的测试指令,并读回测试的最终结果.试,测试过程可灵活配置,关键词:
JTAG;TAP;SOC;测试;可复用中图分类号:
TN407:
A文章编号:
1000-7180(200901-0187-03
ADesignandImplementBasedonJTAG
ZHENGXiao2guang,BAIGuo2qiang
(InstituteofMicroelectronicsofTsinghuaUniversity,Beijing100084,China
Abstract:
Inthispaper,anewtestmethodwaspresented.ThismethodwasbasedonJTAGprotocol.TheJTAGin2structionswereextendedandtheextendedtestinstructionscanbedownloadtoSOCthroughJTAG.ThetestresultscanbealsofeedbackthroughJTAG.TheIPandmemoryinSOCdesigncanbewelltested.Thetestprocesscanbeconfiguredflexibly,andtheproblemoccurredintestcanbefixedrapidly.Keywords:
JTAG;TAP;SOC;test;reusableIP
1 引言
联合测试行动组(
JointTestActionGroup,JTAG开发的IEEE1149.1是IEEE的一个测试方面的标准.
文中利用一个SOC设计的实例,介绍了如何应用JTAG测试接口对芯片内部的各个复用的IP及自行设计的模块进行测试.文中的测试方案利用很少的测试管脚,对芯片内的CPU、存储器、加密协处理器都进行了完整的功能测试.因为只利用5个测试管脚即可完成所有测试,本文设计的电路通过编写简单的驱动程序,可以利用PC机的并口对芯片进行绝大部分模块的测试[124].
文中介绍的SOC测试方法还具有很好的可复用性,经过简单移植,可复用于其他SOC设计中,这在很大程度上提高了测试设计的效率.
2 JTAG标准简介
开发JTAG标准的主要用途是为了对PCB板
上的芯片进行芯片功能测试和与其他芯片的互连接性测试.
JTAG测试逻辑结构中应包括四部分:
(1测试访问口(TestAccessPort,TAP;(2TAP控制器;(3指令寄存器;(4一组测试数据寄存器.图1是JTAG测试逻辑的示意图.
测试访问口包括4个必选信号:
TCK(测试时钟、TMS(测试模式选择、TDI(测试数据输入和TDO(测试数据输出.另外,测试访问口还包括一个可选信号TRST(测试复位.
TAP控制器实现了一个具有16状态的状态机,由TMS信号控制状态机的状态转移.IR(指令寄存器和DR(数据寄存器都分别由移位级和锁存级两级构成.TAP状态机可以分别选中IR或DR
图1 JTAG测试逻辑示意图
进行操作.在
Capture状态下,IR(或DR存器的内容被捕获到移位级.在,(级,信号串行移出.状态,直到所需的数据被移入或移出移位级.在Update状态下,Shift状态下串行移入移位级的内容被一次性更新到锁存级.移位级与外部通信,锁存级产生芯片内部逻辑所需的控制或时序信号.通过控制TAP状态机在几个状态间转换,就可以对芯片内部的模块进行测试.
3 SOC设计实例
文中使用的SOC设计实例是一款应用于高安全性领域的加密芯片.加密芯片中包含了8051CPU、存储器、通信接口、若干连接在SFR总线上的外设.其中,存储器由1块32KB的OTPROM(OneTimeProgrammableROM、1块32KB的EEP2ROM、2块共10KB的RAM构成.通信接口为符合ISO7816协议的智能卡串行通信接口.外设包括真
随机数、存储器管理单元(MMU以及多个加密协处理器模块(3DES、SHA21、RSA、ECC.其中,CPU、3DES是直接复用的成熟IP.图2是SOC芯片的结构图.
图2 SOC芯片结构图
4 测试方案
在SOC设计实例中,包含了多个数字模块和多个存储器,数字模块中,还有复用的IP.可测性设计包括结构性测试和功能测试.结构性测试即通常说的DFT,可以通过EDA工具进行全扫描链的插入及测试向量的生成,EDA的帮助文档,,,所以除了SOC电路的功
.对图2应包含的功能测试项有:
EEPROM的测试、RAM的测试、3DES/RSA/ECC/SHA-1等加密协处理器的加解密测试、TRNG测试、ISO7816通信接口测试.另外,由于OTPROM
是仅可一次编程的器件,而且OTP中存放的是对最终产品有用的COS,需要通过测试电路对OTPROM进行COS的下载及读出校验.这是测试电路除测试功能外承担的又一个很重要的功能.
理论上,在需要测试的模块端口上分别插入DR扫描链(即JTAG电路中的数据寄存器,将所有DR并联接入JTAG电路中,即可通过JTAG协议将每个模块的测试激励输入,运行该模块,将结果“Capture”到扫描链中,并通过JTAG接口输出到芯片外部,这样就可对不同的模块分别进行测试.可是对测试项的分析可以看出,测试项很多,逐个插入DR扫描链会使测试电路非常复杂.
对各个功能测试项进行分析可以发现,所有存储器都可以通过MEM总线进行访问,所有外设(包括MMU、TRNG、所有加密协处理器、ISO7816串口都可以通过SFR总线进行访问.MEM总线和SFR总线上分别包括对存储器和SFR的地址信号、
数据信号以及读写控制信号.所以,只要把MEM总线和SFR总线上分别插入DR,即可对上述所有的测试项进行测试.因为在大规模量产时需要对每个芯片的OTPROM进行COS的下载及读出校验,考虑到测试时间的成本,增加一条DR直接针对OTPROM进行操作,而不用通过MEM总线,这样可以加快COS下载及校验的效率.所以,该测试电路方案共需要增加三个JTAG测试指令及三条DR.
此外,加入测试电路后不能影响原有电路的功能,因此JTAG指令上电复位值应为Bypass指令,此时所有的模块连接关系与图2所示相同,为正常
8
81微电子学与计算机2009年
工作模式.当需要对某测试项进行测试时,需要先设置JTAG的IR为相应的测试指令,JTAG电路选通对应的DR,同时,被测试的模块与系统断开,接受来自JTAG扫描链输入的激励,运行后,DR将模块输出的结果通过JTAG接口送出芯片.这样就实现了不同模块的可隔离性、可控制性和可观察性.
基于上述测试方案实现的测试电路,
除了可以利用ATE(AutomationTestEquipmen,自动测试机对整个芯片进行测试,还可以利用PC的并口进行测试.通过编写简单的驱动程序,PC并口可通过JTAG通信协议向SOC指令,并读回测试的最终结果.图3对SOC图3 利用并口测试SOC芯片
利用PC进行测试还有一个好处:
当如此复杂的SOC芯片首次投片测试时,问题一般会比较多,
通常ATE的资源又比较紧张,用PC进行测试可以方便初次测试时对出现的问题进行详细的调试分析,直至将问题最终定位[5].
5 测试设计的实现
文中提出的测试方案只增加了5个测试管脚和
少量测试电路逻辑,即可实现基于IP复用的SOC芯片的测试,达到很高的功能覆盖率.该测试方案已经在实际芯片中进行了Verilog代码实现,实现了4条JTAG指令,包括3条测试指令和1条Bypass指令.对存储器(EEPROM、OTP、RAM测试、COS程序下载、加密协处理器测试都进行了仿真验证,功能正确.整个SOC设计还在实际的FPGA板和芯片中分别进行了验证.FPGA中的OTPROM用RAM来模拟实现,利用测试电路提供的COS下载功能,可以方便COS的开发与调试.如果没有测试电路提供的COS下载功能,每次COS修改都需要重新生成FPGA配置文件
并反复进行FPGA烧写,整个过程需要约1小时.而使用测试电路的下载功能,仅需几秒钟即可实现COS下载,这是在利用FPGA开
发COS时JTAG的又一应用.
通过PC的并口驱动5个测试管脚,提供JTAG协议需要的时序,实现了对芯片的测试.并口驱动程序用C++语言实现.在WindowsXP环境下,需要先安装port95nt驱动程序,利用动态链接库DLPor2tIO.dll提供的外部函数接口来操作PC并口.
表1以RAM,给出测试流程,.
表写读RAM
为MEM测试模式
设置IR为MEM测试模式
②DRCapture状态DRCapture状态③DRShift状态设置DR写RAM
DRShift状态设置DR读RAM
④DRUpdate状态完成写RAM操作
DRUpdate状态更新读操作到锁存级⑤—DRCapture状态捕获RAM数据
⑥—DRShift状态输出RAM数据
⑦
—
DRUpdate状态完成读操作
写RAM流程中,步骤③将要写入的RAM地址、数据、有效的写信号设置到DR中,步骤④将RAM地址、数据和有效的写信号更新到锁存级并运
行,即可完成写RAM操作.
读RAM流程中,由表1可知,读RAM操作要比写RAM操作多一轮DR操作.对各模块进行测试,部分测试项的测试时间如表2所示.
表2 测试时间测试项
消耗时间
10KBRAM逐地址读/写测试
<10s3DES协处理器测试<2sRSA256位加/解密运算测试1sECC加/解密运算测试8sSHA21加/解密运算测试
<1s
因为PC的并口速度很慢,加上驱动程序软件
的开销,并口提供的TCK时钟频率最快只能达到100多Kbps.如果用专门的ATE,可以用高至5M的速度进行测试,测试时间还会大大缩短.
6 结束语
文中利用JTAG协议及扩展的自定义测试指
(下转第192页
9
81 第1期郑晓光,等:
一种基于JTAG的SOC测试电路设计及实现
同过滤防治机制,仿真实验证明,该方法可以有效地发挥作用,防止受污染文件传播.
参考文献:
[1]ChristinN,WeigendAS,ChuangJ.Contentavailability,pollutionandpoisoninginpeertopeerfilesharingnetworks[C]//ProceedingsofACME-CommerceConference.USA:
Califarnia,2005:
68-77.
[2]LiangJ,KumarR,XiY,etal.PollutioninP2Pfileshar2ingsystems[C]//ProceedingsofINFOCOM’05.USA:
Brooklyn,2005:
1174-1185.
[3]WalshK,SirerEG.FightingpeertopeerSPAMandcoyswithobjectreputation[C]//
SIGCOMM’05Workshops.:
:
138-143.
[4]LeeU,ChoiM,etUnderstandingpollution
dynamicsinP2Pfilesharing[C]//ProceedingsofIPTPS’06.LosAngeles,2006.
[5]LiangJ,NaoumovN,RossKW.Theindexpoisoningat2tackinP2Pfile-sharingsystems[C]//ProceedingsofIN2FOCOM’06.Spair:
Barcelona,2006.
[6]黄光球,靳峰,彭绪友.基于兴趣度的协同过滤商品推荐系统模型[J].微电子学与计算机,2005,22(3:
5-8.[7]姜群,王越.[J].微电子学,2007,24(11
[8].[J].,23(8:
147-149.
:
王新程 男,(1973-,硕士,讲师.研究方向为网络、远程教育.
杨蓉蓉 女,(1977-,讲师.研究方向为网络、电子商务.
(上接第189页
令,实现了基于IP复用的SOC设计的测试.测试电路简单,硬件代价小,且对功能测试达到很好地覆盖,测试时间满足产品测试的需要.由于JTAG协议的通用性及可扩展性,除了测试,文中提出的方案还可以实现在FPGA上调试COS,对实际芯片的COS下载等功能.文中提出的测试方案及其代码实现具有良好的可移植性,对SOC设计具有普遍的参考价值.
参考文献:
[1]KosonockySV,BrightA,WarrenK,etal.Designingatestablesystemonachip[J].VLSITestSymposium,16th
IEEE,1998:
2-7.
[2]陆正毅,孙承绶,程君侠.全兼容IEEE1149.1的MIPSCPUCORE可测性设计[J].微电子学与计算机,2004,21(7:
6-9.
[3]曾平英,李兆麟,毛志刚.ASIC可测试性设计技术[J].微电子学,1999,29(3:
149-153.
[4]梁宇,韩奇,魏同立.SOC的可测性设计[J].固体电子学研究与进展,2001,21(3:
246-252.
[5]刘洋,吴王华,周晓方,等.一种基于J
TAG的软硬件协同SOC调试接口[J].微电子学与计算机,2007,24(11:
34-37.
作者简介:
郑晓光 男,(1978-,硕士.研究方向为SOC可测性设计.291微电子学与计算机2009年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 JTAG SOC 测试 电路设计 实现