Prototyping of ARM Cortex-M Processor systems in FPGA

If you are a microcontroller / SoC / ASIC designer working on Cortex-M processor based systems looking for an FPGA board for prototyping, I have a great news for you: ARM has released a new FPGA board called Cortex-M Prototyping System.


The key features include:

  • Altera Cyclone V FPGA with ~150K LE
  • Four 2MB ZBTRAM (32-bit each, with two of them forming a 64-bit memory),
  • 16MB PSRAM (16-bit),
  • Touch screen LCD module,
  • Range of hardware interface : UART, VGA (4 bit per color), SPI, audio (I2S), Ethernet, LEDs, buttons,
  • I/O expansion ports (GPIO),
  • FPGA images for Cortex-M processors,
  • Example project for Cortex-M0 DesignStart (processor IP has to be licensed separately)
  • USB connection for downloading FPGA images and program image to micro SD card on board
  • Range of debug connectors for ARM or 3rd party development tools,
  • Affordable (under US$1000)

With a size of ~150K LE, the Cyclone V FPGA is more than enough for creating most Cortex-M systems (for instance, a full feature Cortex-M4 system with a collection of peripherals can easily fit into a FPGA with 50K LE). The Cyclone V FPGA also support FPGA image encryption, which help protecting your IP.

The design is very easy to use. A micro SD card is mounted on the board to store FPGA images and program images.  There is also a text file to describe the configuration (e.g. which FPGA image file to use).  When the board is powered up, a microcontroller on board program these images to the FPGA and memory automatically.  When the FPGA board is connected to a computer via USB, the board works as a mass storage device and you can download or modify the image files, as well as the configuration. You do not need to install any special device driver or tools to switch the FPGA image.

An example project based on the ARM Cortex-M0 DesignStart is included (the processor IP has to be licensed separately). The example project also contain subset of components in the Cortex-M System Design Kit. Example software projects are also included.  All these allow you to create your Cortex-M processor based system quickly.

The board also comes with a range of debug connectors, so you can connect the processor system you created to the ARM development tool you use easily.

More information about this FPGA board can be found here.

If you are interested in learning more about FPGA prototyping of Arm Cortex-M processors, I will be giving a presentation called "Cortex-M processor based system prototyping on FPGA" on the first day (25-Feb) of Embedded World 2014 (embedded world Conference 2014:  Program).  This event is to be held in Nuremberg, Germany.  The presentation will cover topics like FPGA technical requirements, typical speed you can get out of the FPGA and various consideration in designing the memory system. Look forward to see you there.