Wishbone Interface Background
To normalize access to hardware and peripherals, each of the 32-bit processors supported in Altium Designer has a Wishbone-based FPGA core that 'wraps' around the processor. This enables peripherals defined in the FPGA to be used transparently with any type of processor. A Wishbone wrapper around discrete, hard-wired peripherals also allows them to be moved seamlessly between processors.
The wrappers can be implemented in any FPGA and allow the designer to implement FPGA-based portable cores, taking advantage of the device driver system in Altium Designer for both FPGA-based soft-core peripherals as well as connections to off-chip discrete peripherals and memory devices.
Processor Abstraction System
Use of Wishbone wrappers creates a plug-in processor abstraction system that normalizes the interface to interrupt systems and other hardware specific elements. The system provides an identical interface to the processor's interrupt system, whether soft or hard-vectored. This allows different processors to be used transparently with identical source code bases.
Design Migration
With each 32-bit processor encased in a Wishbone wrapper, an embedded software design can be seamlessly moved between soft-core processors, hybrid hard-core processors and discrete processors.
The Wishbone wrapper makes each 32-bit processor architecturally similar, both in terms of memory map and pinout, giving a feeling of familiarity between processors and making the migration progress an intuitive and expedient one.