LEON系列32位RISC处理器核的第一个版本是LEONl,它是由欧洲航天局主持设计开发的。LEONl的设计初衷是为了使欧洲能够摆脱在航空航天高性能嵌入式处理器上对美国的严重依赖。以Jiri Caisler为首的设计团队在完成LEONl后从欧洲航天局独立出来,成立了Gaisler Research公司,后来就推出了LE—ON2处理器。LEON2是一个可配置的微处理器核,使用SPARC V8指令集,它的源代码由可综合的VHDL代码构成。LEON2内部结构如图3所示。
LEON2的整数处理单元是5级流水线设计,采用SPARC V8(IEEE一1754)指令和体系结构,具有分离的数据Cache和指令Cache。LEON2的整数单元包括一个可选的16×16的MAC单元,能够完成基本的DSP运算,同时还提供了浮点运算单元(FPU)的接口和协处理器(CP)的接口,可以扩展浮点运算和DSP处理。LEON2选用了ARM公司的AMBA 2.0片上总线标准,用于连接内存控制器、定时器、中断控制器、UART接口、PCI接口、10/100 Mb/s以太网接口等模块。LEON2同时还提供1个调试支持单元和1个调试串口,用于支持片内调试。LEON2的一个非常重要的特点就是具有很好的可配置性。使用者根据自己的需要,通过一个用tcl/tk脚本编写的图形化界面,对LEON2内核的绝大多数模块进行配置,比如可以配置Cache的大小和访问方式,是否支持硬件乘/除法,是否需要内存。
Gaisler Research公司还提供了比较完善的基于LEON2的GNU软件开发环境。使用者可以使用TSIM或GRMON进行LEON内核的调试仿真。 LECCS是专门针对LEON的交叉编译系统,可以进行C/C++的编译和调试。SnapGear Linux是基于LClinux的实时Linux内核,它的LEON版提供了对LEON处理器的全面支持,可以支持MMU和NOM—MU等不同配置方案。
由以上描述可以看出,LEON2具有强大的硬件配置和完备的软件开发环境支持,可以承担数字机顶盒CPU要求的各种信号处理任务。
3、 在FPGA开发板上建立LEON2的SoC平台
3.1 硬件平台的建立
图4就是基于LEON2的平台的模块框图。LE—ON2处理器作为核心部分,片内ROM存放Monitor负责系统初始化和将程序拷贝到片外SRAM内的任务,片外RAM是FPGA开发板上Memory,用来存放程序和数据。设计的IP核通过AHB总线和LEON2相互交互。