Processor Design: System-On-Chip Computing for ASICs and FPGAs

Jari Nurmi
Tampere University of Technology
Embedded systems are computers in disguise, systems carrying along a computer or processor-based system that are not programmable by the user and in most cases do not have any observable resemblance to a computer [36]. The software is typically developed by the designers of the system, downloaded or hard-coded to the system at manufacture-time, and inaccessible to the end-user. Such systems can be found at home (washing machine, DVD-player, game console), in the office (printer, WLAN base station, building automation), cars (engine control, ABS brakes, security system), aeroplanes (fly-by-wire, navigation, autopilot), industrial, forest, and harvesting machines (process monitoring, process control, robotics), in your pocket (mp3 player, mobile phone, PDA) and even in your wallet (electronic bus tickets, credit cards, keycards). The most high-end embedded systems, e.g., game consoles and cell phone base stations, may have processing capacity supreme to the desktop PC. In the progress towards a more nomadic lifestyle, various mobile gadgets and ubiquitous services in the everyday surroundings have emerged, further emphasizing the importance of small size, low cost and low power consumption of embedded computation.
Due to rapid technology advancement in integrated circuit era, the design and implementation of embedded systems has increasingly been merged with circuit design. As a visible symptom of this, the term System-on-Chip (SoC) [225] has been coined and increasingly used wherever highly integrated embedded systems emerge. This trend has been one of the enablers for processor design to come at reach for digital circuit and system...