SoC System Design
SoC System Design
SoC System Design
1 Mr. A. B. Shinde
Lecturer,
Department of Electronics Engg.
P.V.P.I.T. Budhgaon.
SOC BASICS
2
SOC BASICS
After emulation the hardware of the SoC follows the place and
route phase of the design of an integrated circuit before it is
fabricated.
10
SIMD (SINGLE INSTRUCTION, MULTIPLE DATA)
In computing, SIMD (Single
Instruction, Multiple Data;
"vector instructions") is a
technique employed to achieve
data level parallelism.
19
SISD (SINGLE INSTRUCTION, SINGLE DATA )
This is the oldest style of
computer architecture, and
still one of the most
important: all personal
computers fit within this
category
23
MIMD (MULTIPLE INSTRUCTION, MULTIPLE DATA )
In computing, MIMD (Multiple
Instruction stream, Multiple Data
stream) is a technique employed to
achieve parallelism.
25
MIMD (MULTIPLE INSTRUCTION, MULTIPLE DATA )
data streams.
MIMD (MULTIPLE INSTRUCTION, MULTIPLE DATA )
The most general of all of the major categories, a MIMD machine
is capable of being programmed to operate as if it were in fact any
of the four.
Synchronous or asynchronous MIMD instruction streams can
potentially be executed either synchronously or asynchronously, i.e.,
either in tightly controlled lock-step or in a more loosely bound do your
own thing mode.
Deterministic or non-deterministic MIMD systems are potentially
capable of deterministic behavior, that is, of reproducing the exact same
set of processing steps every time a program is run on the same data.
Well-suited to block, loop, or subroutine level parallelism. The more
code each processor in an MIMD assembly is given domain over, the
more efficiently the entire system will operate, in general.
Multiple Instruction or Single Program MIMD-style systems are
capable of running in true multiple-instruction mode, with every
processor doing something different, or every processor can be given
the same code; this latter case is called SPMD, Single Program Multiple
27
Data, and is a generalization of SIMD-style parallelism.
MIMD : SHARED MEMORY MODEL
The processors are all connected to a "globally available"
memory, via either a software or hardware means. The
operating system usually maintains its memory coherence.
Bus-based:
MIMD machines with shared memory have processors which
share a common, central memory.
Here all processors are attached to a bus which connects them to
memory.
This setup is called bus-base point where there is too much
contention on the bus.
Hierarchical:
MIMD machines with hierarchical shared memory use a
hierarchy of buses to give processors access to each other's
memory.
Processors on different boards may communicate through inter-
nodal buses.
Buses support communication between boards.
28
With this type of architecture, the machine may support over a
thousand processors.
MIMD : DISTRIBUTED MEMORY MODEL
In distributed memory MIMD machines, each processor
has its own individual memory location. Each processor
has no direct knowledge about other processor's
memory.
For data to be shared, it must be passed from one
processor to another as a message. Since there is no
shared memory, contention is not as great a problem
with these machines.
It is not economically feasible to connect a large number
of processors directly to each other. A way to avoid this
multitude of direct connections is to connect each
processor to just a few others.
The amount of time required for processors to perform
simple message routing can be substantial.
Systems were designed to reduce this time loss and
hypercube and mesh are among two of the popular
interconnection schemes. 29
MIMD : DISTRIBUTED MEMORY MODEL
Interconnection schemes:
Hypercube interconnection network:
In an MIMD distributed memory machine with a hypercube system
interconnection network containing four processors, a processor
and a memory module are placed at each vertex of a square.
The diameter of the system is the minimum number of steps it
takes for one processor to send a message to the processor that is
the farthest away.
So, for example, In a hypercube system with eight processors and
each processor and memory module being placed in the vertex of a
cube, the diameter is 3. In general, a system that contains 2^N
processors with each processor directly connected to N other
processors, the diameter of the system is N.
Mesh interconnection network:
In an MIMD distributed memory machine with a mesh
interconnection network, processors are placed in a two-
dimensional grid.
Each processor is connected to its four immediate neighbors. Wrap
around connections may be provided at the edges of the mesh.
30
One advantage of the mesh interconnection network over the
hypercube is that the mesh system need not be configured in
powers of two.
MISD
MULTIPLE INSTRUCTIONS SINGLE DATA
31
MISD (MULTIPLE INSTRUCTIONS, SINGLE DATA)
In computing, MISD (Multiple
Instruction, Single Data) is a type of
parallel computing architecture
where many functional units perform
different operations on the same data.
Pipeline architectures belong to this
type.
Fault-tolerant computers executing
the same instructions redundantly in
order to detect and mask errors, in a
manner known as task replication,
may be considered to belong to this
type.
Not many instances of this
architecture exist, as MIMD and
SIMD are often more appropriate for 32
common data parallel techniques.
MISD (MULTIPLE INSTRUCTIONS, SINGLE DATA)
I thought of another example
of a MISD process that is
carried out routinely at [the]
United Nations. When a
delegate speaks in a language
of his/her choice, his speech is
simultaneously translated
into a number of other
languages for the benefit of
other delegates present. Thus
the delegates speech (a single
data) is being processed by a
number of translators
(processors) yielding different 33
results.
MISD (MULTIPLE INSTRUCTIONS, SINGLE DATA)
MISD Examples:
Multiple frequency filters operating on a single signal
stream.
Multiple cryptography algorithms attempting to crack
a single coded message.
35
PIPELINING
For example:
Consider a case where an 8-bit processor must add two 16-bit
integers. The processor must first add the 8 lower-order bits from
each integer, then add the 8 higher-order bits, requiring two
instructions to complete a single operation. A 16-bit processor would
be able to complete the operation with single instruction
For Example:
1. e = a + b
2. f = c + d
3. g = e * f
Here, Operation 3 depends on the results of operations 1
and 2, so it cannot be calculated until both of them are
completed. However, operations 1 and 2 do not depend
on any other operation, so they can be calculated
simultaneously.
If we assume that each operation can be completed
in one unit of time then these three instructions can be 48
completed in a total of two units of time, giving an ILP of
3/2.
INSTRUCTION LEVEL PARALLELISM: CONT
56
EMBEDDED SYSTEM
An embedded system is a
special-purpose computer
system designed to perform
one or a few dedicated
functions, often with real-
time computing constraints.
It is usually embedded as
part of a complete device
including hardware and
mechanical parts. In
contrast, a general-purpose
computer, such as a personal
computer, can do many
different tasks depending on
The internals of a Netgear ADSL programming.
modem/router. A modern example Embedded systems control
of an embedded system. Labelled many of the common devices
parts include a microprocessor (4), in use today. 57
59
MICROCONTROLLERS
A Microcontroller is essentially a small and self sufficient
computer on a chip, used to control devices
Characteristics of a Microcontroller
Low cost, on the order of $1
Low speed, on the order of 10 KHz 20 MHz
Low Power, extremely low power in sleep mode
Small architecture, usually an 8-bit architecture
Small memory size, but usually enough for the type of
application it is intended for. Onboard Flash.
Limited I/O, but again, enough for the type of 60
application intended for
MICROPROCESSORS
A Microprocessor is fundamentally a collection of on/off
switches laid out over silicon in order to perform
computations
Characteristics of a Microprocessor
High cost, anywhere between $20 - $200 or more!
High speed, on the order of 100 MHz 4 GHz
High Power consumption, lots of heat
Large architecture, 32-bit, and recently 64-bit
architecture
Large memory size, onboard flash and cache, with an
external bus interface for greater memory usage
Lots of I/O and peripherals, though Microprocessors 61
tend to be short on General purpose I/O
HARVARD ARCHITECTURE
Harvard Architecture refers to a memory structure
where the processor is connected to two different
memory banks via two sets of buses
64
LITTLE VS. BIG ENDIAN: CONT
75
SYSTEM DESIGN CYCLE:
THE SPIRAL MODEL
77
DESIGN METRICS
79
PCB LAYOUT
80
PCB BOARD
81
ANY