The AEMB is a family of highly-rated open-source embedded microprocessor cores. Although they are instruction-set compatible with the Microblaze, they are not drop-in replacements. Each member of the family has micro-architectural enhancements designed to improve performance and decrease cost. The cores can easily run C/C++ code and are hardware proven by independent developers around the world.
- Small and Fast
- Each AEMB core has been designed with the core principle of being both small and fast. System designs no longer need to trade-off between area and speed. This makes it particularly suitable as a processor core for embedded applications or as a co-processor in more complex designs. Some application designers have reported a 40% reduction in overall system resources compared to their original platforms.
- Multi Threaded
- Certain AEMB cores have been radically redesigned to accommodate hardware multi-threaded execution. System software no longer waste computational cycles on context switches and stalls. As a result, the AEMB is able to execute system code efficiently, leading to a responsive overall system performance compared to single-threaded cores.
- Open Source
- The AEMB family is released under a fairly permissive LGPL3 license that makes it suitable for being embedded as part of a larger design. It is also presently being used in several commercial products. All the design files are provided, which make it useful for both academic study and professional scrutiny.
- Wishbone Compliant
- Every AEMB core is Wishbone compliant, which was chosen over other proprietary bus architectures due to its license-free nature. As a result, it can be easily integrated with many other open-source cores that use the same open bus specification. A huge library of these cores exist on OpenCores. This allows complex designs to be quickly built and brought to market.
- Parameterisable Options
- Each AEMB core is fully parameterisable without using any unwieldly define files. This includes the ability to change the address space and to include optional functional units – such as the barrel-shifter and multiplier. Design customisation is completely possible without making any changes to the original AEMB files.
- Technology Independence
- While other cores only work on Xilinx devices, the new AEMB cores incorporate target independence as a key design requirement. Third party developers have independently verified and reported success of implementing the AEMB core in Altera devices, without changing a single line of code, with similar performance results.
- Mature Design
- The AEMB family is 99% EDK6.2 compliant. This allows it to run all C/C++ software compiled using GCC without any significant changes. Some developers have reported success in running uClinux and uC/OS-II on the AEMB without much fuss. A suitable GCC compiler can be downloaded at the download page.
You can find some preliminary documentation at the wiki. It is being updated to reflect changes in the new cores.
You can follow some of the updates and news at the blog.
You can get the last stable version from github now.