SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: Using Xilinx vs Altera FPGAs for Cortex-M0 DesignStart
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

Using Xilinx vs Altera FPGAs for Cortex-M0 DesignStart

Ryan Ryan
Last updated: October 5, 2023 9:58 am
Ryan Ryan 8 Min Read
Share
SHARE

When looking to implement an ARM Cortex-M0 design on an FPGA, the two major FPGA vendors to consider are Xilinx and Altera (now owned by Intel). Both offer compelling options, so choosing between them really depends on your specific design requirements and constraints.

Contents
Xilinx Cortex-M0 FPGAsAltera Cortex-M0 FPGAsComparing the ToolchainsPerformance ComparisonCost ConsiderationsConclusion

In a nutshell, the main factors to consider are:

  • Supported development boards – Each vendor provides their own development boards featuring different FPGAs, peripherals, and tools.
  • IP cores – The availability of pre-built IP cores like peripherals and interfaces can simplify integration.
  • Design tools – Each provides their own suite of design and debugging tools.
  • Processor optimization – Some devices have dedicated hard IP to optimize Cortex-M0 performance.
  • Cost – This includes both hardware costs and tool licensing.
  • Prior experience – If your team already has extensive experience with one vendor, sticking with them may be easier.

Xilinx Cortex-M0 FPGAs

For Xilinx devices, the primary FPGA families to consider for Cortex-M0 are:

  • Spartan-7 – Low-cost FPGAs in the 45nm node with 6K-154K logic cells.
  • Artix-7 – Mid-range FPGAs with higher performance and more features than Spartan-7.
  • Kintex-7 – High-end FPGAs up to 683K logic cells.

Key advantages of using Xilinx FPGAs include:

  • MicroBlaze soft processor – Xilinx offers their own soft CPU that you can customize and integrate as needed.
  • Extensive IP catalog – Includes peripherals like UARTs, GPIO, Ethernet, DDR memory controllers, and more.
  • Vivado Design Suite – Provides system-level design, RTL synthesis, place and route, and debugging.
  • SDSoC development environment – Allows high-level C/C++ programming and fast system integration.
  • Dedicated Cortex-M1 hard block – Available in the UltraScale+ FPGAs to optimize performance.

In terms of development boards, some popular Xilinx options include:

  • Spartan-7 FPGA Starter Kit – Features Spartan-7 FPGA and provides early prototyping capabilities.
  • Artix-7 FPGA Developer Kit – More advanced board with support for peripherals like Gigabit Ethernet and DDR3 memory.
  • KINTEX® UltraScale+ FPGA KCU105 Evaluation Kit – High-performance board with Kintex Ultrascale+ FPGA, ideal for final system deployment.

Altera Cortex-M0 FPGAs

For Altera FPGAs, now sold under Intel, the main FPGA families for Cortex-M0 include:

  • Max 10 – Low cost, power optimized FPGAs, up to 50K logic elements.
  • Cyclone V – Mid-range FPGAs, suitable for industrial, medical, automotive applications.
  • Arria 10 – High-end family, featuring hard floating point DSP blocks for signal processing.

Some key advantages of Altera/Intel FPGAs:

  • Nios II soft core – Similar to Xilinx’s MicroBlaze, Nios II is Altera’s customizable soft processor.
  • Quartus Prime design software – Provides the complete environment for system design and FPGA programming.
  • Qsys system integration tool – Simplifies connecting IP cores like processors, peripherals, and interfaces.
  • Embedded peripherals – DDR memory controllers, PCIe interfaces, Ethernet MAC/PHY, etc.
  • ARM Cortex-M1 hard processor system – Available in select FPGAs for optimal performance.

Some example Altera development boards include:

  • MAX 10 FPGA Development Kit – Starter board featuring MAX 10 FPGA, accelerometer, temp sensor, LCD display, and more.
  • Cyclone V SoC Development Kit – Integrates ARM Cortex-A9 hard processor system and video codec engine.
  • Arria 10 SoC Development Kit – Showcases ARM Cortex-A9 dual-core hard processor system and pantile switch reference design.

Comparing the Toolchains

Both Xilinx and Altera provide complete toolchains for Cortex-M0 FPGA development, but there are some key differences between Vivado and Quartus Prime:

  • Vivado uses project-based design which makes it easy to manage all sources, constraints, etc. Quartus uses a flat approach with loose file management.
  • Vivado has an intuitive flow for IP integration, RTL synthesis, and implementation. Quartus separates these steps more.
  • Quartus offers advanced timing analysis and optimization techniques like physical synthesis.
  • For programming and debugging, Xilinx uses the SDK while Altera has the Signal Tap Logic Analyzer.
  • Quartus generally has better optimization algorithms resulting in higher frequency and utilization.
  • Vivado runs faster, especially for synthesis, placement, and routing.

There is a learning curve with both tools, so engineers familiar with one may prefer sticking with what they know. But with some training, designs can be migrated between the environments.

Performance Comparison

In terms of actual performance between matched Xilinx and Altera FPGAs, results can vary depending on the design specifics. But here are some general tendencies:

  • Altera FPGAs tend to achieve 10-15% higher clock frequencies. They have more advanced placement, routing, and optimization techniques.
  • Xilinx achieves much faster compile times, often 2-3X faster than Quartus for similar designs.
  • For complex designs, Altera provides more consistent and predictable results after placement and routing. Vivado can sometimes struggle with very complex timing closure.
  • Xilinx offers more flexibility for floorplanning critical design blocks and hierarchies.
  • Altera offers better power optimization capabilities, especially when using advanced low-power device features.
  • Xilinx has adopted next-generation high-bandwidth memory interfaces like HBM and DDR4 ahead of Altera.

In real-world testing, an example benchmark design achieved 10% higher frequency in an Altera Cyclone V versus a Xilinx Artix-7. But the Xilinx design took 6 hours to compile compared to 14 hours with Quartus. So there are always trade-offs between the two.

Cost Considerations

Both Xilinx and Altera provide free WebPACK versions of their design software tailored for smaller FPGAs. But for larger devices and more advanced features, license costs can be a factor.

Comparing mid-range licenses shows Vivado HL Design Edition at $3,495 per year versus Quartus Prime at $2,295 per year. So Altera has a slight cost advantage on tools.

In terms of hardware, Xilinx and Altera FPGAs tend to be competitively priced within each class. The cost per logic cell is similar between families like Spartan-7 and Cyclone V. And higher-end families like Kintex Ultrascale and Arria 10 are priced proportionally to their capabilities.

So both provide flexible options spanning lower-cost to high-performance. The right choice comes down to the design requirements, tool preferences, and prior experience.

Conclusion

Implementing a Cortex-M0 design on an FPGA provides an ideal combination of software programmability and hardware flexibility. Both Xilinx and Altera offer proven technologies to build upon, with each having unique advantages.

For those new to FPGAs, factors like available development kits, IP ecosystems, and accessible design tools tend to favor Xilinx. Altera provides better optimized results for complex, high-performance systems.

By understanding the key differences covered here, engineers can make an informed decision between Xilinx and Altera for their next Cortex-M0 FPGA project. The “best” option depends on the specific requirements and team skills. But both vendors offer robust solutions to choose from.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article Implementing Cortex-M0 DesignStart on an Altera FPGA
Next Article Debugging Cortex-M0 DesignStart on non-ARM FPGAs
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

ARM Cortex vs Arduino: A Detailed Comparison

When it comes to microcontrollers and microprocessors for embedded systems…

8 Min Read

RTL simulation for designStart Cortex-M0, M3 and M4

RTL (Register Transfer Level) simulation allows designers to verify the…

7 Min Read

What Is the Difference Between Arm Cortex A and M?

Arm processors are designed by Arm Holdings and licensed to…

6 Min Read

What is the bootloader of MCU?

A bootloader is a small program that runs when a…

8 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account