Lattice的JTAG编程烧录

Lattice的JTAG编程烧录

JTAG基础知识

JTAG定义

JTAG(Joint Test Action Group),联合测试行动组)是一种国际标准测试协议(IEEE1149.1兼容)。主要功能两种:一是用于测试芯片,二是用于Debug,对各类芯片以及外围设备进行调试。此处介绍Debug功能。

JTAG的基本原理是在器件内部定义一个TAP(Test Access Port测试访问口)通过专用的JTAG测试工具对内部节点测试。

边界扫描

边界扫描技术——在芯片的输入、输出引脚附近增加一个移位寄存器单元,边界扫描寄存器。

芯片调试状态:边界扫描寄存器将芯片与外围的IO口隔离,实现对芯片输入、输出信号的控制和观测。通过边界扫描寄存器单元将信号加载至芯片输入引脚,捕获输出引脚信号。

芯片正常运行:边界扫描寄存器对芯片来说透明,芯片正常运行不受影响。

TAP测试访问口

TAP控制器控制TAP访问芯片提供的数据寄存器DR和指令寄存器IR。

系统上电后,TAP Controller首先进入Test-Logic-Reset状态,然后依次进入Run-Test/Idle、Select-DR- Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR状态,最后回到Run- Test/Idle状态。在此过程中,状态的转移都是通过TCK信号进行驱动(上升沿),通过TMS信号对TAP的状态进行选择转换的。其中,在 Capture-IR状态下,一个特定的逻辑序列被加载到指令寄存器中;在Shift-IR状态下,可以将一条特定的指令送到指令寄存器中;在 Update-IR状态下,刚才输入到指令寄存器中的指令将用来更新指令寄存器。最后,系统又回到Run-Test/Idle状态,指令生效,完成对指令 寄存器的访问。当系统又返回到Run-Test/Idle状态后,根据前面指令寄存器的内容选定所需要的数据寄存器,开始执行对数据寄存器的工作。其基本 原理与指令其存器的访问完全相同,依次为Select-DR-Scan、Capture-DR、Shift-D、Exit1-DR、Update-DR, 最后回到Run-Test/Idle状态。通过TDI和TDO,就可以将新的数据加载到数据寄存器中。经过一个周期后,就可以捕获数据寄存器中的数据,完成对与数据寄存器的每个寄存器单元相连的芯片引脚的数据更新,也完成了对数据寄存器的访问。

JTAG引脚定义

TCK——测试时钟、编程时钟输入

TDI——测试数据、编程数据输入,数据通过TDI从JTAG口输入

TDO——测试数据、编程数据输出,数据通过TDO从JTAG口输出

TMS——测试模式选择、改变TAP内部的状态机的状态

TRST——复位信号,可以用来对TAP Controller进行复位(初始化)。这个信号接口在IEEE 1149.1标准里并不是强制要求的,因为通过TMS也可以对TAP Controller进行复位

STCK——时钟返回信号,在IEEE 1149.1标准里非强制要求

DBGRQ——目标板上工作状态的控制信号。在IEEE 1149.1标准里没有要求,只是在个别目标板中会有

Lattice芯片烧录(常用方式)

Bit文件烧录(debug使用):在operation双击下选择static ram cell mode。下面operation选择SRAM Fast Program。选择programming file为 后缀名bit的文件。

Jed文件烧录(固化使用):在operation双击,选择flash programming mode。选择flash erase,Program,verify选择jed文件 。

你可能感兴趣的:(FPGA)