协议学习:jtag
这是本文档旧的修订版!
1. jtag
参考协议 IEEE 1149.1-2013
协议 | 文件 |
---|---|
1149.1 | ieee_std_1149.1-2013_.pdf |
1149.6 | ieee_std_1149.6-2015.pdf |
1149.10 | eetop.cn_ieee_1149.10-2017.pdf |
以下现款都是可以解析icl, pdl,都是第三方工具
- jtag debuger tool -- 商业工具
- NEBULA -- 需要注册,免费下载使用。
capture, shift 都发生在TCK上升沿做动作, update是在状态的TCK下降沿做动作,将shift register内容锁存。
JTAG状态机转换是发生在TCK的上升沿。
TMS & TDI & TDO是在TCK下降沿输出,在TCK上升沿采样。 对于设备来说,TDI是输入,TDO是输出;对于JTAG调试器来说则是反的。
jtag rotate技术: 就是让tdi --> tdr --> tdo, 然后tdo的数据直接返回给tdi, 这样转一圈,可以观测TDR数据,并且也不会伤害tdr的数据,一般就用于TDR观测。
2. jtag fsm
- TDI只会在shift状态下用TCK上升沿采样数据
- TDO是在TCK下降沿驱动输出
- TDO只会在shift-IR或shift-DR状态时驱动输出,其它状态都是保持高阻态
- TMS也是用TCK上升沿采样,以判断JTAG FSM到哪个状态
- 内部实现可以在capture或shift状态下(TCK上升沿采到),改变tdo_reg的值,然后固定使用TCK负沿把这个tdo_reg打到TDO线上去
- 当TCK上升沿采样到是capture状态时,采capture值load到shift_reg里,同时此时shift_reg[0]用TCK负沿将capture值的第0bit打到TDO线上去
- 在shift状态采样到的第0bit个TDO值,就是capture值的第0bit
- shift_reg值在TCK采样到是update状态时,将值送到update_reg里,此值是最终反应jtag update得到的值
3. jtag waveform
4. jtag connect
4.1 菊花链
4.2 TDO并接,TMS分开接
4.3 TDI TDO 多路
协议学习/jtag.1748322466.txt.gz · 最后更改: 2025/05/27 13:07 由 user01