微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > Leon2处理器IP核技术

Leon2处理器IP核技术

时间:02-07 来源:本站整理 点击:

谓的"数据流"编码风格不一样,采用的是"二进程"的设计方法。这种编码风格克服了"数据流"编码方式的可读性差、抽象级低、仿真时间长等缺点。"二进程"编码风格的具体措施是:①所有的端口和信号声明采用记录的形式进行说明,如按输入输出分类进行记录说明;②每个实体只有两个进程,一个组合进程和一个时序进程;③在组合进程中全部采用变量(而不是信号),以使用结构化的顺序编码方式;④在时序进程中通过时钟同步,进行状态的转换。

    "二进程"的编码风格的模型可用图4来表示。它基本与状态机模型一样,只是组合进程部分,采用变量形式进行结构化顺序编码,来完成下一个时钟周期的输出和下一个状态进行计算。时序进程部分是在时钟的作用下,完成状态转换和输出驱动。

3 软硬件开发

3.1 VHDL

    Leon2除了VHDL源代码外,还提供了顶层Makefile文件、Modelsim仿真器支持文件、Boot-monitor文件、VHDL测试文件、综合支持文件、Leon2调试用的C语言源文件等,便于对Leon2进行硬件和软件方面的测试。

    Leon2的内部结构可以通过模块配置,使处理器具有不同的功能结构。配置的方式可以采用tkconfig脚本进行图形界面的方式进行,也可以直接对包文件device.vhd进行手动编辑来完成。配置主要是通过修改一系列的常数的声明值来实现的。Leon2中许多模块功能是可以进行配置的,这些配置信息是在包文件Target.vhd里进行声明的。

    Leon2可配置的内容包括:①所采用的综合工具和目标库。综合的技术可以是:Synplify、Synopsys-DC、Synopsys-FC2、XST和Leonardo等,目标技术可以是Xilinx的Virtex和Virtex II(FPGA)、Atmel的ATC35和ACT25(0.35/0.25μm CMOS)、TSMC 0.25μm CMOS、UMC 0.25/0.18μm CMOS、以及Actel的ProAsie(FPGA)和Axeellerator(反熔丝FPGA)等。②整数单元IU的寄存器窗口、乘法器、除法器、快速跳转和观察点的配置。寄存器窗口可以设置为2~32个,但为了同交叉编译器LECCS兼容必须配置为8个窗口,乘法器可以配置成迭交、16×16加流水寄存器、16×16、32×8.32×16、32×32等形式。③浮点处理单元FPU的配置,可以配置为使用meiko或是lth两种浮点处理器之一。④Cache。Cache组的有效大小可以配置为1~64 KB,但必须是2的次幂,每行可以设置成4~8个字,组的数量可以是1~4。替换算法可以是随机、LRR或LRU,并且指令Cache和数据Cache是独立进行配置的。⑤存储器控制器。⑥Debug配置。⑦片上外设的配置,如中断控制器、看门狗等。⑧引导配置。⑨AMHB总线的相关配置。⑩PCI配置。

   Leon2有四个可综合的顶层文件;

◇leon.vhd一一标准的Leon2顶层;

◇leon_pci.vhd一一标准的Leon2加上PCI接口构成的顶层;

◇leon_eth.vhd一一标准的Leon2加上一个10/100 Mbps以太网MAC构成的顶层;

◇leon_etn_pci.vhd一一标准的Leon2加上一个10/100 Mbps以太网MAC以及PCI接口构成的顶层。

在上述四个顶层的下面,可以很容易地集成用户自己的功能模块。

3.2 系统软件开发

    同一般的嵌入式系统的软件开发一样,Leon2应用系统的软件开发需要采用交叉编译环境来进行。Leon2应用系统软件开发主要采用LECCS(Leon/ERC32 GUN交叉编译系统)。LECCS是由Cynus、OAR和Gaisler研究公司开发的多平台开发系统,是基于GNU系列的可以自由获取的、并带有一系列附加"点"工具的开发系统。LECCS可以在Linux(-2.2.x或更高)、Solaris(-2.7或更高)和windows(Cygwin-1.1.7更高)等多种平台上运行。要在Windows平台上运行LECCS,必须安装Cygwin。它一个是Unix层面模拟器。

    LECCS包括如下程序包:GCC--3.2.3C/C++编译器、RTEMS--4.6.0-βC/C++实时核、独立C库、GDB-5.3SPARC交叉调试器、远程调试监视器、GDB的DDD图形前端(仅对Unix)、GDB的GDB-TK图像前端(仅对Windows)、引导PROM的builder以及Leon调试支持单元监视器等。还包括一些工具,如交叉汇编器、汇编预处理器、GNU连接器、二进制转换器等等。

采用LECCS进行Leon2应用系统软件开发的过程如下:

①利用GCC编译和链接程序;

②利用仿真器了SIM调试程序;

③在远程目标系统上调试程序;

④为独立应用产生引导PROM程序。

    LECCS支持两种类型的应用:一种是通常的顺序CC++程序,一种是基于R了EMS核的多任务实时CC++程序。

   软件仿真工具可以采用丁SIM。它是一个

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top