EDN首页   博客首页 用户登陆  |  注册
aaa
发表于 2008/9/15 19:33:41

1

关于投票

IEEE 1149.7 - 下一代JTAG调试标准

 

相关链接:

IEEE 1149.7

Reinventing JTAG for SoC debugging

TI driving development, ratification of IEEE 1149.7 embedded system standard

IPextreme rolls cJTAG IP core

Tue Oct 21 2008 16:56:26 PDT JTAG Gets an Upgrade - TI and IPextreme Do a cJTAG Risk Start

Sun Nov 9 2008 08:53:50 UTC+0800 Tutorial: The Role of JTAG in system debug & test throughout the embedded system development lifecycle

Wed Feb 4 2009 11:59:19 UTC+0800 IEEE_1149.7

 

Nexus

Wed Feb 4 2009 11:54:22 UTC+0800 The Nexus 5001 ? Forum

Wed Feb 4 2009 11:55:41 UTC+0800 Multi-core analysis made easy with the Nexus 5001 debug spec

Wed Feb 4 2009 11:56:15 UTC+0800 Nexus on Wiki

Wed Feb 4 2009 11:58:10 UTC+0800 The Nexus Standard

 

IJTAG

Wed Feb 4 2009 11:58:47 UTC+0800 Open Tools and Standards Emerge for Embedded Instrumentation

系统分类: CPLD/FPGA  |  用户分类: Real JTAG  |  标签: JTAG  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(736) | 回复(0)

发表于 2007/2/8 18:10:49

0

关于投票

JTAG协议学习笔记--远程边界扫描测试的实现

    在最新一期EDNChina上看到了JTAG Technologies的一篇文章,详细介绍了远程边界扫描测试(Remote boundary-scan tests)的实现方法。 riple 
   

    这篇文章给了我以下几点启发: riple
1. 远程JTAG是可行的。 riple

2. 远程JTAG可以通过复用产品电路板上的通讯接口,以增加很少的成本为代价添加到现有的产品上。 riple

3. 通过差错控制机制,远程JTAG可以保证测试数据的完整性。 riple

4. 在硬件上加以巧妙设计,可以把用于直连JTAG的测试软件应用到远程JTAG上,减少了软件的改动,操作方式的变化也很小。 riple

5. 在上位机端,以软件方式在扫描链中增加“虚拟单元”,可以用来补偿远程JTAG带来的延时。 riple

6. 在上位机端,以硬件方式在扫描链中增加FIFO,可以用来连缀真正的测试数据,保证JTAG数据的连续性。 riple

7. 采用1:n的方式,在上位机添加硬件,可以有效地减少下位机成本的增长。 riple

8. 采用回环测试可以确定通讯链路的延迟,从而确定插入“虚拟单元”的个数和FIFO计数器的初始值。 riple

9. 回环测试配合FIFO,可以虚拟出长度可动态调整的测试链,动态地补偿不同的延时。 riple

10. 下位机端通过控制TCK的有无,实现扫描时间的暂停,可以不考虑延时补偿和数据缓存问题。 riple

11. 上位机端,采用“虚拟单元”实现延时补偿功能,是为了符合JTAG协议在上位机端对时序的要求;采用FIFO实现数据缓存功能,既是为了符合JTAG协议对数据连续性的要求,也是最小化软件改动的措施。 riple

 

    这篇文章很清晰地讲解了直连JTAG中延迟的来源,以及由此带来的TCK频率和JTAG电缆长度的定量关系。通过这段图文并茂的原理分析,我终于想明白了JTAG电缆长度不能过长的原因:不仅是信号强度会变弱,更主要的原因在于过长的电缆不能满足特定TCK频率下,JTAG协议对于延迟的要求。所以,要延长JTAG电缆的长度,单纯增加信号的驱动强度是不够的,还需要人为添加“虚拟单元”补偿延迟或者调整测试软件补偿延迟才可以。 riple 
    记得以前实验室有一根超长JTAG电缆,就是采用差分信号增强信号的抗干扰能力的,但是没有考虑补偿延迟的问题。看来那根电缆也不是“要多长都可以”的 。icon 需要软件配合才能做得更长。 riple

 

    在远程JTAG中,需要解决的还不止是“长”电缆的固定延迟问题,还有一个数据不连续问题。由于JTAG协议要求扫描链是连续的(否则就不成“链”了),从而可以简单地进行同步操作(这也是为什么用PC机并口进行JTAG操作时CPU会被占满的原因);而远程JTAG在连续的JTAG链路中插入了本质上是不连续的远程协议(TCP或者是USB),不但引入了延迟,更破坏了数据的连续性。所以简单地在扫描测试软件中加入延迟补偿并不能解决数据不连续问题,还需要把不连续的数据连缀起来,形成连续的数据链,这就是这篇文章中用到FIFO的原因。这样一来,测试软件在没有获得连续的数据之前对“虚拟单元”进行扫描(相当于空等),同时FIFO把接收到的数据包按顺序存储下来,当FIFO中有了足够的连续数据后,测试软件才开始真正的数据扫描。 riple 
    上述操作应该也可以在软件中实现,只要实现延迟补偿数据缓存的功能就可以了。 riple

 

    这样看来,Altera的Ethernet Blaster和USB Blaster也并不神秘啊。 riple

 


    通过写这篇日志,深刻体会了Avan说的“写作是最有效的学习方式”这句话。写这篇日志,我对原文的个别段落重读了近10遍,对于一些关键操作产生了多个层次的认识。真是越写越难,越写越有趣啊。 riple

系统分类: CPLD/FPGA  |  用户分类: Real JTAG  |  标签: JTAG 下载电缆 远程边界扫描  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(2753) | 回复(2)

发表于 2006/11/24 18:31:20

6

关于投票

JTAG协议学习笔记(续二)(带输出的TAP状态机代码)

    TAP Controller是用来解析JTAG协议的状态机,它的状态图如下: riple

点击看大图

    今天用StateCAD画了一下TAP Controller的状态图,顺便生成了两个HDL文件,一个VHDL的,一个verilog的。大家感兴趣的话,在这里rar可以下载。 riple

    由于没有明确应用,这两个文件都没有输出。如果大家有兴趣的话,可以根据自己的需要添加输出。我以后也会上传带输出版本的HDL文件。 riple

    VHDL版的采用了枚举方式给状态赋值,verilog版的采用了二进制编码(没有采用格雷码赋值)。如果用于FPGA综合的话,可以在综合工具的状态机编码选项中用“独热”(奇怪的汉译--one hot)方式编码。 riple

    如果大家有进一步兴趣的话,可以比较一下两个文件,看看VHDL和verilog到底有什么区别,有什么共同点。我的看法是:目标都是描述逻辑电路,不会有根本的区别。所以,学习HDL语言,一定要把电路形态时刻放在心上,生成正确的RTL是根本目标,当然好的编程风格也是不可或缺的。 riple

    再者,这两个文件中对于状态机的描述也可以借鉴,体现了状态赋值和跳转逻辑分离的编码原则。 riple

    控制输出是状态机的根本功能,下面是带状态信号灯输出的版本。大家可以分析一下状态机输出锁存是怎样实现的。 riple

    rar

 

相关链接:The Tagalyzer - A JTAG Boundary Scan Debug Tool riple

系统分类: CPLD/FPGA  |  用户分类: Real JTAG  |  标签: FPGA jtag  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(2860) | 回复(2)

发表于 2006/11/22 16:20:02

3

关于投票

JTAG协议学习笔记(续一)

    这几天把我手头上所有关于JTAG的书都查了一遍,对JTAG的实现和操作有了初步的认识。把http://www.fpga4fun.com/files/JTAG.zip的C代码在Linux下编译了一遍,运行时出现fregmentation error。初步定位在获取器件的数据寄存器长度时出错。还要把代码的各个函数分析一下,想要直接拿过来用还真有些困难。  riple

系统分类: CPLD/FPGA  |  用户分类: Real JTAG  |  标签: FPGA jtag  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(2386) | 回复(0)

发表于 2006/11/15 19:31:12

3

关于投票

JTAG协议学习笔记(开篇明义)

    写了两个系列的JTAG在FPGA中的应用文章,真的发现自己对JTAG知之甚少。 riple

    加之我所在的实验室对PCB板的测试一直不完善,不借助JTAG工具不行,我是做数字电路的,责无旁贷。所以决定自学JTAG协议,争取自己开发一套测试代码,使我们的PCB焊接测试水平上一个台阶。 riple

系统分类: CPLD/FPGA  |  用户分类: Real JTAG  |  标签: JTAG FPGA  |  来源: 原创  | 

点击查看原文

发表评论 阅读全文(3534) | 回复(10)

Total , Page /