发表于:2003-09-24 11:45:00
楼主
S698 32位SPARC嵌入式处理器设计及其应用
欧比特(珠海)软件工程有限公司
www.orbitabluebox.com
摘要: 本文阐述了32位嵌入式处理器S698的设计、实现及其应用设计,并着重介绍了S698处理器芯片的体系架构、功能、片上外设配置以及S698处理器的芯片开发系统和应用开发系统。本文也简述了基于S698处理器的Compact PCI主机板产品的应用设计。
前言
SAILING S698处理器(以下简称S698处理器)是欧比特(珠海)软件工程有限公司为满足嵌入式系统应用而研制的32位RISC嵌入式处理器,其设计遵循SPARC V8标准。SPARC是国际上流行的处理器架构之一,在业内享有盛名,具备广大的用户群和广阔的应用领域。
S698处理器采用AMBA总线作为片内系统架构总线,片上各模块通过AMBA总线进行数据交换和通讯。AMBA总线配置了PCI总线接口、存储器总线接口、UART、定时器、中断管理器、I/O、看门狗、配置寄存器等,使得S698芯片的集成度和功能得到了大幅度的提高。采用AMBA总线架构,使得S698处理器具有很强的可裁减性和扩展性,设计者可以很方便地增减片上的内部模块,为客户定制以及产品系列化、模块化设计开发提供了极大方便。欧比特公司将继续提供S698处理器的系列化产品。
S698处理器CPU内部指令实行单指令发射流水线,具备五级流水(PIPELINE),分别为取指、译码、执行、存储和回写五个阶段。这样,每个时钟周期就执行一条指令,充分体现了RISC芯片的优势。同时,S698处理器采用先进的时钟配置及管理机制以及低功耗优化设计。
S698处理器具备强实时处理能力,完全支持嵌入式实时操作系统,具有完整的芯片及应用开发系统。S698处理器是高端工业控制、宇航控制器、消费电子等领域的理想选择。
基于S698处理器芯片,利用其完整的软硬件开发系统,用户可以轻便地设计各种各样的嵌入式应用系统,包括PC/104主机板、VME主机板、CPCI主机板等。
1. S698处理器设计思想
S698处理器采用ASIC正向设计流程,利用VHDL进行RTL设计,所有VHDL模型均可重复利用,并可综合。S698处理器的VHDL模型完全支持目前流行的大部分综合工具,如SYNOPSYS、SYNPLIFY以及ISE等,可以在FPGA以及ASIC平台上加以验证和实现。
S698处理器CPU内部指令实行单指令发射流水线,具备五级流水(PIPELINE),分别为取指、译码、执行、存储和回写五个阶段。这样,每个时钟周期就执行一条指令,充分体现了RISC芯片的架构优势。为提高S698处理器的强实时处理能力,其内部设计采用了硬件乘法器、除法器以及64位浮点运算器(FPU)等,同时增加了对DSP指令的支持。
S698处理器采用AMBA总线作为片内系统架构总线,片上各模块通过AMBA总线进行数据交换和通讯。AMBA总线配置了大量的片上外设,包括PCI总线控制器、存储器总线接口控制器、UART、定时器、中断管理器、I/O、看门狗、配置寄存器等,大幅度的提高了S698芯片的集成度和功能。采用AMBA总线架构,使得S698处理器具有很强的可裁减性和扩展性,充分体现了芯片平台化设计的思想。
S698处理器采用先进的时钟配置及管理机制(包括PLL),降低了S698的输入时钟频率,解除了对板级产品设计时高频时钟的要求,并使得AMBA总线的时钟(SYSCLK)总是处于理想的应用状态。同时,S698处理器配置了调试支持单元(DSU),大大地提高了该处理器的在线调试能力。
S698处理器应该具备强实时处理能力,完全支持嵌入式实时操作系统。为此,欧比特公司为S698处理器专门设计了实时嵌入式操作系统(ORBITA EOS/S698)。
2. S698处理器简介
2.1特性
¨ 基于AMBA总线的可裁减系统结构
¨ 基于SPARC V8的高性能32位整型数运算单元(IU)
¨ IU配置8K指令缓存器(CACHE),8K数据缓存器(CACHE)
¨ 配置集成32/64位浮点处理器单元(FPU),符合IEEE-754标准
¨ 采用先进的时钟配置及管理机制(PLL)
¨ 集成大量的片上外设,包括PCI总线控制器、存储器总线接口控制器、UART、定时器、中断管理器、I/O、看门狗、配置寄存器等
¨ 集成调试支持单元(DSU),支持直接硬件调试
¨ 支持边界扫描,符合IEEE-1149.1标准
¨ 采用0.25微米CMOS工艺
¨ 处理速度:100 MIPS/25MFLOPS @ 100MHZ
¨ 支持多种封装模式,包括BGA、PGA和MQFP等。
2.2 处理器架构
2.3 整型运算单元(IU)
S698处理器的整型运算单元(IU)采用SPARC V8标准的整型运算指令集以及架构,具有如下特征:
¨ 32位整型数运算
¨ 5级指令流水线
¨ 相互独立的指令和数据缓存接口
¨ 8个寄存器窗口
¨ 硬件乘法器
¨ 16位乘加指令(DSP指令),40位累加器
¨ 2进制硬件除法器
2.4 缓存器(CACHE)
S698为Harvard结构,地址数据总线分开,分别连接相互独立的缓存(CACHE)控制器。CAHCE只对PROM区和RAM区作用, 处理器访问其他区域时,CACHE处于旁路状态。S698处理器的CACHE采用直接映射的缓存方式。
2.5 浮点处理器单元(FPU)
S698处理器的FPU支持SPARC V8的全部浮点操作。FPU作为IU的执行单元,同IU工作在串行模式下。S698处理器的浮点数据及指令格式遵循IEEE-754标准。
2.6 SPARC V8指令集
S698处理器的指令集完全符合SPARC V8指令标准,可以分为5类,分别为:存储指令、算术/逻辑运算/移位指令、传输控制指令、控制寄存器读写指令、浮点指令以及其他指令。详细定义请参考SPARC V8 指令集。
2.7 AMBA片内系统架构总线
S698处理器采用AMBA 2.0 标准片内系统架构总线。AMBA 2.0 AHB总线连接片内高速部件,低速部件通过AMBA 2.0 APB总线互连,高速部件同低速部件之间通过一个AHB/APB转换桥连接,从而保证了高速部件之间的数据传输速率,提高了处理器的稳定性和性能。
2.8 片上外设
S698处理器为系统设计者提供了丰富的接口资源,集成了大量的片上外设,包括PCI总线控制器、存储器总线接口控制器、UART、定时器、中断管理器、I/O、看门狗、配置寄存器等。存储器总线接口控制器包括SDRAM控制器等。
2.9 硬件调试支持
S698处理器内部集成了调试支持单元(DSU),用来进行在线调试应用软件。其对外接口(TAP)为RS232标准。DSU内部实现了简单的通信协议。在调试模式下,用户可以通过此接口查看处理器内部的所有资源,包括IU内部寄存器、系统寄存器等,同时还可以通过此接口访问目标板上的存储器,实现对存储器的读写。在下述情况下,S698处理器均可以进入调试模式:
¨ 执行断点指令
¨ IU执行到断点/观察点位置
¨ DSUBRK信号上升沿
¨ 在DSU控制寄存器中设置break-now位
¨ 发生使处理器进入error模式的trap
¨ DSU控制寄存器中选择的trap被触发
¨ 执行单步操作
¨ 执行到DSU的断点位置
2.10 S698处理器信号描述
编号 信号名称 类型 描述 有效条件
1 A[31:0] O Address bus
2 RSIZE[1:0] O Registered Bus Transaction Size High
3 D[31:0] BD Data bus
4 RD O Read Access High
5 SYSERR* O System Error Low
6 NOPAR* I No Parity Low
7 DPAR O Parity output of Data
8 ROMCS*[1:0] O PROM chip-select Low
9 RAMCS*[4:0] O RAM Chip Select Low
10 RAMOE*[4:0] O RAM output enable Low
11 RWEN* [3:0] O Registered write enable Low
12 OE* O Output Enable Low
13 BEXC* O Bus exception Low
14 BRDY* O Bus ready strobe Low
15 IOS* O I/O select Low
16 SDCKE[1:0] O SDRAM Clock enable High
17 SDCS*[1:0] O SDRAM Chip-select Low
18 SDWE* O SDRAM Write strobe Low
19 SDRAS* O SDRAM Row address-select Low
20 SDCAS* O SDRAM Column address-select Low
21 SDDQM[3:0] O SDRAM Data mask High
22 SDCLK[1:0] O SDRAM clock
23 WR* O Write strobe