BSCAN
时间:2022-07-24
本文章向大家介绍BSCAN,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
BSCAN 简介
Boundary-scan is an integrated method for testing interconnects on printed circuit boards (PCBs) that are implemented at the integrated circuit (IC) level.
边界扫描测试,测试目标是IO-PAD,利用 JTAG 接口互连以方便测试。(JTAG 接口,实现不同芯片之间的互连。这样可以形成整个系统的可测试性设计)。
BSCAN to JTAG 转换核接收 BSCAN 接口然后驱动 JTAG 发送,可以通过 BSCAN 原语或者 DEBUG IP 桥进行例化。
BSCAN 原语
BSCANE2的管脚信号说明如下:
- CAPTURE:位宽为1的输出信号,用于指示是否加载了用户指令,当JTAG接口处于CAPTURE-DR状态时,输出为高。
- DRCK:位宽为1的输出信号,用于监测JTAG电路的TCK信号。当JTAG链路处于用户指令模式或者JTAG接口为SHIFT-DR状态时,才有信号输出。
- RESET:位宽为1的输出信号,在加载用户指令时有效。当JTAG接口控制器处于TEST-LOGIC-RESET状态时置高。
- RUNTEST:位宽为1的输出信号,标志 TAP 控制器是否运行
- SEL:位宽为1的输出信号,高有效。用于指示USER1数据是否加载到JTAG指令寄存器中。在UPDATE-IR状态时有效,直到加载新的指令之前,一直保持有效电平。
- SHIFT:位宽为1的输出信号,加载用户指令时有效。当JTAG接口控制器处于SHIFT-DR状态时置高。
- TDI:位宽为1的输出信号,用于检测JTAG链的TDI信号。
- UPDATE:位宽为1的输出信号,加载USER1指令和USER2指令时有效。当JTAG接口控制器处于UPDATE-DR状态时置高。
- TDO:位宽为1的输入信号,可以将外部JTAG链的TDO信号直接连到该管脚上。
BSCANE2 原语的例化代码模板如下所示:
BSCANE2 #(
.JTAG_CHAIN(1) // Value for USER command.
)
BSCANE2_inst (
.CAPTURE(CAPTURE), // 1-bit output: CAPTURE output from TAP controller.
.DRCK(DRCK), // 1-bit output: Gated TCK output. When SEL is asserted, DRCK toggles when CAPTURE or
// SHIFT are asserted.
.RESET(RESET), // 1-bit output: Reset output for TAP controller.
.RUNTEST(RUNTEST), // 1-bit output: Output asserted when TAP controller is in Run Test/Idle state.
.SEL(SEL), // 1-bit output: USER instruction active output.
.SHIFT(SHIFT), // 1-bit output: SHIFT output from TAP controller.
.TCK(TCK), // 1-bit output: Test Clock output. Fabric connection to TAP Clock pin.
.TDI(TDI), // 1-bit output: Test Data Input (TDI) output from TAP controller.
.TMS(TMS), // 1-bit output: Test Mode Select output. Fabric connection to TAP.
.UPDATE(UPDATE), // 1-bit output: UPDATE output from TAP controller
.TDO(TDO) // 1-bit input: Test Data Output (TDO) input for USER function.
);
BSCAN 在芯片中的位置如下图(也许有人说自己在添加ILA时候没有添加BSCAN啊,怎么还能抓信号呢?其实在用户自己添加 ILA 或者 VIO 核时候,VIVADO工具会自动将 BSCAN 添加进去的,这个还和ISE不同)
参考链接
chrome-extension://ibllepbpahcoppkjjllbabhnigcbffpi/https://www.xilinx.com/support/documentation/ip_documentation/bscan_jtag/v1_0/pg365-bscan-to-jtag-converter.pdf
1. JTAG
扫码关注 一起畅聊
深耕在FPGA 扎根于视频领域
卓越于神经网络
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- STL 总结与常见面试题
- kotlin中EditText赋值Type mismatch方式
- Kotlin 创建接口或者抽象类的匿名对象实例
- kotlin Context使用详解
- Android-ViewModel和LiveData使用详解
- 详解Android开发录音和播放音频的步骤(动态获取权限)
- Android自定义带圆角的ImageView
- 关于Kotlin写界面时诸多控件的点击事件
- Android webview注入JS代码 修改网页内容操作
- Kotlin 使用高阶函数实现回调方式
- Android WebView通过动态的修改js去拦截post请求参数实例
- Android使用Kotlin实现多节点进度条
- Android中webView加载H5绑定cookie实例
- 解决Android webview设置cookie和cookie丢失的问题
- Android实现清除单个域名的cookie