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.

  • 相关阅读:
    一个配置引发的血案
    软件工程之学习方法篇
    开篇
    重拾《 两周自制脚本语言 》- 中文关键字与原生函数
    重拾《 两周自制脚本语言 》- 支持中文标识符
    将《 两周自制脚本语言 》测试中使用的接口中文化
    5分钟入门LingaScript-尝鲜中文版TypeScript
    为《 两周自制脚本语言 》添加中文测试代码
    2019-02-18 扩展Python控制台实现中文反馈信息之二-正则替换
    2019-02-14 1992年日本对母语编程的可读性比较实验
  • 原文地址:https://www.cnblogs.com/gaiqingfeng/p/15239314.html
Copyright © 2011-2022 走看看