When looking to create a custom system-on-chip (SoC) with the Cortex-M1 processor from ARM, one of the first decisions is choosing the right FPGA development board. The FPGA allows you to prototype your SoC design before taping it out to an ASIC. Here are some key factors to consider when selecting an FPGA board for Cortex-M1 DesignStart projects:
FPGA Density and Resources
The Cortex-M1 processor has fairly modest resource requirements compared to higher performance ARM CPU cores. However, you still need an FPGA with enough logic cells, block RAM, and DSP slices for your full SoC design including peripherals, accelerators, and interfaces.
As a rule of thumb, an FPGA in the 50K logic cell range is typically sufficient for Cortex-M1. Some popular options are:
- Xilinx Artix-7 35T/50T
- Intel (formerly Altera) Cyclone V GX
- Lattice ECP5/ECP5-5G
Be sure to factor in resources needed for any custom logic when sizing the FPGA.
Development Tools and IP
The FPGA vendor’s development tools and IP catalog are very important considerations. You’ll want mature tools that integrate cleanly with the ARM DesignStart flow for synthesizing the Cortex-M1 design.
Some key tool and IP features to look for include:
- Support for ARM’s DesignStart evaluators
- Cortex-M1 reference designs and peripherals
- Free embedded, softcore, and interface IP
- RTL/gate-level simulation tools
- Timing closure and implementation tools
Vivado from Xilinx, Quartus from Intel, and Lattice’s Radiant and Diamond tools all support DesignStart to varying degrees. Compare their DesignStart integration and availability of ARM IP.
I/O Options and Interfaces
The FPGA board should provide sufficient I/O pins and various interfaces to connect external components and peripherals for your system prototype. Commonly used interfaces for Cortex-M1 include:
- GPIO – General purpose I/O pins
- UART – For serial communication
- SPI – Serial peripheral interface bus
- I2C – Two-wire serial bus
- Ethernet – Network connection
- USB – USB host, device, and OTG interfaces
- Memory – Flash, SRAM, DDR interfaces
Higher-density FPGAs tend to have more flexible I/O banks that can support multiple standards. Evaluate if the quantity and type of I/Os match your needs.
Form Factor and Expansion Support
Many FPGA boards support add-on modules or daughtercards to expand functionality. Some common module standards used are:
- Pmod – Digilent peripheral modules
- Arduino shield – Large ecosystem of Arduino add-ons
- Grove – Plug-and-play modules from SeeedStudio
Consider if the board offers any expansion options that might be useful for your application. Also, evaluate the physical size and form factor – larger boards allow more space for peripherals and interfaces.
Reference Designs and Pre-built IP
Many FPGA vendors provide ready-to-use reference designs and IP cores tailored to ARM-based SoCs. These can give you a head start on your custom platform by handling the standard functionality like bootloading, memory controllers, and peripherals.
Some resources to look for include:
- ARM DesignStart Eval board reference designs
- Example designs for ARM SoC FPGAs
- Free soft CPU, peripheral, interface, and accelerator IP cores
- Application notes with SoC architecture guidelines
Leveraging these reference materials can save you significant development effort compared to starting from scratch.
Community and Support
An active community with online forums, user groups, and knowledgeable support engineers is invaluable, especially when you’re learning or troubleshooting complex ARM SoC projects.
When evaluating an FPGA vendor, research the community engagement around ARM designs. Look for:
- Active forums specific to ARM IPs
- Knowledgeable support staff
- Detailed ARM application notes
- Workshops, university programs, etc.
A strong ecosystem and community will make your Cortex-M1 FPGA development much smoother.
Cost Considerations
FPGA boards range from lower-cost options under $100 to expensive high-end boards over $1,000. Some points on cost:
- Higher density FPGAs cost more but offer more resources
- Smaller “FPGA Starter” boards are cheapest
- University/Educational boards are affordably priced
- Mid-range boards (~$250) provide a good tradeoff
- Vendor evaluation kits are premium-priced but fully-featured
Try to find the “sweet spot” between the features you need and the price you can afford. Cost is an important criterion but avoid choosing boards solely on cost.
Putting It All Together
Considering factors such as FPGA resources, development tools, expandability, reference designs, community support, and cost will help guide you to selecting the right FPGA board for your Cortex-M1 DesignStart project. Prototyping your custom ARM SoC on the proper FPGA development platform will ensure you get your Cortex-M1 design off to a solid start.