zoukankan      html  css  js  c++  java
  • JTAG 状态机/指令

    1. JTAG状态机

                                  数据寄存器(DR)控制           指令寄存器(IR)控制      
       -> ______________                                                               
      /1 |test_logic_rst|<----------------------------------------------------------+  
      \_/ --------------                                                            |  
               |0                                                                   |  
       -> ______________ 1           ______________  1           ______________  1  |  
      /0 |run_test/idle |---------->|Select_DR_Scan|----------->|Select_IR_Scan|----+  
      \_/ --------------    ^        --------------              --------------        
               ^            |              |0                          |0              
               |            |        ______________  1           ______________  1     
               |            |       | Capture_DR   |----+       | Capture_IR   |----+  
               |            |        --------------     |        --------------     |  
               |            |              |0           |              |0           |  
               |            |        ______________ <-  |        ______________ <-  |  
               |            |  +--->|   Shift_DR   | 0 |  +--->|   Shift_IR   | 0 |  
               |            |  |     -------------- \_/ |  |     -------------- \_/ |  
               |            |  |           |1           |  |           |1           |  
               |            |  |   1 ______________     |  |   1 ______________     |  
               |            |  | +--|   Exit1_DR   |<---+  | +--|   Exit1_IR   |<---+  
               |            |  | |   --------------        | |   --------------        
               |            |  | |         |0              | |         |0              
               |            |  | |   ______________ <-     | |   ______________ <-     
               |            |  | |  |   Pause_DR   | 0    | |  |   Pause_IR   | 0    
               |            |  | |   -------------- \_/    | |   -------------- \_/    
               |            |  | |         |1              | |         |1              
               |            |  | | 0 ______________        | | 0 ______________        
               |            |  +----|   Exit2_DR   |       +----|   Exit2_IR   |       
               |            |    |   --------------          |   --------------        
               |            |    |         |1                |         |1              
               |            |    |   ______________          |   ______________        
               |            |    +->|  Update_DR   |         +->|  Update_IR   |       
               |            |        --------------              --------------        
               |            |           |1    |0                    |1    |0           
               |            +-----------+---------------------------+     |            
               |                              |                           |            
               +------------------------------+---------------------------+            
                                                                                       
                                                                                       
    

    2. JTAG指令

    指令 中文名 用途 具体操作
    Extest 外部测试指令 初始化外部电路, 主要用于板级互连以及片外电路测试. shift-dr: 将BSR连接到TDI与TDO之间;
    capture-dr: 将input port值装入BSR;
    (该指令从不使用移入BSR input reg中的值);
    update-dr: 将并行输出寄存器中的值送到output port;
    Sample/Preload - 进入测试模式前对BSC进行预装载. capture-dr: 提供一个从管脚到芯片逻辑的数据流快照.
    update-dr: 将BSR数据锁存到并行输出寄存器单元(然后在extest指令时, 将并行数据送到output port);
    Sample - - 通过数据扫描操作来访问BSR, 以及对进入和离开IC的数据进行采样.
    Preload - - 进入Extest指令前对BSR进行数据加载.

    3. JTAG测试向量

    3.1 VIH/VIL

    VIH主要测试: 在input port加载1后, 能不能打到bscell中:

    1. 把input_port都force为1.
    2. 加载sample_preload指令, 在该指令下bscan chain串在tdi与tdo中间, 这时向bscan chain中移入0(控制cell按实际需要值配置).
    3. 加载extest指令: 在该指令下, input_port上的值被打入bscan chain上.
    4. shift bscan chain, 检查每个input_port对应的bscan cell值是否为1.

    VIL与VIH类似, 差别是把1换成0.

    3.2 VOH/VOL

    VOH主要测试: 往bscan chain中移入1后, 能不能打到output_port上.

    1. 加载sample_preload指令, 在该指令下bscan chain串在tdi与tdo中间, 这时向bscan chain中移入1(控制cell按实际需要值配置).
    2. 加载extest指令: 在该指令下, bscan chain上的值被打入output_port上.
    3. 读取每个output_port, 检查值是否为1.

    VOL与VOH类似, 差别是把1换成0.

  • 相关阅读:
    BZOJ1858[Scoi2010]序列操作 题解
    BZOJ3631[JLOI2014]松鼠的新家 题解
    BZOJ1036[ZJOI2008]树的统计Count 题解
    BZOJ1798[Ahoi2009]Seq 维护序列seq 题解
    BZOJ3212 Pku3468 A Simple Problem with Integers 题解
    BZOJ1012[JSOI2008]最大数maxnumber 题解
    洛谷P1080 国王游戏
    洛谷 P2296 寻找道路
    洛谷P1970 花匠
    洛谷 P1969 积木大赛
  • 原文地址:https://www.cnblogs.com/gaiqingfeng/p/15239314.html
Copyright © 2011-2022 走看看