Electronic – What exactly does ARM sell to vendors

armcomputer-architecture

Assumptions:

  1. Computer architecture: Describes how the different modules of a processor interact with each other.

  2. A computer architecture is defined using vhdl files

  3. Computer Organization: Describes the physical layout of the processor modules on silicon.

  4. A computer organization is defined using a set of photo masks (and manufacturing process eg chemical, that goes at each step)

  5. Computer Organization, therefore, requires that the fab process be taken into account.

  6. ARM is not in the fabrication business, therefore it does not sell photo masks.


My question(s):

  1. What exactly is ARM selling to a vendor (eg: freescale)?
  2. For a SoC (System On Chip), (eg: iMx6), which part is ARM and which is Freescale? Who did the integration?

Best Answer

You're using those terms wrong. "Computer organization" is a rarely-used term for the microarchitecture, and "computer architecture" is a superset of that.

Integrated circuit IP blocks come in two basic forms:

  • A soft macro is the RTL (VHDL or Verilog) that describes the functional implementation of the IP. This is compiled into a gate-level netlist, which is then turned into a physical layout to produce the mask set for manufacturing. Here's an example from Cadence -- an Ethernet MAC. When you buy it, you get Verilog files, documentation, and a Verilog testbench for verification.

  • A hard macro is a physical layout of the IP suitable for a given process. It's added to the larger chip layout as a single block, which saves some steps in the design process. Here's another Cadence example -- an Ethernet PHY. It's offered in 180nm and 130nm processes at TSMC, UMC, and SMIC, and is delivered to the customer in the form of GDSII layout files.

ARM sells both of these. The MCUs I've worked on usually use soft macros of ARM Cortex CPUs. We had some older product with ARM7 hard macros, but I don't know if they were hardened by ARM or us. Today, ARM has hard macro versions of the Cortex-A series listed on their web site. Most of their products are synthesizable (soft macros), though. It looks like you can download the (soft) Cortex-M0 for free for non-commercial use on the ARM DesignStart site.

In an SoC, the ARM part is just the CPU. (The designer can also buy peripheral IP from ARM, but it's not required.) The SoCs I've worked on have a mix of third-party and internal IP.