什么?用Xilinx Spartan-6 LX9 FPGA就可以实现开源的“J Core”处理器?

作者:Kenshin

如果你了解Hitachi SuperH系列32位精简指令集(RISC)微处理器,那么对于“J Core”就不会那么陌生了。“J Core”是SuperH处理器架构的开源版本,是由开源处理器协会(OPF)实现的,采用VHDL语言,执行开源免费的BSD标准许可证。之所以有这个开源内核的存在是因为SuperH处理器的专利已经过期了,但是SuperH的商标还没有过期,因此OPF将这个开源内核命名为“J Core”。

我们可以非常容易的在FPGA上实现一个“J Core”的实例,这使得FPGA就像一个J2处理器,并且兼容SuperH-2处理器的所有指令集。J2处理器内核没有MMU(内存管理单元),因此要在FPGA中实例化它占用的资源非常少,以Xilinx Spartan-6 LX9 FPGA为例只占用了其60%的资源,Spartan-6 LX9 FPGA是Spartan-6系列中资源第二少的FPGA器件。

不管是作为学习工具还是真正的处理器都可以采用“J Core”,这也是OPF组织的初衷所在,OPF组织还声明不久还会像“J Core”中集成更多的特性。现在业内有很多处理器架构,还有很多开源的32位精简指令集(RISC)处理器架构(如OpenRISC,LEON,RISC-V等),但是大部分都是用作科研教学或者目前还处在一个开源项目的阶段,而“J Core”是一款产品化的开源处理器内核,它已经有了一套完整的开发工具链,有20多年的作为商业产品应用的历史,所以不需要担心各种bug问题。

当然还要指出的是从一款先进的处理器角度来看,“J Core”还并不是那么的优秀,它没有内存管理单元,不支持浮点数计算,线程以及多核机制等,响应速度也不是那么的快,但是它完全支持Linux操作系统,如果你只想要SuperH处理器,那么“J Core”可能不是你正确的选择。它是一个用来学习的非常好的工具,从中我们可以发现在一个非常小的FPGA上就能实现一个完整的微处理器内核,可以想象更多的资源的FPGA的功能有多强大。

最后向大家推荐一款Xilinx Spartan-6 LX9 FPGA开发板—MicroBoard,这样你就可以利用它来实现和学习“J Core”微处理器。这款开发板是安富利(Avnet)设计提供,非常小巧。

图1 Xilinx Spartan-6 LX9 MicroBoard

图1 Xilinx Spartan-6 LX9 MicroBoard

LX9 MicroBoard主要特性:

  • 10/100以太网接口
  • 128 Mb Multi-I/O SPI Flash
  • 4-bit DIP 开关
  • 64MB LPDDR SDRAM
  • 4个 LED
  • 板上 USB JTAG 电路
  • 通过 USB 实现的过压和 ESD 保护
  • 可编程时钟芯片
  • 重置和 PROG 按钮
  • 一些预制的 MicroBlaze 系统
  • 带有 Power Good 指示器的单芯片、3 轨 电源
  • Spartan-6 XC6SLX9-2CSG324C FPGA
  • 2 x Digilent Pmod™ 兼容接头 (2x6)
  • USB-to-UART 端口
  • 移植“J Core”手册:
    http://j-core.org/
    https://tingcao.wordpress.com/category/lx9-microboard/

    声明:本文为原创文章,转载需注明作者、出处及原文链接,谢谢!