Amber (processor core)

The Amber processor core is an ARM architecture-compatible 32-bit reduced instruction set computing (RISC) processor. It is open source, hosted on the OpenCores website, and is part of a movement to develop a library of open source hardware projects.[1]

## Contents

* 1 Overview
* 2 See also
* 3 Further reading
* 4 References
* 5 External links

## Overview

The Amber core is fully compatible with the ARMv2a instruction set and is thus supported by the GNU toolchain. This older version of the ARM instruction set is supported because it is not covered by patents, and so can be implemented with no license from ARM Holdings, unlike some prior open source projects (e.g., nnARM).[2] The cores were developed in Verilog 2001 and are optimized for field-programmable gate array (FPGA) synthesis. For example, there is no reset logic: all registers are reset as part of FPGA initialization. The Amber project provides a complete embedded field-programmable gate array (FPGA) system incorporating the Amber core and several peripherals, including universal asynchronous receiver/transmitters (UARTs), timers, and an Ethernet MAC.

The Amber project provides two versions of the core. Both cores implement the same instruction set architecture (ISA) and are fully software compatible.

* The Amber 23 has a 3-stage pipeline, a unified instruction and data cache, a Wishbone interface, and is capable of 0.75 DMIPS (Dhrystone) per MHz. The Amber 23 core is a very small 32-bit core that performs well. Register-based instructions execute in one cycle, except for those involving multiplication. Load and store instructions require three cycles. The core's pipeline is stalled either when a cache miss occurs, or when the core performs a Wishbone access.
* The Amber 25 has a 5-stage pipeline, separate data and instruction caches, a Wishbone interface, and is capable of 1.0 DMIPS per MHz. The Amber 25 core provides 30 to 40% better performance than the Amber 23 core and is 30 to 40% larger. Register-based instructions execute in one cycle, except for instructions involving multiplication, or complex shift operations. Load and store instructions also execute in one cycle unless there is a register conflict with a following instruction. The core's pipeline is stalled when a cache miss occurs in either cache, when an instruction conflict is detected, when a complex shift is executed, or when the core performs a Wishbone access.

Both cores have been verified by booting a Linux 2.4 kernel. Versions of the Linux kernel from the 2.4 branch and earlier contain configurations for the supported ISA. Versions of the Linux kernel 2.6 and later do not explicitly support the ARM v2a ISA and so need more modifications to run. The cores do not contain a memory management unit (MMU) so they can only run a non-virtual memory variant of Linux, such as μClinux.

## See also

* Acorn Computers

## Further reading

For a description of the ARMv2a ISA, see Archimedes Operating System: A Dabhand Guide,[3] or Acorn RISC Machine Family Data Manual.[4]

## References

1. ↑ Spooner, John G. (2002-01-02). "Open-source credo moves to chip design". CNET. https://www.cnet.com/news/open-source-credo-moves-to-chip-design/. Retrieved 2018-05-15.
2. ↑ "Amber RISC Core". 32bit micro. Archived from the original on 2015-02-02. https://web.archive.org/web/20150202024204/http://32bitmicro.com/component/content/article/457-soft-processor/973-amber-risc-core.
3. ↑ van Someren, Alex; van Someren, Nic (February 1989). Archimedes Operating System: A Dabhand Guide. Dabs Press. ISBN 1-870336-48-8. https://www.pagetable.com/docs/Archimedes Operating System.pdf. Retrieved 2018-05-15. .
4. ↑ VLSI Technology (1990). Acorn RISC Machine (ARM) Data Manual. Prentice Hall. ISBN 0-13-781618-9. http://www.chiark.greenend.org.uk/~theom/riscos/docs/ARM3-datasheet_ARM-Family-Data-Manual-VLSI.pdf. Retrieved 2018-05-15. .

## External links

* Amber Core Specification
* Marsohod Blog
* Clarke, Peter (2013-06-24). "Cambridge Calling: The rise of the ARM clones". EE Times. https://www.eetimes.com/author.asp?section_id=36&doc_id=1287452. Retrieved 2018-05-21.

ARM-based chips

* v
* t
* e

Application ARM-based chips

* ARM Holdings
* ARM architecture
* List of ARM microarchitectures
* List of applications of ARM cores
* ARM Cortex-A
* ARM Cortex-R
* ARM Cortex-M
* Comparison of ARMv7-A cores
* Comparison of ARMv8-A cores

Application
processors
(32-bit)|

| Cortex-A5|

* Actions ATM702x
* Amlogic M805/S805, T82x
* Atmel SAMA5D3
* InfoTM iMAPx820, iMAPx15
* Qualcomm Snapdragon S4 Play, 200
* RDA RDA8810PL
* Telechips TCC892x

|

Cortex-A7|

* Allwinner A2x, A3x, A83T, H3, H8
* NXP i.MX7, QorIQ LS10xx, NXP i.MX6UL
* Broadcom VideoCore BCM2836, BCM23550
* Leadcore LC1813, LC1860/C, LC1913, LC1960
* Marvell Armada PXA1920, 1500 mini plus
* MediaTek MT65xx
* Qualcomm Snapdragon 200, 400

Cortex-A8|

* Allwinner A1x
* Apple A4
* Freescale i.MX5
* Rockchip RK291x
* Samsung Exynos 3110(S5PC110), S5PV210
* Texas Instruments OMAP 3
* Texas Instruments Sitara AM3xxx
* Texas Instruments DM38x
* ZiiLABS ZMS-08

Cortex-A9|

* Actions ATM702x, ATM703x
* Altera Cyclone V, Arria V/10
* Amlogic AML8726, MX, M6x, M801, M802/S802, S812, T86x
* Apple A5, A5X
* Broadcom VideoCore BCM21xxx, BCM28xxx
* Freescale i.MX6
* HiSilicon K3V2, 910's
* InfoTM iMAPx912
* Leadcore LC1810, LC1811
* Marvell Armada 1500 mini
* MediaTek MT65xx
* Nvidia Tegra, 2, 3, 4i
* Nufront NuSmart 2816M, NS115, NS115M
* Renesas EMMA EV2, R-Car H1, RZ/A
* Rockchip RK292x, RK30xx, RK31xx
* Samsung Exynos 4 421x, 441x
* ST-Ericsson NovaThor
* Telechips TCC8803
* Texas Instruments OMAP 4
* Texas Instruments Sitara AM4xxx
* VIA WonderMedia WM88x0, 89x0
* Xilinx Zynq-7000
* ZiiLABS ZMS-20, ZMS-40

Cortex-A15|

* Allwinner A80
* HiSilicon K3V3
* MediaTek MT8135/V
* Nvidia Tegra 4, K1
* Renesas R-Car H2
* Samsung Exynos 5 52xx, 54xx
* Texas Instruments OMAP 5, DRA7xx, AM57xx
* Texas Instruments Sitara AM5xxx

Cortex-A17|

* MediaTek MT6595, MT5595
* MStar 6A928
* Rockchip RK3288

ARMv7-A
compatible|

* Apple A6, A6X, S1, S1P, S2, S3
* Broadcom Brahma-B15
* Marvell P4J
* Qualcomm Snapdragon S1, S2, S3, S4 Plus, S4 Pro, 600, 800 (Scorpion, Krait)

Others|

* Enhanced Cortex-A8
* Enhanced Cortex-A9
* Cortex-A12
* Cortex-A32

Application
processors
(64-bit)|

| Cortex-A35|

* NXP i.MX8X
* MediaTek MT8516
* Rockchip RK3308

|

Cortex-A53|

* Actions GT7, S900, V700
* Allwinner A64, H5, H64, R18
* Altera Stratix 10
* Amlogic S9 Family, T96x
* Broadcom BCM2837
* EZchip TILE-Mx100
* HiSilicon Kirin 620, 65x, 93x
* Marvell Armada PXA1928, Mobile PXA1908/PXA1936
* MediaTek MT673x, MT675x, MT6795, MT873x, MT8752, MT8163
* NXP ARM S32, QorIQ LS1088, i.MX8M
* Qualcomm Snapdragon 41x, 42x, 43x, 61x, 62x
* Rockchip RK3328, RK3368
* Samsung Exynos 7 75xx, 78xx
* Spreadtrum SC9860/GV, SC9836
* Texas Instruments Sitara AM6xxx
* Xilinx ZynqMP

Cortex-A55|

* Samsung Exynos 9 Series 98xx
* Unisoc SC9863A

Cortex-A57|

* AMD Opteron A1100-series
* NXP QorIQ LS20xx
* Nvidia Tegra X1 and Tegra X2
* Qualcomm Snapdragon 808, 810
* Samsung Exynos 7 5433, 7420
* HiSilicon Kirin Hi1610 and Hi1612

Cortex-A72|

* HiSilicon Kirin 95x, Kunpeng 916
* MediaTek Helio X2x, MT817x
* MStar 6A938
* Qualcomm Snapdragon 65x
* Rockchip RK3399
* NXP QorIQ LS2088, QorIQ LS1046A, i.MX8

Cortex-A73|

* HiSilicon Kirin 960, Kirin 970
* MediaTek Helio X30
* Amlogic S922X

Cortex-A75|

* Qualcomm Snapdragon 71x, Snapdragon 845 and 850
* Samsung Exynos 9820, Exynos 9825

Cortex-A76|

* HiSilicon Kirin 980, Kirin 990
* Qualcomm Snapdragon 855 and 8cx, Snapdragon 675, Snapdragon 730 and 730G
* MediaTek Helio G90

Cortex-A77|

* MediaTek Dimensity 1000

ARMv8-A
compatible|

* Apple A7, A8, A8X, A9, A9X, A10, A10X, A11, A12, A12X, A13
* Applied Micro X-Gene
* Cavium ThunderX, ThunderX2
* HiSilicon TaiShan v110
* Nvidia Tegra K1 (Denver), Tegra X2 (Denver2), Tegra Xavier (Carmel),
* Qualcomm Kryo, Falkor
* Samsung Mongoose

* v
* t
* e

Embedded ARM-based chips

* ARM Holdings
* ARM architecture
* List of ARM cores
* ARM Cortex-A
* ARM Cortex-R
* ARM Cortex-M
* List of ARM Cortex-M development tools

Embedded
microcontrollers|

| Cortex-M0|

* Cypress PSoC 4000, 4100, 4100M, 4200, 4200DS, 4200L, 4200M
* Infineon XMC1000
* Nordic nRF51
* NXP LPC1100, LPC1200
* nuvoTon NuMicro
* Sonix SN32F700
* STMicroelectronics STM32 F0
* Toshiba TX00
* Vorago VA108x0

|

Cortex-M0+|

* Cypress PSoC 4000S, 4100S, 4100S+, 4100PS, 4700S, FM0+
* Holtek HT32F52000
* Microchip (Atmel) SAM C2, D0, D1, D2, DA, L2, R2, R3
* NXP LPC800, LPC11E60, LPC11U60
* NXP (Freescale) Kinetis E, EA, L, M, V1, W0
* Renesas Synergy S1
* Silicon Labs (Energy Micro) EFM32 Zero, Happy
* STMicroelectronics STM32 L0

Cortex-M1|

* Altera FPGAs Cyclone-II, Cyclone-III, Stratix-II, Stratix-III
* Microsemi (Actel) FPGAs Fusion, IGLOO/e, ProASIC3L, ProASIC3/E
* Xilinx FPGAs Spartan-3, Virtex-2-3-4

Cortex-M3|

* Actel SmartFusion, SmartFusion 2
* Analog Devices ADuCM300
* Cypress PSoC 5000, 5000LP, FM3
* Fujitsu FM3
* Holtek HT32F
* Microchip (Atmel) SAM 3A, 3N, 3S, 3U, 3X
* NXP LPC1300, LPC1700, LPC1800
* ON Semiconductor Q32M210
* Silicon Labs Precision32
* Silicon Labs (Energy Micro) EFM32 Tiny, Gecko, Leopard, Giant
* STMicroelectronics STM32 F1, F2, L1
* Texas Instruments F28, LM3, TMS470, OMAP 4
* Toshiba TX03

Cortex-M4|

* Microchip (Atmel) SAM 4L, 4N, 4S
* NXP (Freescale) Kinetis K, W2

Cortex-M4F|

* Cypress 6200, FM4
* Infineon XMC4000
* Microchip (Atmel) SAM 4C, 4E, D5, E5, G5
* Microchip CEC1302
* Nordic nRF52
* NXP LPC4000, LPC4300
* NXP (Freescale) Kinetis K, V3, V4
* Renesas Synergy S3, S5, S7
* Silicon Labs (Energy Micro) EFM32 Wonder
* STMicroelectronics STM32 F3, F4, L4, L4+, WB
* Texas Instruments LM4F/TM4C, MSP432
* Toshiba TX04

Cortex-M7F|

* Microchip (Atmel) SAM E7, S7, V7
* NXP (Freescale) Kinetis KV5x
* STMicroelectronics STM32 F7, H7

Cortex-M23|

* Microchip (Atmel) SAM L10, L11

Real-time
microcontrollers|

| Cortex-R4F|

* Texas Instruments RM4, TMS570

|

Cortex-R5F|

* Scaleo OLEA
* Texas Instruments RM57
* Xilinx ZynqMP

* v
* t
* e

Classic ARM-based chips

* ARM Holdings
* ARM architecture
* List of ARM cores
* ARM Cortex-A
* ARM Cortex-R
* ARM Cortex-M
* List of ARM Cortex-M development tools

Classic
processors|

| ARM7|

* Atmel SAM7L, SAM7S, SAM7SE, SAM7X, SAM7XC, AT91CAP7, AT91M, AT91R
* Cirrus Logic PS7xxx, EP7xxx
* Mediatek MT62xx
* NXP LPC2100, LPC2200, LPC2300, LPC2400, LH7
* STMicroelectronics STR7

|

ARM9|

* Aspeed AST2400
* Atmel SAM9G, SAM9M, SAM9N, SAM9R, SAM9X, SAM9XE, SAM926x, AT91CAP9
* Cirrus Logic EP9xxx
* Freescale i.MX1x, i.MX2x
* Nuvoton NUC900
* NXP LPC2900, LPC3000, LH7A
* Rockchip RK27xx, RK28xx
* Samsung S3C24xx
* ST-Ericsson Nomadik STn881x
* STMicroelectronics STR9
* Texas Instruments OMAP 1, AM1x, DaVinci
* VIA WonderMedia WM8505/8650
* ZiiLABS ZMS-05

ARM11|

* Broadcom BCM2835
* Cavium CNS3xxx
* Freescale i.MX3x
* Infotmic IMAPX210/220
* Mindspeed Comcerto 1000
* Nvidia Tegra APX, 6xx
* Qualcomm MSM7000, Snapdragon S1
* Samsung S3C64xx, S5P64xx
* ST-Ericsson Nomadik STn882x
* Telechips TCC8902
* Texas Instruments OMAP 2
* VIA WonderMedia WM87x0

ARMv2a
compatible|

* Amber (open FPGA core)

ARMv4
compatible|

* Faraday FA526, FA626
* DEC/Intel StrongARM

ARMv5TE
compatible|

* Intel/Marvell XScale
* Marvell Sheeva, Feroceon, Jolteon, Mohawk
* Faraday FA606TE, FA616TE, FA626TE, FA726TE

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Engineering:Amber_(processor_core)&oldid=1038985"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template