3UF7101-1AA00-0FV0
3UF7101-1AA00-0FV0
优异的可配置性
LEON软核通过集成一套丰富的接口和运算单元IP库,根据具体要求来达到性能、功耗和面积的平衡和优化的目的。
①软核IU可配置参数包括流水线的深度、地址和数据高速缓存(Cache)。另外,常用指令及指令序列可以根据定制的硬件进行优化;在设计或配置新运算单元后能够对指令集进行扩展。在导航系统SoC芯片设计中,通过配置LEON的整数硬件乘除法单元以实现较高的运算性能;而在其他某些使用软件乘除法,即满足要求的应用中无需配置,以降低功耗和优化芯片面积。
②外围设备接口硬件通过挂载AMBA总线来实现。LEON3的AMBA-AHP总线上能够灵活选择集成opencores的以太网控制器和GRETH以太网控制器中的任意一个。针对导航系统中常见的1553总线接口设备,在LEON中通过配置GR1553单元完成1553总线到AMBA-AHB总线的转换,为1553总线设备的集成提供了方便。
③硬件加速单元(如特定加密算法、数字信号处理单元和浮点处理单元)根据需求集成。
优异的可配置性带来了硬件设计极大的灵活性,也为嵌入式操作系统的移植带来了一定难度(特别是在扩展了指令集的情况下)。考虑到进行性能测试的完整性和灵活性,LEON3软核在本项目中的配置方案如图2所示。(详细配置参数未列出)
1.2.3良好的可移植性
LEON软核通过层次度分明的VHDL模型实现。通过VHDL中特定的配置接口,LEON核的关键参数(例如修改Cache的大小和组织方式,乘法器的生成,速度、芯片面积的调整以及容错方案的选择)都能够灵活设置和移植;而唯一使用专用技术的模型是内存宏模块。这一部分的设计采用了加上中间交互层接口的方式,因此移植的工作仅需重新编写中间交互层接口。导航系统中包括单次滤波在内的大量算法经过硬件实现后需集成在LEON中,根据LEON特定的配置接口即可实现集成和SoC系统移植。在本硬件平台的设计中,针对特定硬件开发板,通过修改顶层module文件设置以及更新引脚配置,即可完成硬件设计的移植工作。
目前,LEON在研究领域被广泛应用,特别是作为软核嵌入在可编程器件中,作为构建SoC芯片的控制和运算中心。LEON软核的容错版本也已经用在了空间站上。在本导航系统SoC芯片项目中,选择了开源且配置灵活的LEON硬件平台和Linux软件平台,并且在初期测试中表现出良好的性能。在本验证平台上,SoC系统需要以太网接口、1553总线接口、串口、通用I/O口以及调试单元,具体配置方案如图3所示。
3UF7101-1AA00-0FV0