JTAG 调试 & RISC-V调试
文章平均质量分 84
JTAG 调试 & RISC-V调试
雪天鱼
一名FPGA爱好者
展开
-
【RISC-V Debug】学习笔记(三)借助 ILA 在线查看调试信号
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和数字IC设计。关注公众号【集成电路设计教程】,获取更多学习资料,并拉你进“IC设计交流群”。QQIC设计&FPGA&DL交流群 群号:866169462。Vivado IDE提供了三种具有不同集成层次的ILA插入方法:HDL 实例化调试探针流程网表插入调试探针流程约束文件插入调试探针流程这里我选择的是【网表插入调试探针流程】,在 Vivado 综合后的网表中,分别标记要进行调试观察的各个信号,然后通过一个简单的“原创 2022-03-07 10:53:20 · 5672 阅读 · 0 评论 -
zynq ultrascale mpsoc 自定义配置文件解析
文章目录一、配置文件代码二、相关命令官方文档参考链接最近在用 openocd 调试 zynq ultrascale mpsoc PS端的 A53。现在调通了,对配置文件进行一个解析记录,方便自己后续回顾。一、配置文件代码openocd 使用的是 PJTAG 端去连接的 MPSOC,JTAG 扫描链上只有 ARM DAP。如下图所示:调试器使用的是 FTDI ft4232h。这个配置文件简单,openocd官方也有demo,也不赘述了。zynq mpsoc的配置文件如下所示,我会逐行解释代码:#原创 2022-02-23 15:58:58 · 2280 阅读 · 2 评论 -
基于 Openocd 和 FT2232H 的 ARMv8(Coretex-A53)调试
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和SOC设计。关注公众号,拉你进“IC设计交流群”。文章目录一、Openocd 配置流程二、 FTDI FT2232H 连接测试2.1 UsbDriverTool 安装2.2 连接 ft2232h三、连接 Coretx-A53openocd全名为Open On-ChipDebugger,是一个自由开放的片上调试工具和编程工具,目前已经发布到0.11.0版本,目前主流调试器几乎都支持,具体可以查看Open On-Chip Debugger:O原创 2022-02-15 16:14:31 · 5853 阅读 · 3 评论 -
Arm Debug Interface(ADIv5)解析(一)简介与实现【持续更新中】
我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索和SOC设计。关注公众号,拉你进“IC设计交流群”。文章目录一、ADIv5 简介二、ADIv5的实现2.1 JTAG-DP一、ADIv5 简介ADI 是Arm 用来连接并使用内嵌 CoreSight 架构SoC调试功能的接口,目前最新版本是 ADIv6,我目前工作所用到的 ADIv5,所以先对 ADIv5进行学习。ADIv5主要组件有两个:Access Port(AP):ADIv5.0定义了两个AP,即 JTAG-AP 和 MEM-原创 2022-02-15 14:30:57 · 4683 阅读 · 3 评论 -
tinyriscv中的跨时钟域传输解析
我是***雪天鱼***,一名FPGA爱好者,研究方向是FPGA架构探索。关注公众号,拉你进“IC设计交流群”。文章目录一、full_handshake_rx1.1 输入输出信号1.2 代码逻辑二、full_handshake_tx2.1 输入输出信号2.2 代码逻辑三、跨时钟域传输总结受一位朋友之邀写了这篇博客,讲解 tinyriscv 中的跨时钟域传输。所解析的代码路径:tinyriscv\rtl\utils\full_handshake_rxtinyriscv\rtl\utils\ful原创 2022-02-14 16:25:54 · 1253 阅读 · 0 评论 -
CyAPI使用(1)开发环境搭建
文章目录一、组件开发程序安装与测试CyAPI是一个开源的USB通信接口,现在来搭建其开发环境。软件及硬件信息:系统:Window 10 64位开发软件:Cypress Suite USB 3.4.7VS2022硬件:EZ-USB FX2CY7C68013一、组件开发程序安装与测试Cypress Suite USB 3.4.7,下载安装。打开安装目录:其中CyAPI目录下提供了供开发使用的头文件和 lib库文件,还有相关的说明文档然后开始进行测试(1)打开VS2原创 2022-01-16 09:26:10 · 3092 阅读 · 3 评论 -
驱动INF文件解析和 为自己的设备安装指定驱动
文章目录一、修改INF文件二、给INF驱动文件签名2.1 工具准备转载请注明出处!作者:雪天鱼目的:为自己的设备安装CyUSB驱动,然后用CyAPI进行一些读写测试。首先Windows为USB设备安装驱动是根据硬件ID和兼容ID来进行匹配的。我的设备的硬件ID和要安装的驱动分别如下所示:设备:AL-Link一、修改INF文件驱动:Cyusb直接为设备安装该驱动安装不上,需要修改 cyusb.inf 文件。打开 cyusb.inf文件,有:[Manufacturer]%CYUSB_原创 2022-01-10 18:14:22 · 11738 阅读 · 2 评论 -
USB四种传输模式
文章目录一、Bulk传输事务二、控制传输事务三、中断传输事务四、同步传输事务转载文章当USB插入USB总线时,USB控制器会自动为该USB设备分配一个数字来标示这个设备。另外,在设备的每个端点都有一个数字来表明这个端点。USB设备驱动向USB控制器驱动请求的每次传输被称为一个事务(Transaction),事务有四种类型,分别是:Bulk TransactionControl TransactionInterrupt TransactionIsochronous Transaction每转载 2022-01-08 10:39:00 · 2176 阅读 · 0 评论 -
FTDI FTD2XX 驱动学习笔记(一)
文章目录一、 简介二、常用的D2XX 函数参考文献注:转载请注明出处作者:雪天鱼,,记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02021.12.24FTDI 为其驱动程序提供 DLL 和虚拟 COM 端口 (VCP) 应用程序接口,现主要学习 FTD2XX 驱动。一、 简介FTDI的 D2XX 驱动下载链接:D2XX可以选择直接使用 CDM 驱动安装程序进行安装,CDM驱动包含了D2XX 和 VCP两种驱动原创 2021-12-24 10:45:20 · 7518 阅读 · 1 评论 -
FTDI FT2232H USB TO JTAG学习笔记(一)基础概念
文章目录一、FT2232H 和 JTAG 简介1.1 FT2232H1.2 JTAG二、MPSSE 配置2.1 MPSSE简介2.2 串行协议配置注:转载请注明出处参考Application Note AN_129 Interfacing FTDI USB Hi-SpeedDevices to a JTAG TAP 。记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02021.12.20一、FT2232H 和 JTA原创 2021-12-20 16:28:11 · 14642 阅读 · 0 评论 -
RISC-V Debug学习笔记(一)JTAG调试模块的Verilog实现
文章目录一、jtag_top.v二、jtag_driver.v注:转载请注明出处参考RISC-V External Debug Support Version 0.14.0-DRAFT。记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02012.12.16在此之前,我学习了JTAG标准,现在需要通过实践去加深理解。故这篇笔记用来介绍RISC-V SoC中调试模块的实现。以Gitee上 tinyriscv 项目中的调试原创 2021-12-17 19:16:22 · 7917 阅读 · 7 评论 -
JTAG 标准IEEE STD 1149.1-2013学习笔记(四)Test logic controllers
文章目录一、TAP控制器的状态转移图二、各状态介绍注:转载请注明出处参考JTAG标准第六章测试逻辑控制器(Test logic controllers)。记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02012.12.15这篇笔记用来介绍TAP 控制器,TAP控制器是同步有限状态机,状态根据 TMS 和 TCK 信号的变化而变化,控制测试逻辑的行为,并保持测试扫描链上所有组件的同步,以允许移位、捕获和数据更新。一、原创 2021-12-15 15:36:38 · 5150 阅读 · 0 评论 -
JTAG 标准IEEE STD 1149.1-2013学习笔记(三)Test data registers
文章目录一、TDR的实现二、Bypass Register三、Boundary-scan register注:转载请注明出处参考JTAG标准第九章测试数据寄存器(Test data registers)、第10章旁路寄存器(Bypass register)、第11章边界扫描寄存器(boundary-scan register)。记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02012.12.15此标准所定义的测试逻辑原创 2021-12-15 11:26:38 · 3610 阅读 · 0 评论 -
JTAG 标准IEEE STD 1149.1-2013学习笔记(二)Instruction register
文章目录一、D型扫描触发器二、IR 电路结构三、指令寄存器的操作注:转载请注明出处参考JTAG标准第七章指令寄存器(Instruction register)记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02012.12.14顾名思义,指令寄存器用来存储指令的,指令通过TDI输入到指令寄存器,再通过指令译码,产生对应控制信号, 用于选择要执行的测试操作或要访问的测试数据寄存器(DR)。一、D型扫描触发器在正式介绍原创 2021-12-14 17:04:55 · 3732 阅读 · 0 评论 -
JTAG 标准IEEE STD 1149.1-2013学习笔记(一)Test logic architecture
文章目录参考JTAG标准第五章测试逻辑架构(Test logic architecture)记录下学习过程,个人水平有限,可能理解有误,后续若发现错误之处,会及时更新。VersionDate1.02012.12.04首先此测试逻辑架构必须包含的组件有一个 TAP 控制器一个指令寄存器 IR一组测试数据寄存器 DR测试逻辑架构示意图如图1所示片上测试逻辑概念图下面简单介绍下此示意图:(1)TAP 控制器接收TCK,TMS和TRST(可选)信号,产生 IR、原创 2021-12-14 14:24:12 · 1833 阅读 · 0 评论