新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 针对FPGA的完全可配置嵌入式32位RISC处理器

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

作者: 时间:2010-12-19 来源:网络 收藏

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

  可扩展性

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

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

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

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

  对于需要数据/信号处理功能的应用,往往需要组合处理器的功能和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资源利用率和使用LatticeECP3的性能

  总结

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

  LatticeMico32开发工具可以很容易地在FPGA中实现一个微处理器和与之连接的外围元件。易用性确保最少的设计时间,从而使得产品能够更快的上市。 

  根据开放源代码许可证和软件开发工具各自的开放源代码许可证,如Eclipse和GNU - GPL,提供生成的HDL,莱迪思可以让用户控制其设计。开放源代码为设计人员提供所需要的可视性,灵活性和便携性。 

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭