Professional Documents
Culture Documents
Overview of SOC
Architecture design
Tien-Fu Chen
SOC architecture
Reconfigurable
System-level
Programmable processors
Low-level reconfiguration
On-chip bus
Differentiating features:
power Differentiating features
cost
speed (need not be fully
speed (must be predictable) predictable)
speed
output did we mention speed?
analog
CPU cost (largest component power)
input analog
Logic
mem
embedded
computer
Embedded
System
Micro-Cell Pico-Cell
Macro-Cell Requirements
Specification
Specification
Untimed,
Unclocked,
C/C++ Level Embedded
Testbench Systems Design
Software
Embedded
Refinement
Implementation
Characterization
Software
Design Export P/C
µ Analog
Memory SOC
Implementation
Timed,
Clocked, Firmware
RTL Level
CORE
Architectures
Partition
Executable or
RTL, Gate level, Compilable code:
Transistors, Layout Detailed Representation The program(s),
of Implementation OS routines
Traditional design
SW design
SW test
System
PCB test
design
Time
Co-Design Process
Tasks
SW design
SW test
System
design
Shared Design PCB test
Time
System-Level Partitioning
Advantages of configuration:
Pay (in power, design time, area) only for what you
use
Easy answers:
Memory and Cache Sizes - get precisely the sizes your applications
needs
Register file sizes
Harder answers:
Peripherals
Instructions
Gadgets
Watches
...
UART
Generic IR interface
ARM7 core
Advanced Peripheral Bus, (APB) - low speed, low power, parallel I/O,
UART’s
External interface
http://www.arm.com/Documentation/Overviews/AMBA_Intro/#intro
netlist • ARM7
• Motorola Coldfire
physical
design • Tensilica Xtensa
layout
Data P rogram
Memory Memory
mux
AddrGen AddrGen
CLB CLB
re g0
Inst ruction
Memory Memory Decoder
re g1 Datapath &
C ontroller
a dder
C LB C LB
MAC
buffer Data
Memory
Configuration
Arithmetic Arithmetic Arithmetic
Processor Processor Processor Dedicated
Arithmetic
Communication Network
Network Interface
Control Configurable Configurable
Processor Datapath Logic
AddressGen AddressGen
Memory Memory
Convolution
MAC MAC
L G C
Control
Processor
AddrGen
for(i=1;i<=L;i++)
for(k=i;k<=L;k++) MEM: in
Algorithm s C++
µproc &
Kernel Detection Accelerator
P DA Models
Behavioral
Estimation/E xploration
SUIF+ C-IF
Po wer & Tim in g Estimation
of Vario us Kernel Implemen tations
P remapped
K ernels
P artitioning
C++ Module
Libraries
S oftware Compilation
Reconfig. Hardware Mapping
Interface Code Generation
System Bus
DMA CPU DSP
Mem
Ctrl.
Bridge
MPEG
The “Board-on-a-Chip”
Approach
I O O
C
Custom Interfaces
Open Core
DMA CPU DSP MPEG Protocol™
SiliconBackplane™
(patented) { MultiChip
Backplane™
C MEM I O
SiliconBackplane
Agent™
On-Chip Bus
Bus
Data
IP IP
Core Core
Time
• Expensive to decouple
• Not designed for real-time
© by Tien-Fu Chen@CCU SOC - 31
Communication Buses Decouple
and Guarantee Real Time
Transmit FIFO Receive FIFO
IP IP
Core TDMA TDMA Core
Communications
Bus
Data
IP IP
Core Core
Time
Design Methodology:
Top Down Aspect:
Orthogonalization of Concerns:
– Separate Implementation from Conceptual Aspects
– Separate computation from communication
Formalization: precise unambiguous semantics
Abstraction: capture the desired system details (do not overspecify)
Decomposition: partitioning the system behavior into simpler behaviors
Successive Refinements: refine the abstraction level down to the
implementation by filling in details and passing constraints
Bottom Up Aspect:
IP Re-use (even at the algorithmic and functional level)
Components of architecture from pre-existing library
No notion of hardware or
software! Mem
13
External DSP
Rate
User/Sys
Control I/O Processor
Buffer 3 Sensor
Processor Bus
12
Synch
Control MPEG DSP RAM
4
Rate Frame
Video Video
Front Transport
Decode 2
Buffer
Decode 6
Buffer
Output 8 Peripheral Control
End 1 5 7
Processor
Rate
Buffer Audio
Audio System
9 Decode/ Decode
Output 10 RAM
Mem
11
User/Sys
Communication DSP
Rate External
Buffer
Control
3 Sensor Over Bus I/O Processor
12
Processor Bus
Synch
Control
4
MPEG DSP RAM
Rate Frame
Transport Video Video
Front Buffer Buffer
Decode 2 Decode 6 Output 8
End 1 5 7
Peripheral Control
Rate Processor
Buffer Audio
9 Decode/ Audio System
Output 10
Decode
RAM
Mem
11
Increasing Embedded
Software More
Time-to-market
Crisis Applications
pressure
application compiler
U source Application
S code software
E
R a.out RTOS
A
S
C I ROM
simulator P
C
debugger A
U S
RAM
I
C
Software Platforms
Platform API
Application Software
Software
Software Platform
Hardware Platform Hardware
Input devices Output Devices I O
network
Communication
API
Network
RTOS
Compiler
Device Drivers
BIOS
Application
Hardware IP Processor(s), RTOS(es) and
Space CPU
FPGA SW architecture
SW IP
Co-Synthesis
Partitioning
Verification
HW Parameter SW Parameter
Estimation Estimation
HW SW
Synthesis Synthesis Verification
ASIC OS
EXE Code Verification
System
Integration Final Verification