860 likes | 1.07k Views
C H A P T E R. 8. 体系结构对系统开发的支持. 基于 ARM 的 SoC 设计技术. 过去 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).
E N D
C H A P T E R 8 体系结构对系统开发的支持
过去20多年 在线仿真器ICE(In-Circuit Emulator)
基于ARM IP Core的SoC设计 可以取代ICE的几项技术: 1. 快速硅原形 (ARM综合器integrator) 2. ARMulator 3. JTAG SoC标准单元
ARMulator RealView ICE
JTAG(Joint Test Action Group) JTAG(IEEE Standard 1149.1 - Test Access Port and Boundary-Scan Architecture )
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位宽的存储器
ROM等待状态产生电路 ROM等待状态电路的时序
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个月)就翻一番。 -更多的处理器 -更多的存储器 -更多的外围功能器件 在不失去系统性能的情况下如何把它们连接起来? 而且要尽可能地高效率?
ARM处理器核 宽带片上 RAM UART PIO 桥 宽带外部 RAM接口 DMA控制器 定时器 键盘控制器 三种片内总线 AHB或ASB总线 APB总线 AMBA总线结构 Avalon总线结构 Wishbone总线结构
AMBA的发展历史 • 1995 – AMBA 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则是作为传送速度较低的外围设备总线,驱动速度较慢的设备。
ARM处理器核 宽带片上 RAM UART PIO 桥 宽带外部 RAM接口 DMA控制器 定时器 键盘控制器 • 典型的AMBA构架 AHB或ASB总线 APB总线 AHB的特性 : 单个时钟边沿操作; 支持突发传输; 非三态的实现方式; 支持分段传输; 支持多个主控制器(最多16个模块); 可配置32位~128位总线宽度; 支持字节、半字和字的传输。
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可以有一个或多个主单元。 • 主单元可以是RISC处理器、协处理器以及DMA控制器,以启动和控制总线操作。 主单元 • 可以响应(并非启动)读或写总线操作。 • 总线的从单元可以在给定的地址范围内对读写操作进行相应的反应。 • 从单元向主单元发出成功、失败信号或等待各种反馈信号。 • 从单元通常是其复杂程度不足以成为主单元的固定功能块,例如外存接口、总线桥接口以及任何内存都可以是从单元,系统的其他外设也包含在AHB的从单元中。 从单元 AHB总线 • 用来确定控制总线是哪个主单元,以保证在任何时候只有一个主单元可以启动数据传输。 • 一般来说仲裁协议都是固定好的,例如最高优先级方法或平等方法,可根据实际的情况选择适当的仲裁协议。 仲裁器 译码器 • 总线译码器用于传输译码工作,提供传输过程中从单元的片选信号。
AHB外设可能立即发送/接收数据,或通过发出HREADY信号插入等待状态。从器件也通过HRESP信号返回传输状态,这些状态可能如下AHB外设可能立即发送/接收数据,或通过发出HREADY信号插入等待状态。从器件也通过HRESP信号返回传输状态,这些状态可能如下 • OKAY(成功): 传输成功-成功完成信号传输的缺省响应。ERROR(错误):不成功的传输-表示出现了异常中断,例如访问一个不存在的内存地址。RETRY(重试):从器件无法立即实现操作,主器件应在稍后重试。 • SPLIT(等待):从器件将要求列队等待-从器件将在可以提供或接收数据时发出通知,可用于中断多个传输(脉冲)。 • 重试和等待的主要区别在于,重试表明从器件仍未就绪;主器件可在任意时刻重发命令。而等待包含的协议较为复杂,它就绪后将通过这一协议通知判优器。等待处理对从器件逻辑的要求较为复杂,并非必备的从器件功能。
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完成
五类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
AMBA-APB总线 • APB主要 • 用于低带 • 宽的周边 • 外设之间 • 的连接 APB从单元的接口信号 在APB里面唯一的主模块就是与AHB总线相接的APB 桥。
APB传输 • APB上的状态图
APB写传输时序图 • 当写传送时数据锁定在下列点: • --当PSELx为高电平时,在每个PCLK的上升沿,在PENABLE的上升沿。 • --片选信号PSELx和地址信号PADDR可合并起来决定需要操作的寄存器。
APB桥 APB桥是在 AMBA APB 上唯一的总 线主模块。 另外,APB 桥也是在更 高层次系统 总线上的一 个从模块。 桥单元把系 统总线传输 转化为APB 总线传输。 选 择 信 号 系统总线 从模块接口
APB桥的功能 • 锁存地址并在整个传输过程中保持其有效,直到数据传送完成。 • 地址译码并且生成一个外部选择信号PSELx,在一次传输期间只有一个选择信号有效. • 写传送时驱动数据到APB总线上。 • 读传时驱动APB数据到系统总线上。 • 为传送触发使能信号PENABLE,使其有效。