《JTAG测试介绍.ppt》由会员分享,可在线阅读,更多相关《JTAG测试介绍.ppt(54页珍藏版)》请在三一文库上搜索。
1、JTAG测试,糕缀溺糜牟唱施雷腰坚借染素乖樱靖螟殃腋搏粗抉括迅罚盯妆核赤萨涅赏JTAG测试介绍JTAG测试介绍,JTAG测试的两大优点:,1、方便芯片的故障定位,迅速准确地测试两个芯片管脚的连接是否可靠,提高测试检验效率。 2、具有J TAG接口的芯片,内置一些预先定义好的功能模式,通过边界扫描通道来使芯片处于某个特定的功能模式,以提高系统控制的灵活性和方便系统设计。,叙孺管套圆氰跨淤锡掘衣航似瞬森潜蒸弊陋霸假畴任擦稀队情人墙拆昭贞JTAG测试介绍JTAG测试介绍,边界扫描,边界扫描技术的基本思想是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周
2、围),所以被称为边界扫描寄存器(Boundary-Scan Register Cell)。 边界扫描寄存器提供了一个便捷的方式用以观测和控制所需要调试的芯片。,贰翘闻躲捌敏谊锈周渝滁躯逾额寂术回逢伶函棱擞蔡戈叼卷磊境累匹估寇JTAG测试介绍JTAG测试介绍,JTAG测试原理,边界扫描测试是通过边界扫描单元以及一些附 加的测试控制逻辑实现的。 当芯片处于调试状态的时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。 在正常的运行状态下,这些边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。,乔研炭缔阻殴和
3、瞬搅垒支前回庄悲褥示复试商已崎孤斧闰馁椿岩羞宫禁阮JTAG测试介绍JTAG测试介绍,每个I/ O 管脚都有一个BSC ,每个BSC 有两个数据通道:一个是测试数据通道,测试数据输入TDI ( test data input ) 、测试数据输出TDO (test data output) ;另一个是正常数据通道,正常数据输入NDI ( normal data input ) 、正常数据出NDO (normal data output) 。如图1 所示。,告蛆合烹贴问娘征矿疟伞四冕傀佳钓渝葡喂熏戒颖呐包途退浪烦钡伦秤贸JTAG测试介绍JTAG测试介绍,在正常工作状态,输入和输出数据可以自由通过每个
4、BSC ,正常工作数据从NDI 进,从NDO 出。在测试状态,可以选择数据流动的通道:对于输入的IC管脚,可以选择从NDI 或从TDI 输入数据;对于输出的IC 管脚,可以选择从BSC 输出数据至NDO ,也可以选择从BSC输出数据至TDO。,序烹菏冬鄙养囱药嗜骸吾盟琶猎瞎膘贯巨训袒第俐雀骋矫赃和连京辊棕借JTAG测试介绍JTAG测试介绍,另外,芯片输入输出管脚上的边界扫描寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链(Boundary-Scan Chain)。一般的芯片都会提供几条独立的边界扫描链,用来实现完整的测试功能。边界扫描链可以串行的输入和输出,通过相应的时钟信号和控制信
5、号,就可以方便的观察和控制处在调试状态下的芯片。,藤腔牵憾炬狡沪尤妹颂瘪锣羹宽洞乍姬刑银斧黔玲稽月彤岂树球跌沧侍舶JTAG测试介绍JTAG测试介绍,图2 所示是边界扫描测试应用的示意图。为了测试两个J TAG 设备的连接,首先将J TAG 设备1某个输出测试脚的BSC 置为高或低电平,输出至NDO ,然后,让J TAG设备2 的输入测试脚来捕获(capture)从管脚输入的NDI 值,再通过测试数据通道将捕获到的数据输出至TDO ,对比测试结果,即可快速准确的判断这两脚是否连接可靠,浚巳洞核听野合鸭击飞韭砰悍荤组灰晦秦妻经刺只裙殷葫权栗坤闽恩招迈JTAG测试介绍JTAG测试介绍,JTAG电路结
6、构,JTAG控制器的电路结构如图3 所示。 J TAG控制器主要由三个部分组成: 测试端口( TAP ,test access port) 控制器 指令寄存器(包括指令译码器) 数据寄存器,死屹愿蛙痞减栏丁厩茫复磁拐摧盟岗爪呛抗症更穆蒲啥委乓笆宋刮玖旦但JTAG测试介绍JTAG测试介绍,JTAG电路结构,(1) TAP 控制器是边界扫描测试核心控制器。TAP 有以下5个控制信号: TCK: TCK 为TAP 的操作提供了一个独立的、基本的时钟信号,TAP 的所有操作都是通过这个时钟信号来驱动的。TCK 在IEEE 1149.1 标准里是强制要求的。 TMS : TMS 信号用来控制TAP 状态
7、机的转换。通过TMS 信号,可以控制TAP 在不同的状态间相互转换。TMS 信号在TCK 的上升沿有效。TMS 在IEEE 1149.1 标准里是强制要求的 。 TDI : TDI 是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI 接口一位一位串行输入的(由TCK 驱动)。TDI 在IEEE 1149.1 标准里是强制要求的。 TDO 是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO 接口一位一位串行输出的(由TCK 驱动)。TDO 在IEEE 1149.1 标准里是强制要求的。 TRST: TRST可以用来对TAP Controller 进行复位(初始化)。不过这
8、个信号接口在IEEE 1149.1标准里是可选的,并不是强制要求的。因为通过TMS 也可以对TAP 进行复位(初始化)。,肤蜒氏趴排你匆像浆引眩腾嘉涪嗜俩妊阀宴笋瓦跳易愉惹午楚警抖繁貉诗JTAG测试介绍JTAG测试介绍,(2) 指令寄存器: 若执行数据寄存器边界扫描测试,则指令寄存器负责提供地址和控制信号去选择某个特定的数据寄存器;也可以通过指令寄存器执行边界扫描测试,这时,TAP 输出的SEL ECT 信号选择指令寄存器的输出去驱动TDO。 (3) 数据寄存器:边界扫描链属于数据寄存器中很重要一种。规定,必须具有的两个数据寄存器是边界扫描寄存器(boundary scan register)
9、 、旁通(bypass) 寄存器。其它的寄存器是任选的。由指令寄存器选择某个特定的数据寄存器作为边界扫描测试寄存器,当一个扫描路径选定后,其它的路径处于高阻态。 边界扫描寄存器是由围绕IC 管脚的一系列的BSC 组成的,正是由它来实现测试管脚信号的输入、输出; 旁通寄存器只由一个扫描寄存器位组成,当选择了旁通寄存器, TDI 和TDO 之间只有一位寄存器,实际上没有执行边界扫描测试。 旁通寄存器的作用是为了缩短扫描路径而对不需要进行测试的IC 进行旁通。,忆粤属全镣卸随墟则永脏怯惊宾咱椰亚鸟羌乞攀秤忍舷授粱缝副茨子雁缝JTAG测试介绍JTAG测试介绍,JTAG 电路结构图,泄车谷圃吨吁狸糠尝常
10、骚琅蛮靳役卢郴樱逾淳牵栓扁侣蓬密浚逆雁谓驰嗽JTAG测试介绍JTAG测试介绍,如上所述,TAP 控制器是边界扫描测试在TCK和TMS 的控制下,可以选择使用指令寄存器扫描或数据寄存器扫描,以及控制边界扫描测试的各个状态。TMS 和TDI是在TCK 的上跳沿被采样, TDO 是在TCK 的下降沿变化。,茹炕果弟迹咸铅怎颊辜纷预缚投肌别够憎惭衡秒装扮千篓夯迈趣厦出滚冀JTAG测试介绍JTAG测试介绍,TAP 控制器的状态机,接下来,我们再了解下TAP控制器状态机:,撮协勇脚澡邻坷介谬郡殿庭委凡枕裹蒋趾依虏毛哇泅拘君歇篙阑遍剧栋俩JTAG测试介绍JTAG测试介绍,图4 所示,TAP 控制器的状态机只
11、有6 个稳定状态:测试逻辑复位( test-logic-reset ) 、测试/ 等待(run-test/idle) 、数据寄存器移位( shift-DR) 、数据寄存器移位暂停(pause-DR) 、指令寄存器移位( shift-IR) 、指令寄存器移位暂停(pause-IR) 。其它状态都不是稳态,而只是暂态. 在上电或IC 的正常运行时,必须使TMS 在最少持续5个TCK 保持为高电平,则TAP 进入测试逻辑复位态。这时,TAP 发出复位信号使所有的测试逻辑不影响元件的正常运行。若需要进行边界扫描测试,可以在TMS 与TCK 的配合控制下,退出复位,进入边界扫描测试需要的各个状态。,谤附
12、怠央荚衅如疤瓦畏玩苛属点亮抡绵锭幕账固昨炒沥桔吨胆乒企煞噎菌JTAG测试介绍JTAG测试介绍,对于我们需要进行IC 元件测试的设计人员来说,只要根据TAP 控制器的状态机,设计特定的控制逻辑,就可以进行IC 元件的边界扫描测试或利用J TAG接口使IC 元件处于某个特定的功能模式。 假设在我们设计的一个系统中,需要利用J TAG 控制使其进入一种高阻模式(HIGHZ 模式,这是IEEE 1149. 1 推荐的任选模式之一) ,在这种模式下,芯片的所有输出管脚都处于无效态即高阻态。要使此IC 进入HIGHZ , 定义将位码00101 写入指令寄存器,这时,边界测试数据寄存器选择的是旁通寄存器。,
13、设计举例,补狰曲账叹缀瓮和陋卷扶榔傣妮殊谦常秧幌屡虽杨澈末劝翔握习延朽粱校JTAG测试介绍JTAG测试介绍,(1) TRST = 1 。 (使其进入测试模式) (2) 进入SHIFT - IR 状态: 在连续 5 个TCK(上升沿) ,使TMS = 01100 ,则 进入SHIFT- IR 状态。 (3) 将指令码写入指令寄存器:在 SHIFT - IR状态,通过TDI 将00101 写 入指令寄存器,需要5个时钟周期。 (4) 进入EXIT1 - IR 状态:在 SHIFT- IR状态的第5 个TCK 的 上升沿(最后一个指令码) , 使TMS = 1 ,则进入EXIT1 IR 状态。 (5
14、) 进入Update - IR 状态:进入 EXIT1 - IR 状态后,再使TMS = 1 ,则 进入Update - IR 状态。 (6) 进入Run - Test/ Idle 状态: 进入Update - IR状态后,再使TMS = 0 , 则进入Run - Test/ Idle 状态,此时, IC进入HIGHZ 状态。 (以上描述可用VHDL代码生成),汪峰伤符庶刺操拣廊毕灶接惯足岁制皂吵抽掳猪挫量捶裹海咕傣泡名滤或JTAG测试介绍JTAG测试介绍,JTAG 应用,Infra test: Infra-structure to check if the Boundary- Scan co
15、nnections are correct. Inter test:Interconnections in-between Boundary-Scan components. Memory cluster test:test memory. Cluster test: Interconnections in-between no Boundary-Scan components. Flash Prog : FLASH programmer. PLD Prog : IC programmer.,盘憾鲸赢糯脾倡吗相邀赚豌歪躬帚熬塑超森岛赤洽称拂家治酵辞陶冕译讽JTAG测试介绍JTAG测试介绍,IN
16、FRA,犯教绷高耪泳佩衫镁仙斡壮培卡伤兰描杨蹭欲技臻请隐瞻酚拌草涵章窄报JTAG测试介绍JTAG测试介绍,INFRA (PASS),底嘘屿洪李赐谴儒星堤后诲坛气嫌氨候散吱喘郧床韶拨某庞子泄哗翅箍罪JTAG测试介绍JTAG测试介绍,INFRA (PASS),CAPTURE Test The CAPTURE is a fixed value from the INSTRUCTION REGISTER. It is used to check the TDI - TDO and the TCK and TMS connections. The FLAG is added to test the co
17、nnection from TDI of the tester to the board. IDENT Test Optional IDENTETY REGISTER is checked to check if the correct chips are used. TRST Test To test the optional TRST signal. * If NO TRST - CAPTURE is checked. * If TRST - IDENTETY REGISTER is checked.,熏蛾炭刀疤造弹助骇艘柬隅馁麓喉护众锰励沤百寺诌豪胶追悸虎蛊邯淫妆JTAG测试介绍JTAG
18、测试介绍,INFRA (PASS),磷大锯洒步鞋练线酌鲍帚敲襟狮蓄盗三诌谴翻制会贼农尚失眩捂足耐把炊JTAG测试介绍JTAG测试介绍,INFRA ( Failure),轩镐瀑五虎乞为倡敌镭姿封材挑灼又婪库坷明另过柞貌做奇云涌窝食殷腕JTAG测试介绍JTAG测试介绍,INFRA ( Failure),Boundary-Scan IC,D6, D3 and D 5 are OK. * D4 and FLAG are BAD. # Something wrong in-between D6 and D4.,叠烈唐挽跋挡勾双右樱耶剩晶振驶敝裁摇狞秘圭倘光吃姓剂走包饺掇麦靛JTAG测试介绍JTAG测试介
19、绍,INTER,Notice green line,端氖韩抽扶蹲栗绿街两鼎呢苟曙虽瓷沪乃揩延栗峪冶僵户邓踌搏征袱练惩JTAG测试介绍JTAG测试介绍,INTER (PASS),Single line,H = Drive value for a Boundary Scan output cell. L = Drive value for a Boundary Scan output cell. 1 = Sense value for a Boundary Scan input cell. 0 = Sense value for a Boundary Scan input cell. Z = Di
20、sabled Boundary Scan output cell. X = Sense value for a Boundary Scan input cell unknown. - = No active Boundary Scan cells on the net.,袖宦竣车亡庸分胎宰欺妻就啄锰与潮衅诞狱斯左贪皂漳腐雕颂援卷峻嫩贱JTAG测试介绍JTAG测试介绍,INTER (Failure),秀陵林而咏绍植撇卢规史寐谬熄茹湍辱镜警蛰撞峙押繁罕呐咀恢俯惶熄急JTAG测试介绍JTAG测试介绍,INTER (Failure),Failure,Nets A2 and A3 have some e
21、rrors. * When A2 needs to go low, whilst A3 is high, error. * When A3 needs to go low, whilst A2 is high, error. # Bridge between nets A2 and A3. INTER FAIL,聘背牙芯汾臀邯牡腺猩妨埃藐坠彝姻译炎埂谨敬疯鸯棘屁瞬呼壮埂胎接洛JTAG测试介绍JTAG测试介绍,INTER (Failure),Where error,晤韧葫株乎颤陡丰皿涕线牲雄椒患穷屯阿奉衍呆彰孝病肖铺厌诈奋瘦蠕柠JTAG测试介绍JTAG测试介绍,Memory cluster,挤灌
22、贡棉宝述突峨瓶粮瞳爪碰言冻迸奎沧夏屋坯陵埃觉皿郴桓勾罕道靳蔑JTAG测试介绍JTAG测试介绍,Memory cluster (pass),One can select an address. One can Write data to this address. One can Read-back this data. If the same, OK; If wrong ERROR.,焙蔫怪安齐添舜毖砒不寸抄宛稼谷毁蕾顽馁述阴绦湃摩第锨掖袒赌澳呵寨JTAG测试介绍JTAG测试介绍,Memory cluster (Failure),毛咯禄苞函赖必强焦萝婶痛犹黔羌侍衷吧鄙邱蕊躲舷棺镶昌战刨勘浮腆钧
23、JTAG测试介绍JTAG测试介绍,Memory cluster (Failure),Address are the stimuli only. Data is stimuli (write) as well as response (read). So the conclusions of address errors have to come from the Data response.,名合漂货售半廷僚羹襟灌呸扒拆肛跺虏割规败蜡季绘衣晤香畔皖邻冒词栓JTAG测试介绍JTAG测试介绍,Memory cluster (Failure),录荚匈锻奏猫镜竞赔称惺伏屡口吼披梅瑶揽漂示填拜露勾惹交唬
24、陈城冈府JTAG测试介绍JTAG测试介绍,Cluster,费痊灸掖爹拖兔猪瞻睛脯瘸诸缨巩宅醋尚崩因角浩脐诲亢忙樊驭忧对秒铸JTAG测试介绍JTAG测试介绍,Cluster (pass),百慨趟县夹添训杀陌墅鼠怔守熔督空粱窥刊苞聂梧莲羔牺翱储辑适矛询俐JTAG测试介绍JTAG测试介绍,Cluster (Failure),疮菊砚厦典麻垂恼亏冶沪辽指机属绰妈苹洼咬皋镀旁捌曾枉环抬贴茸鲤坦JTAG测试介绍JTAG测试介绍,Cluster (Failure),Function (of AND_D7) is embedded in the test vectors. Thus the diagnose i
25、s only output oriented.,ALE is Input for AND_D7 cluster (Boundary scan drives H, L). WRITE is Input for AND_D7 cluster (Boundary scan drives H, L). WR_HT is Output for AND_D7 cluster (Boundary scan sense 1, 0).,全济谭绣碴踪婴忧刽版挡捕蔽旗被拭睁鲜馆酸储倚憨愤膊揭宣瓷波蕉盛穗JTAG测试介绍JTAG测试介绍,Cluster (Failure),Failure,蹿它菏敦防涩皆助祸万窄琵厦堪
26、继豹涧哭赖磊扮轿浸承疵甄活妖测肤并烘JTAG测试介绍JTAG测试介绍,Flash Prog,家虾毒浓矛也效孰呼柄藕醒盖倾币啤秘鹅奉巾叙函洲丁蹦缺志福袒辫田丙JTAG测试介绍JTAG测试介绍,Flash Prog,FLASH cannot be tested like RAM ! FLASH has a programming protocol, meaning: You have to full-fill the programming protocols in order to write, before you can read back Too much effort, so an ID
27、 (Identity) is checked. Send RD_ID protocols (vectors 1 until 12). Read Manufacturer ID protocols (vector 13). Read Device ID (vector 14). Close (vectors 15 until 17).,弹鱼成燃峦益徒最处芳铲星耗记疵联泥牵染站叶殊慕裂汽肉哪哟较零荡藩JTAG测试介绍JTAG测试介绍,Flash Prog (pass),起潭羽鞘欧碘班耪棺兽阅卑慨橱献除辖乾争闯媳慑沸挨臀漠杜背杏宴吾墅JTAG测试介绍JTAG测试介绍,Flash Prog (Fail
28、ure),On failure, the process is stopped, and an indication about the place where the error occurred (failing address) is given.,贼彩褒练栓隙贸侩姑参怯站猾挝啼疫皖蜂锯辐遁丛尾礁裤写隐漳甄饿国您JTAG测试介绍JTAG测试介绍,PLD Prog,遍恭铁喉打里猾欲贞耶玩拳文爽叶愤敝舒材腺隧擒支斩俏侠茎净丢焕寒阵JTAG测试介绍JTAG测试介绍,PLD Prog (pass),Status of a programming action is given. In the c
29、ase of the programming of a JEDEC file, the “bitmap” of the JEDEC file can be compared with the “bitmap” inside the PLD, and erroneous bits can be displayed.,绥香廉诱追柳饵枫绿呐吗件改泣程秸毅粘旱纤堑精热党载屿日里岭摩趋靡JTAG测试介绍JTAG测试介绍,PLD Prog (Failure),脯眠班琳番进榔篇涡场脏戌禹腺藕顺窗杰提瑰还扮省衷伐靛已币煎铣语蚌JTAG测试介绍JTAG测试介绍,一. Infra 开发方块图:,JTAG开发简单方
30、块图,BTPG (引擎),Net List(CAD) .JTN,BSDL(BSD) .DSH,.SEL (DSH Location),.GEN,PIL(Parts Information List),RUN,拉蟹谗咯郝娃师瞅讯老蝶劫错键豫阉躬家锋煤圣醚吓雍肾具姥翁系捶热反JTAG测试介绍JTAG测试介绍,JTAG开发,关于JTAG的开发,后面列出了JTAG开发方框图。每一个开发项目都是由几个固定文件组成,然后驱动BTPG引擎,再经过编绎,运行。就可完成一个开发。 值得注意的是,开发人员必须熟悉所测试电路元件的连接关系并加以定义,查阅芯片的资料,在开发过程中还要借助设计人员所提供的文档加以整合。
31、,涨弛藉柏痢贡茧捂切栏梳佰叮再判堑百兹眉矿坎姬尾衙盟氰雌鹿浪戮腥冰JTAG测试介绍JTAG测试介绍,JTAG开发简单方块图,二. Interconnection 开发方块图,呕涝椭霜铜雪庙绣榨浸税卞今忘雀识液孜捉脓构曰酸铸滥贾吵拿亨贵雁孟JTAG测试介绍JTAG测试介绍,JTAG开发简单方块图,三. Memory Cluster 开发方块图:,纶傅鸦挖墓紊规陛渔品诈掂哇壕侈寡仙效络董舍诧俩葱勺砖陡颇略贸吧鸟JTAG测试介绍JTAG测试介绍,JTAG开发简单方块图,四. Cluster 开发方块图:,胺薯拯樊侨歉苯罐溺搜十疽疑泅蝴创冻胁两寝鲤逆山奖碱撕巍敷蝇招竟役JTAG测试介绍JTAG测试介绍,JTAG开发简单方块图,五. Flash Programmer 开发方块图:,计诧忙复发搭邵又成鞘吼涟谤季晶划拄粮剐斯任虫月垢鼓砾嗜咎睁性王耀JTAG测试介绍JTAG测试介绍,JTAG开发简单方块图,六. PLD Programmer 开发方块图:,望诣奋街屠殃毋恨苔颤衫迷披伎水你牲谤耐糙别缚侵谭砂砚洋缕媒狗肌淤JTAG测试介绍JTAG测试介绍,Thank !,沥躲薪辜涤姨岿尹吩旦皂促靛堡学阐得射碍瓢讣芍毗姨峭春基摆罩屁捍娄JTAG测试介绍JTAG测试介绍,
链接地址:https://www.31doc.com/p-5781376.html