用户工具

站点工具


edastudy:bscan:bscan学习

这是本文档旧的修订版!


====== BSCAN学习 ======

参考IEEE.Std.1149.6-2003.pdf

1. JTAG TAP FSM

{{:edastudy:pasted:20231227-145930.png?nolink}}

2. tessent bscan interface

左侧是开了ac_control选项,右侧没有开,生成出来bscan interface模块的区别:

{{:edastudy:pasted:20240606-092347.png?nolink&900}}

3. AC test signal

^ tessent tap ^ SNPS PHY信号 ^ 说明 ^ | to_bscan_ac_mode_en | bs_acmode | 表示EXTEST_PULSE or EXTEST_TRAIN有效,处于BSCAN AC测试模式 | | to_bscan_ac_signal | bs_actest | 在JTAG IDLE状态,测试信号拉高(EXTEST_PULSE模式),测试信号按TCK周期翻转(EXTEST_TRAIN) | | to_bscan_ac_init_clock0 | bs_rx_init | | | to_bscan_ac_init_clock1 | | ~to_bscan_ac_init_clock0 |

{{:edastudy:pasted:20231227-145232.png?nolink}}

<code> ACMODE = EXTEST_TRAIN | EXTEST_PULSE;

ac_signal = RTI & ACMODE;

bscan_select = EXTEST_decoded | INTEST_decoded | EXTEST_PULSE_decoded |

           EXTEST_TRAIN_decoded | EXTEST_PRELOAD_decoded;

ac_init_clk0 = ac_init_clk_EXTEST | ac_init_clk_EXTEST_TRAIN_OR_PULSE; ac_init_clk1 = ~ ac_init_clk0;

ac_init_clk_EXTEST = SDR & bscan_select; ac_init_clk_EXTEST_TRAIN_OR_PULSE = (E1DR | E2DR) & ACMODE; </code>

4. Input test receivers

接收器在接收的时候分为DC Coupled和AC Coupled。

{{:edastudy:pasted:20231227-154631.png?nolink}}

所述接收器,应该在capture-DR状态时能采样到一个有效的值,如果不能采到有效值,应该会有一个initial value被采到。

{{:edastudy:pasted:20231227-154750.png?nolink}}

就如下图一样,capture-DR状态采到有效值或者initial value

{{:edastudy:pasted:20231227-154935.png?nolink}}

所以接收器在Exti1-DR或者Exit2-DR (其实就是在Update状态之前先给个initial值)的时候可以把sample register给个initial state(比如说固定为0),接收器示范电路如下:

下图对应s家phy bs_rx_init信号

{{:edastudy:pasted:20231227-155250.png?nolink}}

下图对应s家phy bs_actest

{{:edastudy:pasted:20231227-155317.png?nolink}}

5. Output drivers

output driver不会太特殊

{{:edastudy:pasted:20231227-155806.png?nolink}}

{{:edastudy:pasted:20231227-155906.png?nolink}}

6. instruction

6.1 EXTEST_PULSE

{{:edastudy:pasted:20231227-145507.png?nolink}}

6.2 EXTEST_TRAIN

{{:edastudy:pasted:20231227-145540.png?nolink}}

7. clockdr & updatedr

<code verilog> clockir = 1) ? tck : 1’b1; clockdr = 2) ? tck : 1’b1; </code> 在capture状态capture数据,在shift状态,shift数据。

{{:edastudy:pasted:20240122-092432.png?nolink}}

8. tessent BC cell

ref: bsda_ref.pdf

8.1 BC_1

{{:edastudy:pasted:20240122-094711.png?nolink}}

8.2 BC_2

{{:edastudy:pasted:20240122-094642.png?nolink}}

8.3 BC_2_A

{{:edastudy:pasted:20240122-094212.png?nolink}}

8.4 BC_2_A_EXT

{{:edastudy:pasted:20240122-094535.png?nolink}}

8.5 BC_2_B

{{:edastudy:pasted:20240122-094324.png?nolink}}

8.6 BC_3

{{:edastudy:pasted:20240122-094405.png?nolink}}

8.7 BC_4

{{:edastudy:pasted:20240122-094446.png?nolink}}

8.8 BC_5

{{:edastudy:pasted:20240122-094759.png?nolink}}

8.9 BC_7

{{:edastudy:pasted:20240122-094836.png?nolink}}

8.10 BC_7_LOW

{{:edastudy:pasted:20240122-094917.png?nolink}}

8.11 BC_8

{{:edastudy:pasted:20240122-094959.png?nolink}}

8.12 BC_9

{{:edastudy:pasted:20240122-095034.png?nolink}}

8.13 BC_10

{{:edastudy:pasted:20240122-095104.png?nolink}}

9. tessent AC cell

ref: bsda_ref.pdf

9.1 AC_1

{{:edastudy:pasted:20240122-095245.png?nolink}}

9.2 AC_2

{{:edastudy:pasted:20240122-095308.png?nolink}}

9.3 AC_7

{{:edastudy:pasted:20240122-095342.png?nolink}}

9.4 AC_7_LOW

{{:edastudy:pasted:20240122-095406.png?nolink}}

9.5 AC_8

{{:edastudy:pasted:20240122-095446.png?nolink}}

9.6 AC_9

{{:edastudy:pasted:20240122-095515.png?nolink}}

9.7 AC_10

{{:edastudy:pasted:20240122-095540.png?nolink}}

10. IEEE 1149.1 BSCAN BC cell

  • BC_1, input cell, control cell, capture misson input
  • BC_2, input cell, control cell, capture misson output
  • BC_4, Observe-only input cell without control
  • BC_7, BIDI双向 data cell; capture UPD/PAD input/misson output
  • BC_8, BIDI双向 data cell; capture PAD output
  • BC_9, self-monitor output cell; mode 4 capture PAD output, else capture mission input
  • BC_10, self-monitor output cell; capture PAD output only

10.1 BC_1

mode

{{:edastudy:pasted:20240119-163524.png?nolink}}

{{:edastudy:pasted:20240119-161410.png?nolink}}

10.2 BC_2

{{:edastudy:pasted:20240119-163827.png?nolink}}

{{:edastudy:pasted:20240119-161454.png?nolink}}

10.3 BC_3

个人觉得BC_3不会使用

{{:edastudy:pasted:20240119-161524.png?nolink}}

10.4 BC_4

{{:edastudy:pasted:20240119-161555.png?nolink}}

10.5 BC_5

{{:edastudy:pasted:20240119-164010.png?nolink}}

{{:edastudy:pasted:20240119-161735.png?nolink}}

10.6 BC_7

{{:edastudy:pasted:20240119-164112.png?nolink}}

{{:edastudy:pasted:20240119-161818.png?nolink}}

10.7 BC_8

mode

{{:edastudy:pasted:20240119-163150.png?nolink}}

{{:edastudy:pasted:20240119-161856.png?nolink}}

bc_2 control + bc_8

{{:edastudy:pasted:20240119-163310.png?nolink}}

10.8 BC_9

{{:edastudy:pasted:20240119-164214.png?nolink}}

{{:edastudy:pasted:20240119-161929.png?nolink}}

10.9 BC_10

{{:edastudy:pasted:20240119-164254.png?nolink}}

{{:edastudy:pasted:20240119-161958.png?nolink}}

11. BSCAN AC cell

  • AC_SelX, 控制选择AC/DC测试模式, capture的值永远是X,即不关注capture到的值
  • AC_SelU, 控制选择AC/DC测试模式, capture的值是UPD,即capture到的值是上一次配置的AC/DC的选择值。
  • AC_1, input cell, control cell, capture misson input
  • AC_2, input cell, control cell, capture misson output
  • AC_7, BIDI双向 data cell; capture UPD/PAD input/misson output
  • AC_8, BIDI双向 data cell; capture PAD output
  • AC_9, self-monitor output cell; mode 4 capture PAD output, else capture mission input
  • AC_10, self-monitor output cell; capture PAD output only

^ ^ mode 1 ^ mode 2 ^ mode 3 ^ mode 4 ^ mode 5 ^ | EXTEST | 1 | 0 | 1 | 1 | 1 | | PRELOAD | 0 | 0 | 1 | X | 0 | | SAMPLE | 0 | 0 | 1 | 0 | 0 | | INTEST | 0 | 1 | 0 | 0 | 1 | | RUNBIST | X | X | 0 | X | 1 | | CLAMP | 1 | X | 1 | X | 1 | | HIGHZ | X | X | 0 | X | X | | NOTES:\ 1. EXTEST inluce EXTEST, EXTEST_PLUSE, EXTEST_TRAIN ||||||

11.1 AC_SelX

{{:edastudy:pasted:20231227-144008.png?nolink}}

11.2 AC_SelU

{{:edastudy:pasted:20231227-144100.png?nolink}}

11.3 AC_1

{{:edastudy:pasted:20231227-144150.png?nolink}}

11.4 AC_2

{{:edastudy:pasted:20231227-144237.png?nolink}}

11.5 AC_7

{{:edastudy:pasted:20231227-144322.png?nolink}}

11.6 AC_8

{{:edastudy:pasted:20231227-144400.png?nolink}}

11.7 AC_9

{{:edastudy:pasted:20231227-144439.png?nolink}}

11.8 AC_10

{{:edastudy:pasted:20231227-144505.png?nolink}}

12. BSCAN指令

12.1 SAMPLE

只sample采样 capture pin input & output值,而不能影响其input pin到内部逻辑值和output pin到PAD的状态。

12.2 PRELOAD

主要用来更新update DR的值,这个值在后面的测试指令作用下,将会直接被驱动到output PAD脚;如果值没有初始化,将不确定输出的是什么值。

一般后面会再跟一个EXTEST指令,将PRELOAD初始化的值驱动到output PAD上。

1)
pstate == capture_IR) || (pstate == shift_IR
2)
pstate == capture_DR) || (pstate == shift_DR
edastudy/bscan/bscan学习.1747965272.txt.gz · 最后更改: (外部编辑)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki