Processor-based FPGA Design

Language

As the high-capacity, low-cost FPGA devices train continues its revolutionary journey through the electronics design landscape, an ever-increasing number of designers are jumping on board - trading their traditional hardware-based systems for the attractive lure of the FPGA's 'soft' programmability.

With Altium Designer, creation of soft processor-based systems, destined to run within a chosen target FPGA device, becomes second nature - utilizing one of the many supported flavors of 'soft' 32-bit RISC processor, wired up to access peripheral I/O and memory over a standard bus interface.

'Soft' processors are processors that are defined as part of the FPGA design that is programmed into the physical FPGA device, rather than physical, discrete devices connected to the FPGA, or processors that are immersed as part of the physical FPGA's makeup. Such processors are typically 32-bit and have simple, RISC architectures.

Embedded software refers to the code – the software 'smarts' – that gets downloaded to the physical FPGA device and which will run on a soft processor defined within the FPGA design.

The beauty of using 'soft' processors in FPGA designs is that you are not locked to a physical device. You can change processor or modify the code running on it simply by reprogramming the physical FPGA device with a modified hardware design or updated embedded code – leading to true 'field upgradeable hardware and software'

Like a prize chef creating his signature recipe, the designer builds his FPGA project choosing from an array of 'ingredient' building blocks – a 32-bit processor here, a pinch of peripheral I/O there and a dash of memory, all blended together using the appropriately configured Interconnect and Bus Mastering devices. Add to this the embedded software 'smarts' that will be running on the processor, and you have your 'icing on the cake' (or the pie filling from the processor's perspective!).

Figure 1. Add a 32-bit 'soft' processor to your design and go to town with the associated embedded code functionality.

Exploring the Basics

Accelerating Processors with C-to-Hardware

32-bit Processor Support

32-bit Discrete Processor Support

Embedded Software Development

Wishbone

The 32-bit processors and peripherals currently available for design in Altium Designer utilize the Wishbone bus standard. This standard is formally described as a "System-on-Chip Interconnection Architecture for Portable IP Cores". The Wishbone standard is also implicitly device and vendor independent, making it very simple to create highly portable designs.

Legacy Processors

See Also