C H A P T E R 8 体系结构对系统开发的支持.

Slides:



Advertisements
Similar presentations
10 级微电子飞跃讲座 ― 电路方向 马思鸣 北大信科微电子 10 级.
Advertisements

什么是SOPC: SOPC是英文System On a Programmable Chip的缩写,称为片上可编程系统。SOPC将传统的EDA技术、计算机系统、嵌入式系统、数字信号处理等融为一体,综合了各自的优势,且在结构上形成一块芯片。 为什么用SOPC:SOPC是现代电子技术和电子系统设计的发展趋势,建立了电子系统设计的新模式。用户利用SOPC开发平台,自行设计高速、高性能的DSP处理器、特定功能的CPU及其外围接口电路,创建结构最为简洁的电子系统。
Recent Research Progresses in Zhejiang University
第 2 章 中央處理單元.
第二部分 嵌入式硬件系统 第2章 嵌入式处理器 第3章 ARM内核与ARM处理器 第4章 嵌入式系统的外围设备.
嵌入式系统与结构 —基于ARM的体系结构和应用开发
NEUSOFT Institute of information Technology .ChengDu
第二章 微型计算机系统 第一节 基本术语和基本概念 第二节 计算机系统的基本构成 第三节 微机系统的硬件组成 第四节 微机系统的软件组成.
大连理工大学软件学院 嵌入式系统工程系 赖晓晨
軍用電腦科技趨勢與產業應用 全科科技 陳以昌.
Texas Instruments 超低功耗微控制器
第2章 SOPC硬件开发环境及流程.
第二章 微型计算机系统 2.1基本术语和基本概念 硬件与软件
第2章 FPGA/CPLD结构与应用.
最新計算機概論 第3章 計算機組織.
BIOS设置.
第3章 计算机网络体系结构.
所有培训资料均可从网站 何宾 Tel: 版权所有,禁止未经授权的商业使用行为 何宾 Tel: 所有培训资料均可从网站
电工电子实验中心.
單晶片原理與應用 魏兆煌 整理 南台科技大學 電機系 Sep
第1章 FPGA概述 1.1 FPGA的发展历程 1.2 FPGA的基本原理 1.3 FPGA的设计方法 1.4 FPGA的设计流程
CH.2 Introduction to Microprocessor-Based Control
第四章 BootLoader开发 附-s3c2410/s3c2440处理器介绍
4.1内存在系统中的使用 4.2内存的分类 4.3内存的技术指标 4.4内存条的种类 4.5内存技术展望 4.6内存的选购
第 6 章 I/O 接口和总线 中国科学技术大学 何克东.
ARM 架构.
第一章 嵌入式系统开发基础 本章介绍了嵌入式系统开发的基础知识,从嵌入式计算机的历史由来、嵌入式系统的定义、嵌入式系统的基本特点、嵌入式系统的分类及应用、嵌入式系统软硬件各部分组成、嵌入式系统的开发流程、嵌入式技术的发展趋势等方面进行了介绍,涉及到嵌入式系统开发的基本内容,使读者系统地建立起的嵌入式系统整体概念。
電腦硬體基本介紹 國立高雄大學資訊工程學系 林士倫 2010/10/21.
第十章 C8051F系列SOC单片机 10.1 C8051F系列单片机简介 C8051F单片机结构及原理.
ARM存储器结构 ARM架构的处理器的存储器寻址空间有4G字节 ,存储空间可以分为 :
主講:王穎聰 電腦與通訊工程學系講師 銘傳大學資訊網路處
FIFO 与 UPP 本节我们结合UPP接口给大家介绍一下FIFO在实际工程中的使用。 广州创龙电子科技有限公司 广州创龙电子科技有限公司
SOC 期中報告 進度報告 Adviser: Chao-Lieh Chen Student:
可编程片上系统设计 何宾
S3c2410电路设计(以北京博创s3c2410-s实验箱为例讲解)
C H A P T E R 10 存储器层次.
AMBA AXI4协议 何宾
智能电子钱包终端设计(一) ——CPU卡与COS文件结构
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
1-1 微電腦系統單元 1-2 微電腦系統架構 1-3 微控制器(單晶片微電腦) 1-4 類比與數位訊號介面
5 Computer Organization (計算機組織).
Operating System Internals and Design principles
嵌入式系统教案 武汉创维特信息技术有限公司 2018/11/27.
Block diagram BB —逻辑 —音频 —电源管理 HW interface. Block diagram BB —逻辑 —音频 —电源管理 HW interface.
組長: 劉瀚元 組員: 黃靖、鄧靖蓉、林亮佑 指導教授: 林得裕
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
定点数字信号处理器(DSP) 技术与应用 16位定点DSP—ADSP218X/219X.
Ch 9: Input/Output System 输入/输出系统
第6章 FPGA的下载配置电路设计.
EDA 原理及应用 何宾
嵌入式系統概論-以S3C2440核心為架構 第1章 嵌入式系統概念.
聊城大学物理科学与信息工程学院 微控制器原理 聊城大学物理科学与信息工程学院
第14章 其它DSP设计库 14.1 总线控制库 14.2 复数信号库 14.3 Gates库 14.4 状态机函数库
APEX 20K 用于系统集成的嵌入式 PLD 系列 © 1998 Altera Corporation 1
AMBA 版本 2.0 (AHB/ASB 和 APB).
JTAG INTERFACE SRAM TESTER WITH C-LCM
第2章 ARM微处理器硬件结构 计算机体系结构分类 ARM版本及系列 ARM处理器结构 存储系统机制.
EDA 第二章 可编程逻辑器件.
第2章 计算机基本硬件介绍及选购 2.1 主板 2.2 中央处理器CPU 2.3 内存.
ARM 架构.
ARM 架构.
8051單晶片 蘇恆生 老師.
第2章ARM/THUMB微处理器结构及指令系统
第1章 概述 1.1 DSP实现方案及设计流程 1.2 现代DSP设计流程概述 1.3 两类DSP解决方案的比较.
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
ARM Developer Suite 介 绍.
嵌入式系统教案 武汉创维特信息技术有限公司 2019/4/18.
SoC 與微控制器的發展 朱亞民.
ARM裸机第一部分-ARM那些你得知道的事
Programmable Logic System Design
Presentation transcript:

C H A P T E R 8 体系结构对系统开发的支持

基于ARM的SoC设计技术

在线仿真器ICE(In-Circuit Emulator) 过去20多年 在线仿真器ICE(In-Circuit Emulator)

现在

基于ARM IP Core的SoC设计 可以取代ICE的几项技术: 1. 快速硅原形 (ARM综合器integrator) 2. ARMulator 3. JTAG SoC标准单元

ARM Integrator

ARMulator RealView ICE

JTAG(Joint Test Action Group) JTAG(IEEE Standard 1149.1 - Test Access Port and Boundary-Scan Architecture )

abe、ale、ape、dbe、lock和bl[3:0] 8.1 ARM存储器接口 ARM总线信号 A[31:0] D[31:0] /mreq seq /R/W及传送位数的信号mas[1:0] abe、ale、ape、dbe、lock和bl[3:0]

简单存储器接口(适合于ROM和SRAM) 由四片8位存储器构成32位宽的存储器

简单的ARM存储器系统控制逻辑

ROM等待控制状态转换图

ROM等待状态产生电路 ROM等待状态电路的时序

具有用于地址译码的等待状态的状态转换图

DRAM存储器的组织

ARM地址寄存器结构

DRAM时序图

一个内部周期之后的DRAM时序

问题:如何将电气上相互独立的两个或者多个部件连接在一起,使它们能够相互通信? 8.2 AMBA总线—引子:结构互连 问题:如何将电气上相互独立的两个或者多个部件连接在一起,使它们能够相互通信? 这一互连问题(Interconnection Problem)在计算机系统的硬件设计中普遍存在,遍及各个层次: CPU内部各个模块的互连 计算机内部各个部件的互连 计算机与外部各个IO设备之间的互连 多台计算机之间的互连 大规模网络的互连 思考和想象:结构互连你能想出多少种方式?

总线宽度 总线的主要参数 总线频率 总线带宽 又称总线位宽,指的是总线能同时 传送数据的位数。如16位总线就是 具有16位数据传送能力。 总线带宽(单位:MB/s) =(总线宽度/8)× 总线频率 总线工作速度的一个重要参数, 工作频率越高,速度越快。 通常用MHz表示。 总线频率 如:总线宽度32位,频率66MHZ,则 总线带宽=(32/8)* 66MHz=264MB/s 又称总线的数据传送率,是指在一 定时间内总线上可传送的数据总量, 用每秒最大传送数据量来衡量。 总线带宽越宽,传输率越高。 总线带宽

一个微处理器系统可能含有多条总线 原因: 数据宽度:高速总线通常提供较宽的数据连接。 成本:高速总线通常采用更昂贵的电路和连接器。 桥 低速总线 高速设备 总线互联的电路 低速设备 原因: 数据宽度:高速总线通常提供较宽的数据连接。 成本:高速总线通常采用更昂贵的电路和连接器。 桥允许总线独立操作,这样在I/O操作中可提供某些并行性。

8.2 AMBA总线 摩尔定律:半导体芯片上的晶体管数(密度)大约最多每两年(12-18个月)就翻一番。 -更多的处理器 -更多的存储器 -更多的外围功能器件 在不失去系统性能的情况下如何把它们连接起来? 而且要尽可能地高效率?

三种片内总线 AHB或ASB总线 APB总线 桥 ARM处理器核 宽带片上 RAM DMA控制器 宽带外部 RAM接口 UART PIO 定时器 键盘控制器 AHB或ASB总线 APB总线 AMBA总线结构 Wishbone总线结构 Avalon总线结构

事实上的片上总线标准

AMBA的发展历史 1995 – AMBA specification 1999 – AMBA 2 specification APB peripheral bus and ASB system bus launched 1999 – AMBA 2 specification Added the easy to design-in AHB system bus APB changed from latch-based to clock-edge based design 2003 – AMBA 3 specification - Added high performance AXI interconnect and ASB obsoleted - AHB-Lite replaces AHB to remove redundant features - APB enhanced with wait-states and error response 1999 2003

AMBA总线 AMBA总线规范是由ARM公司推出的一种用于高性能嵌入式微处理器设计的片上总线标准,由于AMBA总线的开放性和其本身的高性能,以及由于ARM处理器的广泛应用,AMBA已成为SOC设计中使用最广泛的总线标准。 目前AMBA 总线规范的版本为3.0,它定义了三组不同的总线:AMBA高性能总线AHB (Advanced High-performance Bus),AMBA高性能系统总线ASB (Advanced System Bus)和AMBA 高性能外设总线APB (Advanced Peripheral Bus)。 AHB作为高性能的系统中枢总线驱动速度较快的设备,支持突发模式的数据传送和事务分隔,并支持流水线操作。 APB则是作为传送速度较低的外围设备总线,驱动速度较慢的设备。

典型的AMBA构架 AHB的特性 : 桥 AHB或ASB总线 APB总线 单个时钟边沿操作; 非三态的实现方式; 支持突发传输; ARM处理器核 宽带片上 RAM DMA控制器 宽带外部 RAM接口 桥 UART PIO 定时器 键盘控制器 AHB或ASB总线 APB总线 AHB的特性 : 单个时钟边沿操作; 非三态的实现方式; 支持突发传输; 支持分段传输; 支持多个主控制器(最多16个模块); 可配置32位~128位总线宽度; 支持字节、半字和字的传输。

AHB总线的接口信号 时钟信号 仲裁信号 地址信号 控制信号 写数据 读数据 响应信号 AHB总线的接口信号 AHB 系统由主模块(Master)、从模块(Slave)和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都是由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器 、译码器、虚拟从模块、虚拟主模块等组成。 时钟信号 仲裁信号 地址信号 控制信号 写数据 读数据 响应信号 AHB总线的接口信号 除了时钟与仲裁信号之外,其余的信号皆通过多路器传送。

HCLK 总线参考时钟 HADDR 地址(由AHB主器件发出) HWRITE 传输方向:读/写(由AHB主器件发出) HREADY 传输完成响应(由AHB从器件发出) HWDATA 写入数据总线(从AHB主器件至AHB从器件) HRDATA 读取数据总线(从AHB从器件至AHB主器件) HRESP 传输状态(由AHB从器件发出) HBURST 脉冲模式(由AHB主器件发出) HTRANS 传输状态(由AHB主器件发出) HSIZE 脉冲长度(由AHB主器件发出) HPROT 保护类型(由AHB主器件发出)

AMBA总线-AHB 主单元 从单元 AHB总线 仲裁器 译码器 总线译码器用于传输译码工作,提供传输过程中从单元的片选信号。 只有主单元可在任何时刻使用总线。 AHB可以有一个或多个主单元。 主单元可以是RISC处理器、协处理器以及DMA控制器,以启动和控制总线操作。 可以响应(并非启动)读或写总线操作。 总线的从单元可以在给定的地址范围内对读写操作进行相应的反应。 从单元向主单元发出成功、失败信号或等待各种反馈信号。 从单元通常是其复杂程度不足以成为主单元的固定功能块,例如外存接口、总线桥接口以及任何内存都可以是从单元,系统的其他外设也包含在AHB的从单元中。 从单元 AHB总线 用来确定控制总线是哪个主单元,以保证在任何时候只有一个主单元可以启动数据传输。 一般来说仲裁协议都是固定好的,例如最高优先级方法或平等方法,可根据实际的情况选择适当的仲裁协议。 仲裁器 译码器 总线译码器用于传输译码工作,提供传输过程中从单元的片选信号。

AHB外设可能立即发送/接收数据,或通过发出HREADY信号插入等待状态。从器件也通过HRESP信号返回传输状态,这些状态可能如下 OKAY(成功): 传输成功-成功完成信号传输的缺省响应。 ERROR(错误):不成功的传输-表示出现了异常中断,例如访问一个不存在的内存地址。 RETRY(重试):从器件无法立即实现操作,主器件应在稍后重试。 SPLIT(等待):从器件将要求列队等待-从器件将在可以提供或接收数据时发出通知,可用于中断多个传输(脉冲)。 重试和等待的主要区别在于,重试表明从器件仍未就绪;主器件可在任意时刻重发命令。而等待包含的协议较为复杂,它就绪后将通过这一协议通知判优器。等待处理对从器件逻辑的要求较为复杂,并非必备的从器件功能。

AHB总线的互连

AHB总线主模块接口

AHB总线从模块接口

AHB总线仲裁器接口

AHB主器件判优信号 HREQ 总线要求(由AHB主器件发出)HGNT 总线指派(由AHB判优器发出) HLOCK 总线锁定(由AHB主器件发出) HMASTER 指定目前工作的主器件(由AHB判优器发出) HMASTLOCK 主器件执行锁定传输(由AHB判优器发出)

AHB基本传输 一个典型的AHB总线工作过程,它包括以下两个阶段: 地址传送阶段(address phase):它将只持续一个时钟周期。在HCLK的上升沿数据有效。所有的从单元都在这个上升沿来采样地址信息。 数据传送阶段(data phase):它需要一个或几个时钟周期。可以通过HREADY信号来延长数据传输时间,当HREADY信号为低电平时,就在数据传输中加入等待周期,直到HREADY信号为高电平才表示这次传输阶段结束。

AHB基本传输过程

Transfer在data phase时无法1个clock cycle完成 AHB基本传输过程 Transfer在data phase时无法1个clock cycle完成

AHB总线流水线操作

HTRANS[1:0] Transfer Type 五类Control signal HTRANS[1:0] Transfer Type IDLE BUSY NONSEQ(Non-sequential) SEQ (Sequential) HBURST[2:0] Burst Type HPROT[3:0] Protection Control HSIZE[2:0] Transfer Size HWRITE Transfer Direction

transfer type example

APB总线 APB从单元的接口信号 在APB里面唯一的主模块就是与AHB总线相接的APB 桥。 APB主要 用于低带 宽的周边 外设之间 的连接 APB从单元的接口信号 在APB里面唯一的主模块就是与AHB总线相接的APB 桥。

APB传输 APB上的状态图

APB写传输时序图

APB读传输时序图

APB桥 APB桥是在 AMBA APB 上唯一的总 选 线主模块。 择 另外,APB 信 桥也是在更 号 高层次系统 总线上的一 个从模块。 桥单元把系 统总线传输 转化为APB 总线传输。 选 择 信 号 系统总线 从模块接口

APB桥的传输过程

APB桥的功能 锁存地址并在整个传输过程中保持其有效,直到数据传送完成。 地址译码并且生成一个外部选择信号PSELx,在一次传输期间只有一个选择信号有效. 写传送时驱动数据到APB总线上。 读传时驱动APB数据到系统总线上。 为传送触发使能信号PENABLE,使其有效。

ARM IP中AHB和APB

8.3 ARM参考外围规范 AMBA提供了在同一芯片上连接硬件元件的系统方法 这些部件又如何支持基本的操作系统功能? ARM Reference Peripheral Specification: 定义了一个基本部件集,提供了一个操作系统运行的基本框架 便于在符合实现之间移植软件,提高新系统软件开发的起步层次

这些部件通过AMBA总线和不同ARM核结合,可以设计出多样的ARM微处理器 基本部件 参考外围规范定义了下列部件: 存储器映射 中断控制器 计数定时器 复位控制器 这些部件通过AMBA总线和不同ARM核结合,可以设计出多样的ARM微处理器 任何包含这个基本部件集的ARM系统都可以支持一个适当配置的操作系统内核。其后的系统设计可以进一步加入专用外围接口以及支持软件

http://infocenter.arm.com/help/index.jsp

8.4 建立硬件系统原型的工具 软件工具仿真验证? 1.集成后如何知道是正确的? 1.减少芯片级设计工作量 2.是否可以达到专用系统实时性等方面的性能指标 ? 3.软件设计什么时候可以开始? 1.减少芯片级设计工作量 2.提高软件支持度(the same IP core = the same Operation System Core 在SoC的设计中: IP复用 AMBA总线互连

VLSI公司的快速硅原型(rapid silicon prototyping) 目标系统建模分两个步骤: ARM Integrator VLSI公司的快速硅原型(rapid silicon prototyping) 目标系统建模分两个步骤: 对选择的参考芯片进行重构,使那些目标系统不需要的片上模块无效 目标系统需要但参考芯片又没有的模块由片外扩展来实现 ASIC FPGA

快速硅原型理论

ARM RealView Family Logic Tile开发板 ARM RealView Family Logic Tile 板载 Xilinx 公司的大规模 FPGA ,可以和其他 ARM Versatile 系列、 Integrator 系列开发板配合使用,用于验证 SoC 设计者的专有 IP 的设计。Logic Tile 可以直接叠加到 开发板自带的 ARM926EJ-S核上使用。Logic Tile 也可以通过 IM-LT1 接口板与 Integrator/CP ( Integrator Compact platform )系列产品配合使用。

ARM Integrator和ARMulator的区别 8.5 ARM仿真器ARMulator 通常由四部分组成: 处理器核模型 存储器接口 处理器接口 操作系统接口 ARM Integrator和ARMulator的区别 时序的精确度 软件模型 硬件模型 软硬件的协调设计

RealView Integrator-CP平台 Versatile PB/AB平台 Emulation Baseboard(EB) 实际上ARM公司提供有多种开发平台 ARMulator仿真平台 最基础的ARM指令集仿真器,可以模拟执行开发人员编写的C或汇编程序,支持源代码调试,帮助开发者确定代码编写的正确性。另一方面,ARMulator还能大致统计出,诸如:代码执行周期数,Cache命中率,存储器访问等利于我们优化代码的信息。但ARMulator是基于CPU的模拟,缺点在于比较难于模拟整个芯片系统的行为。 RealView Integrator-CP平台 Versatile PB/AB平台 Emulation Baseboard(EB) ESL虚拟平台 RTSM

8.6 JTAG边界扫描测试结构

JTAG IEEE1149

什么是JTAG? JTAG是Joint Test Action Group的缩写是IEEE1149.1标准 JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试 在ARM处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的

测试信号 TMS: 测试模式选择(Test Mode Select),通过TMS信号控制JTAG状态机的状态 TCK :JTAG的时钟信号 TDI:数据输入信号 TDO :数据输出信号 nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell) 事实上,通过TAP接口,对数据寄存器(DR)进行访问的一般过程是: 􀂃 通过指令寄存器(IR),选定一个需要访问的数据寄存器; 􀂃 把选定的数据寄存器连接到TDI和TDO之间; 􀂃 由TCK驱动,通过TDI,把需要的数据输入到选定的数据寄存器当中去;同时把选定的数据寄存器中的数据通过TDO读出来。

对多内核/多处理器的调试

TAP控制器 Test-Logic Reset Run-Test/Idle Select-DR-Scan Capture-DR 系统上电后,TAP Controller自动进入该状态。在该状态下,测试部分的逻辑电路全部被 禁用,以保证芯片核心逻辑电路的正常工作。通过TRST信号也可以对测试逻辑电路进行复位,使得TAP Controller进入Test-Logic Reset状态。前面我们说过TRST是可选的一个信号接口,这是因为在TMS上连续加5个TCK脉冲宽度的“1”信号也可以对测试逻辑电路进行复位,使得TAP Controller进入Test-Logic Reset状态。所以,在不提供TRST信号的情况下,也不会产生影响。在该状态下,如果TMS一直保持为“1”,TAP Controller将保持在Test-Logic Reset状态下;如果TMS由“1”变为“0”(在TCK的上升沿触发),将使TAP Controller进入Run-Test/Idle状态。 Run-Test/Idle 这个是TAP Controller在不同操作间的一个中间状态。这个状态下的动作取决于当前指令寄存器中的指令。有些指令会在该状态下执行一定的操作,而有些指令在该状态下不需要执行任何操作。在该状态下,如果TMS一直保持为“0”,TAP Controller将一直保持在Run-Test/Idle状态下;如果TMS由“0”变为“1”(在TCK的上升沿触发),将使TAP Controller进入Select-DR-Scan状态。 Select-DR-Scan 这是一个临时的中间状态。如果TMS为“0” (在TCK的上升沿触发),TAP Controller进入Capture-DR状态,后续的系列动作都将以数据寄存器作为操作对象;如果TMS为“1” (在TCK的上升沿触发),TAP Controller进入Select-IR-Scan状态。 Capture-DR 当TAP Controller在这个状态中,在TCK的上升沿,芯片输出管脚上的信号将被“捕获”到与之对应的数据寄存器的各个单元中去。如果TMS为“0” (在TCK的上升沿触发),TAP Controller进入Shift-DR状态;如果TMS为“1” (在TCK的上升沿触发),TAP Controller进入Exit1-DR状态。 Shift-DR 在这个状态中,由TCK驱动,每一个时钟周期,被连接在TDI和TDO之间的数据寄存器将从TDI接收一位数据,同时通过TDO输出一位数据。如果TMS为“0” (在TCK的上升沿触发),TAP Controller保持在Shift-DR状态; 如果TMS为“1” (在TCK的上升沿触发),TAP Controller进入到Exit1-DR状态。假设当前的数据寄存器的长度为4。如果TMS保持为0,那在4个TCK时钟周期后,该数据寄存器中原来的4位数据(一般是在Capture-DR状态中捕获的数据)将从TDO输出来;同时该数据寄存器中的每个寄存器单元中将分别获得从TDI输入的4位新数据。 Update-DR 在Update-DR状态下,由TCK上升沿驱动,数据寄存器当中的数据将被加载到相应的芯片管脚上去,用以驱动芯片。在该状态下,如果TMS为“0”,TAP Controller将回到Run-Test/Idle状态;如果TMS为“1”,TAP Controller将进入Select-DR-Scan状态。 Select-IR-Scan 这是一个临时的中间状态。如果TMS为“0” (在TCK的上升沿触发),TAP Controller进入Capture-IR状态,后续的系列动作都将以指令寄存器作为操作对象;如果TMS为“1” (在TCK的上升沿触发),TAP Controller进入Test-Logic Reset状态。 Capture-IR 当TAP Controller在这个状态中,在TCK的上升沿,一个特定的逻辑序列将被装载到指令寄存器中去。如果TMS为“0” (在TCK的上升沿触发),TAP Controller进入Shift-IR状态;如果TMS为“1” (在TCK的上升沿触发),TAP Controller进入Exit1-IR状态。 Shift-IR 在这个状态中,由TCK驱动,每一个时钟周期,被连接在TDI和TDO之间的指令寄存器将从TDI接收一位数据,同时通过TDO输出一位数据。如果TMS为“0” (在TCK的上升沿触发),TAP Controller保持在Shift-IR状态; 如果TMS为“1” (在TCK的上升沿触发),TAP Controller进入到Exit1-IR状态。假设指令寄存器的长度为4。如果TMS保持为0,那在4个TCK时钟周期后,指令寄存器中原来的4bit长的特定逻辑序列(在Capture-IR状态中捕获的特定逻辑序列)将从TDO输出来,该特定的逻辑序列可以用来判断操作是否正确;同时指令寄存器将获得从TDI输入的一个4bit长的新指令。 Update-IR 在这个状态中,在Shift-IR状态下输入的新指令将被用来更新指令寄存器。 Test Access Port (TAP) controller state transition diagram

测试芯片及其当前选定的边界扫描链

边界扫描链的访问过程(1)

边界扫描链的访问过程(2)

边界扫描链的访问过程(3)

边界扫描链的访问过程(4)

边界扫描链的访问过程(5)

边界扫描链的访问过程(6)

数据寄存器 指令寄存器 公共指令 JTAG 器件标识寄存器 旁路寄存器 边界扫描寄存器 其他寄存器用于其他功能的测试 BYPASS EXTEST IDCODE INTEST

PCB测试 VLSI测试 EmbeddedICE 宏单元测试 A possible JTAG extension for macrocell testing

8.7 ARM调试结构 一个调试系统一般包括三个部分: 调试主机 协议转换器 调试目标 典型的调试结构

为了支持底层的调试,ARM处理器提供了硬件上的扩展,这些调试扩展包括: 停止程序的运行 检查和修改ARM的内核状态 观察和修改内存 恢复程序的运行

8.8 嵌入式跟踪 实时调试系统的组织

实时调试方案通过三种途径解决: EmbeddedICE硬逻辑 实时监控 实时跟踪

8.9 对信号处理的支持 ARM+DSP Piccolo ARM v5TE

Piccolo的组织

v5TE信号处理指令

ARM v5TE PSR format

Architecture v5TE multiply instruction binary encoding

Architecture v5TE add/subtract instruction binary encoding