微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 针对FPGA的完全可配置嵌入式32位RISC处理器

针对FPGA的完全可配置嵌入式32位RISC处理器

时间:12-19 来源:互联网 点击:

  用户还可以创建自己的基于Wishbone总线的外设元件,然后通过整合到MSB自动连接到总线。因此,LatticeMico32的架构提供了两种可能性:第一,人们可以创建定制的元件,将它放人MSB中的可用元件列表(图4)。第二,可以构建出所谓的Passthru元件,可以将Wishbone接口引出到核的外面,因此,用户可以在FPGA的其他部分添加任何逻辑块。   

图4 创建定制的外围组件

这些配置选项能够针对不同的应用定制LatticeMico32。带宽范围从小的和片内或片外存储器面积优化的控制器到具有多个接口的全功能平台,以及访问更大的存储器(可能是片外)。从FPGA访问其他的逻辑模块还允许处理器系统和FPGA专用模块之间的密切互动,以便进一步改进性能。取消了传统上使用并行于FPGA的外部控制器的复杂访问机制。    

可扩展性

由于处理器代码是可读的Verilog RTL代码,用户可以轻松识别IP功能块,诸如取指令单元,指令译码或ALU,以及各种流水线阶段。因此,通过定制指令,这些也可以修改和增强。用户也可以执行操作码。因此,在指令字中,LatticeMico32提供了备用的操作码域。

遵照以下一些基本的步骤,可以构建自定义指令:

  •   增强的指令译码器。这是一个简单的情况,提取内部操作码的功能,并生成需要整合此命令至LatticeMico32的所有必须的控制信号。
  •   写功能的实现并将其整合至LatticeMico32 的ALU。
  •   对于多周期命令,构建必要的拖延信号,以便妥善处理处理器流水线。
  •   如果需要其他的专门逻辑(例如额外的专用寄存器),这可以单独的添加到核。

通过定制指令和添加定制外设,扩展处理器核是一个非常有效的方式,用来定制处理器的核以便实现系统的性能要求。通常情况下,一些专门的功能用硬件实现比软件更好。或并行处理可以获得额外的性能。这种机制能够无缝集成硬件加速模块至处理器架构。这将保持用同样的方式处理这些部件的功能,如同正常的软件代码或使用标准外设。

对于需要数据/信号处理功能的应用,往往需要组合RISC处理器的功能和DSP,以达到系统的性能和吞吐量。添加扩展和定制元件还可以包括信号处理单元。可以用硬件非常有效地实现,使用专用的DSP块,诸如乘/累加,用各种FPGA的硬件都可以实现这些功能。

设计环境

LatticeMico32系统拥有三个集成工具:

  •   MicoSystem Builder(MSB)

针对硬件实现,MSB产生平台描述和相关的硬件描述语言(HDL)代码。设计人员可以选择连接到微处理器的外围组件,以及指定它们之间的连接。

  •   C/C++软件工程环境(SPE)

C/C++ SPE调用编译器,汇编器和连接器,使代码的开发针对运行于用MSB构建的平台。可以通过C/C++ SPE来完成,用MSB构建的平台可以作为参考。 

  •   调试器和Reveal逻辑分析器

在C/C + +源代码调试器提供汇编中的调试功能,并能够观察处理器的寄存器和存储器。设计人员还可以使用莱迪思的Reveal逻辑分析器观察和控制硬件中代码的执行情况。

所有的工具和IP已完全纳入莱迪思的ispLEVER FPGA软件设计环境,这使得通过整个FPGA设计流程快速的进行设计。这些工具也有利于有效地使用FPGA的资源。

在构建过程中,用完全可读的RTL Verilog源代码创建处理器的代码及其外围设备。提供用于综合和仿真的脚本,约束文件关注硬件的设置和引脚。

目前有3种操作系统: Theobroma Systems的uClinux 和U-Boot、Micriμm的μC/OS-II RTOS和TOPPERS/JSP的μITRON RTOS。

LatticeMico32提供了一个开放源码许可证。莱迪思的开放IP核许可协议将与MSB工具生成的HDL代码一起使用。大部分图形用户界面将在Eclipse的授权许可下使用,同时对软件的内部运作,如编译器、汇编器,连接器和调试器,许可协议将遵循GNU-GPL。

因为这是开放源码软IP,这个处理器的IP核还可以免费迁移到其他技术并加以实现。

  性能和资源利用

LatticeMico32提供高性能和尽可能高的资源利用率。对于关心资源的设计人员,基本配置不使用任何指令或数据高速缓存,单周期移位器,也没有乘法器。对于那些更关注性能的设计人员,全配置使用8KB的指令高速缓存,8K字节的数据高速缓存,3个周期的移位器和一个乘法器。对于需要采用折衷方法的用户,标准配置类似于完整的配置,但没有8K字节的高速数据缓存。表1展示了针对LatticeECP3 FPGA的资源利用率和性能。

表1 LatticeMico32资源利用率和使用LatticeECP3的性能

总结

LatticeMico32是一个完整的嵌入式微处理器设计方案。它提供了一个灵活的架构,并允许用户定制处理器系统以满足系统的要求(性能、成本、功耗)。处理器的IP和专用硬件的密切配合提供了一个易于使用的环境,这也可显

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

网站地图

Top