Revision as of 10:36, 27 September 2011 by Maswabey (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

** Currently a work in progress **

Overview

Choosing a processor core(s) plus additional hardware is a very complex decision and is a balance between:

  • How well the SoC suits the problem at hand
  • The available experience or sources of help to develop it

The main areas of interest are the fundamental architecture of the core, the peripheral modules available and the software environment.

Architecture

Examples of architecture are ARM, MIPS, Intel x86, TMS320, AVR, MSP430 etc. The key things to consider are the data and address widths as well as the math capabilities of the processor.

Data word size (8, 16, 32 or 64 bit)

The larger the data word, the larger the math operation that can be carried out in one go. Also the larger the power cost. Bear in mind the internet is 32 bits (addresses and datatypes) so it is inefficient on microcontroller bit widths i.e. 8 or 16.

Math capability

Many processor architectures have no floating point math hardware and those that do often pay a heavy power price for it. Consider whether you can avoid most floating point math in favour of integer math. If not a hardware floating point unit may be a necessity.

Memory capacity

Does the chip have RAM and/or FLASH memory inside it? If not any design is going to have to have external RAM or FLASH on the PCB which will require high speed PCB engineering. This is a solvable problem but needs to be taken into account.

Alumni Liaison

Correspondence Chess Grandmaster and Purdue Alumni

Prof. Dan Fleetwood