Chapter 1
Chapter 1
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Real Environment
Electronic System
Signal
Processing
System Actuators
Sensors
Analog/ control
Digital
Communication with
other micro systems
2
Smart Systems - Principal Structure
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Power electronics
Signal-Carrying
Actuators
Forms of Energy
Analog
Optical signal
processing
Real environment
Mechanical
System Control
Biological, Chemical, Physical
Thermal Microcontroller
Special interfaces
DSP
Power Supply
Electrical Real Time Operating System
Mechanical
Thermal
Communication with
other Systems
3
“Embedded” Electronic Systems
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
4
Automotive Electronic Control Units
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
5
Automotive Electronic Control Units
Characteristics: distributed, mechatronic
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Mechatronic Example:
Hydraulic
Brake System
7
Typical Design Flow
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Idea System-Analysis
Executable Specs
System Design
ASR
ASR
Rad 1
Kontrolle
control
Rad 1
Customer Requirements
Wheel 1 Wheel 2
Technical Requirements
HW/SW-Requirements Analysis
Frei Frei
free free
Bremsen
brake
Bremsen
brake System Architecture
Preliminary HW/SW-Design Interfaces
HW-Architecture, SW-Architecture Modeling and Simulation
Interface Description PROCESS (slippage, state)
BEGIN
Real-Time Requirements
CASE state IS
WHEN free =>
IF slippage > 0 THEN
Rapid Prototyping
next_state <= brake;
ELSE
next_state <= chk;
Hardware Platform
Code Generation
& Detailed HW/SW-Design
Real Time Operating System
& SW-Design, Data Dictionary
Configurable Interfaces
& & HW-Drawings
HW-Analysis Report
HW/SW-Implementation
Integration
SW-Modules, Data Dictionary,
SW-Component, HW-Component,
System Integration
HW-Module, HW-Realization, Documents Calibration, Application
Transition to Utilization
8
Implementation Alternatives
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Sensors
Actuators
Mask One-Time Re-
Custom ICs
Programmable Programmable programmable Interconnecting
Technology
Standard Cells Gate Arrays PLDs LCAs
Xilinx VIRTEX
XCV2000 E Properties:
ca. 2.500.000 gates
80*120 CLB-Array
43.200 “Logic Cells”
Board system clock: 33MHz
0.18 µm 6- Layer CMOS-Process
Can be reprogrammed infinitely
CLB times
-> thanks to SRAM memory
Block-RAM
1 MB internal SRAM memory
130 MHz internal CLB clock
frequency
IOB
I/O Performance: 622 Mb/s
404 In-/outputs 10
Xilinx Virtex: Architecture
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
CLB PLL
Segmented routing
Select I/O
Vector Based
Pins
Interconnect
delay=f(vector)
Block
SelectRAM Distributed
Memory SelectRAM
Memory
11
FPGA - Structure
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
FPGA-Architectures:
SRAM-based Look-up Tables (LUTs)
Problems:
• Interconnection: reduces performance
• Relation: active / passive elements
Configurable Logic
Block (CLB)
LUT
Source: R. Hartenstein 12
RAM-based FPGAs: Logic Realization
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
?
Programmable Gate
Solution:
Look-up-Table (LUT)
In1 With 2 inputs 0
In Out
00 0 Out 1 Out
MUX
In2
01 1 1
10 1 0
11 0 MEM (Select)
(LUT) 13
In1 In2
FPGA – Example Xilinx Virtex-II Pro
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Rocket
IO
Metal 9
Metal 8
Metal 7
Metal 6
Power PC Metal 5
Metal 4 Metal 4
Core Metal 3 Hard Metal 3
Metal 2 Metal 2
Metal 1 IP-block Metal 1
Poly (Power PC) Poly
On-Chip Substrate
Memory
Controller
14
FPGA Architectures
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Interconnection
Matrix (IM) Configurable
Logic Block
(CLB)
Digital Signal
Processing (DSP)
Block Random
Access Memory
(BRAM)
Major FPGA (Xilinx) blocks are CLBs, DSPs and BRAMs connected by an IM
CLBs contain Multiplexer (Mux), Look-Up-Tables (LUTs) and Flip-Flops (FFs)
providing a configurable logic:
DSPs are optimized for multiply and add operations
Mux
BRAMs are optimized for memory operations LUT FF
15
FPGA – Design and Implementation
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Configuration Routing
File (Bitstream)
FPGA 16
Overview
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
17
Overview
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
18
Overview
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
19
Overview
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
20
Configurable Logic Block (CLB) in 7-
Series FPGAs
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
21
Two Types of CLB Slices
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
22
Slice Resources
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
23
7-Series Block RAM and FIFO
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
25
Literature
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
• https://docs.xilinx.com/v/u/en-US/7-series-product-selection-guide
• UG474 (v1.8): 7 Series FPGAs Configurable Logic Block“; Xilinx , pp. 1-74,
2016.
• UG473 (v1.14): „7 Series FPGAs Memory Resources”; Xilinx, pp. 1-88, 2019.
• Xilinx Tutorial: “FPGA Design Flow using Vivado 2018.2”; 2018 (Slides are
partially based on this tutorial)
26
Design Constraints
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
• Increasing Complexity
− Structure size decreases
− Chip dimensions increase
Number of transistors per chip quadruples every three years
• Pressure of Competition
− Almost no monopolies: extreme price pressure
− Continually decreasing time for development
à “Time to market” decides about success or failure of a product
27
Trend: Transistors Per Die
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
28
Intel‘s High-End Processor Solutions:
Itanium
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Dunnington:
6 Penryn cores
on one chip
3 MByte L2-Cache
per dual-core
16 MByte L3-Cache
Publication:
Intel Developer Forum
Spring 2008
30
Intel Processors
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Westmere-EX:
30 MByte L3-Cache
32 nm structures
Publication: 31
Spring 2011
NVIDIAs Fermi GPU
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
General Purpose
Graphics Processing
Unit (GPGPU)
Spring 2011
largest chip ever built
3 billion transistors
512 cores
32
NVIDIAs Fermi GPU
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
• 32 cores form a
SM Streaming
Multiprocessor
• 16 SIMD units
• ECC support
Error Detection
and Correction
• Unified Level 2
Cache
• Six 64-bit
memory
partitions
(384 bit memory
interface)
33
NVIDIAs Fermi GPU
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
• Parallel computing
architecture developed by
NVIDIA
35
How to design such complex Electronic
Systems?
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
1. Modularization
2. Hierarchy
3. Abstraction
36
Modularization
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
37
Modularization supported in VHDL
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Fully defined
Interface Interface
Interface
Testability
Body1 Body1
Limited access
(Separation of Interface
and Implementation)
Body2 Body2
Complete Unit
Manageability
38
Hierarchy
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
39
Hierarchy: supported in VHDL
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
entity ALU
uses uses
instance A1 of instance S1 of
entity ADD entity SHIFT
uses uses
40
Partial Order
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
− a≤a (reflexivity)
− a≤b ∧ b≤c → a≤c (transitivity)
− a≤b ∧ b≤a → a=b (antisymmetry)
• Example:
a
Set X := {a, b, c, d, e, f, g, h}
Relation: ≤ (Hierarchy)
b c d
41
Modularization and Hierarchy
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
System S
M1
M2 Gate
Mi
n: Number of Gates
m: Number of Modules
G1 G2 G3 G4 G5 ..... Gn M1 M2 M3 ..... Mm
G1 G2 G3
....
42
Abstraction
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Algorithmic Level
Behavior Structure
Register-
Transfer Level
System-
specification Logic Level Systems, Subsystems, Busses, I/O
Algorithms CPU, ALU, Busses, I/O
Circuit
Register Transfers Level Modules, Wires
Boolean Equations Gates, Flip-Flops, Wires
Differential Equations Transistors
Masks, Polygons
Cells
Floorplan
Clusters
Views &
Partitioning
Abstraction Levels
Geometry
44
Design Views
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
• Geometrical view
− Polygons
− Cells
− Floor plan
• Structural view
B
− Transistors, Wires A D OUT
− Gates, Flip-Flops A
CTL D
− Modules, Subsystems B
• Behavioral view
A := 3*B+C
− Differential Equations IF (D=TRUE) THEN
− Boolean Equations A := A + 1
− Register Transfers, ELSE A := A - 1
Algorithms ENDIF
45
Bluetooth Chip - Geometrical View
(Floorplan)
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
46
Analog Circuit - Structural View
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
R2 C1 V+
in R1 R3
- out
1 2
Vein + Vout
C2
V-
47
Digital Circuit - Structural View
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
48
Finite State Machine - Behavioral View
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
− Basic Characteristics
compute performance RAM CPU I/O
and communication
bandwidth
− Simplified Functionality Control
− No Timing
−Description Methods:
− Behavior: System/Block Specification
− Structure: CPUs, Memory, Interface Units
− Geometry: Partitioning of Chip/Board Area
50
Abstraction Levels
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
−Description Methods:
− Behavior: Functions and Procedures
− Structure: Subsystems, Busses
− Geometry: Cluster
51
Abstraction Levels
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
− Basic Operations 4
(e.g. Addition, bit_vectors) Register
RAM
− Transfers between Registers
− Timing via Clock/Reset Signals ROM ALU MUX
− discrete values, discrete time
Two- (multi-) valued logic signals
− Description Methods:
− Behavior: Arithmetic Operations,
Finite State Machines
− Structure: Modules (Registers, Encoder, ...)
− Geometry: Floor Plan
52
Abstraction Levels
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
− Description Methods:
− Behavior: Boolean Equations
− Structure: Gates, Flip-Flops (Net List)
− Geometry: Cells
53
Abstraction Levels
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
− Description Methods:
− Behavior: Ordinary Nonlinear
Differential Equations
− Structure: Transistors, Resistors,
Capacitors, Wires,
Current/Voltage Sources
− Geometry: Polygons
54
Model of the Design Process
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Level i Level i
55
Model of the Design Process
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
System Level
Algorithmic Level
RT Level
Gate Level
Switch Level
Electrical Level
Design Design
Languages Documents
56
Design Process
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Refinement
Optimization
Verification
Layout
Transformation
Physical / Geometrical
Description
57
Design Complexity
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
D:=3*X; ≥1
&
Speci- IF D=TRUE
System THEN
fication Y <= B;
Require-
END IF;
ments
Specification
Bottom-up Design
Partitioning
Top-down Design
Yo-Yo Design
Refinement
Gradual
Component
Design
Implementation
59
Phase Model for System Design
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Specification
Logic Design
Schematic Entry
Logic Simulation
Layout Verification
Independent of
Technology
Dependent on
Technology
62
Design Methods for Current Technologies
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
begin
delay_register:
process(reset,clk)
begin
if reset='1' then
x_q <= (others => '0');
elsif (clk'event and clk='1') then
x_q <= x_in;
Synthesis
end if;
end process;
(Synopsys)
mult <= signed(coef)*signed(x_q);
Mask
Manufacture Layout
63
Chip Wafer
Design Process
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Refinement
Optimization
Verification
Layout
Transformation
Physical / Geometrical
Description
64
Transformations
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Transformation
Global Local
Without With
Optimization
Change of View Change of View
Verification
(Refinement) (Logic Synthesis)
65
Transformations
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
T : T : T :
Verifi- Verifi- Verifi-
manual interactive Automatic
cation cation cation
Design design design
66
Development of Electronic Systems
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
and
Verification Cycles
67
Abstraction, Hierarchy, Modularization
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
RAM CPU IO
Modulari-
1 Architecture zation
CONTROL
H
A := 3*B+C
2 Algorithm
IF (D=TRUE) THEN
A := A + 1
Modulari- I
ELSE A := A - 1 zation
ENDIF E
R
Abstraction
4
RAM Register
Modulari-
3 Register Transfer zation A
ROM ALU MUX
R
1
Modulari- C
4 Logic D Q =1
zation
& H
B Y
A D OUT
Modulari-
5 Electrical Circuit A
CTL D zation
B
68
Abstraction, Hierarchy, Modularization
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
69
Hierarchy of the System Design
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Micro System
Implementation
Requirement Specification Design Integration Production
description Subsystem i &Test & Service
Data acquisition
Implementation Integration
Spec. Design
Component &Test
Software Module:
Sensor Fault Detection
Conceptual Detail Test Conceptual Detail Module
Spec. Design Spec. Design Test
Design Design 70
Abstraction Levels for Modeling and
Simulation
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Abstraction-
levels Overall System
A1
Closed Loop / Reactive Control System A2
idealized Sensor/Actuator B
e/act
CONTROL
Digital
Circuits Logic
Timing
Analog simplified
Macro models Sensor/Actuator-
Circuits
models
Process,
Physical models Sensor/Actuator-
models
Architecture Synthesis
Architecture RAM CPU IO - Partitioning
specification - Parallel processes
CONTROL - Analysis
A := 3*B+C
IF (D=TRUE) THEN Algorithmic Synthesis
Algorithmic A := A + 1
specification ELSE A := A - 1 - Synthesis of digital circuits
ENDIF - Optimization
- Design alternatives (serial / parallel)
4
Register
Block Diagram RAM
Net list optimization
(independent of manu- ROM ALU MUX - Inclusion of Libraries
facturer and technology) - Refining the structural description
Schematic
Conventional CAD-System
Net list 1
=1
D Q
(independent of manu- &
Standard ICs Standard cells
facturer and technology) PCBs Gate Arrays
Implementation ASIC
72
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description Model Aj
Block A {Stimuli}
Level i
6 1 2 5
Formal
Expansion Design Step Expansion Simulation
Equivalence
Technique m Technique n Ai ↔ An,i+1
Ai ↔ Am, i+1
3
Design Formal Design
Description Equivalence Description Model An,i+1
Structure Am Structure An {Stimuli}
Level i+1 Am ↔ An Level i+1
Design
Description
Block A
Level i
Expansion
Technique m T
Design
Description
Structure Am
Level i+1
74
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description
Block A
Level i
6 1
Formal
Expansion
Equivalence
Technique m T
Ai ↔ Am, i+1
Design
Description
Structure Am
Level i+1
75
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description
Block A
Level i
Expansion
T Technique n
Design
Description
Structure An
Level i+1
76
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description Model Aj
Block A {Stimuli}
Level i
2 5
Expansion Simulation
T Technique n Ai ↔ An,i+1
Design
Description Model An,i+1
Structure An {Stimuli}
Level i+1
77
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description
Block A
Level i
1 2
Expansion Expansion
Technique m T Technique n
3
Design Formal Design
Description Equivalence Description
Structure Am Structure An
Level i+1 Am ↔ An Level i+1
78
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description
Block A
Level i
1 2
Design Design
Description Description
Structure Am Structure An
Level i+1 Level i+1
Design
Description Model Aj
Block A {Stimuli}
Level i
2 5
Expansion Simulation
T Technique n Ai ↔ An,i+1
Design Design
Local
Description Description Model An,i+1
Trans-
Structure Am Structure An {Stimuli}
formation
Level i+1 Level i+1
80
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description Model Aj
Block A {Stimuli}
Level i
2 5
Expansion Simulation
T Technique n Ai ↔ An,i+1
81
Verification Methods
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Design
Description Model Aj
Block A {Stimuli}
Level i
6 1 2 5
Formal
Expansion Design Step Expansion Simulation
Equivalence
Technique m Technique n Ai ↔ An,i+1
Ai ↔ Am, i+1
3
Design Formal Design
Description Equivalence Description Model An,i+1
Structure Am Structure An {Stimuli}
Level i+1 Am ↔ An Level i+1
Requirements
System Specification
Verification
Module 2
Module 1 Alt 1 Module 3
Sub-Module 1
83
Top-Down Design Verification
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
Requirements
Verification (Validation)
System
Specification
Verification Behavioral Test- Verification
Description vectors
Alt 3
Module 2 Alt 2
Module 3 Alt 1 T.V.
V.def.
Alt 2 Verification
V.def. T.V. V.def. T.V.
Module 1 Alt 1
V.def. T.V. V.def. T.V.
V.def. T.V.
Alt 2
Sub-M. 1 Alt 1
V.def. T.V.
V.def. T.V.
Verif.
Primitive Primitive Primitive Primitive
Gate Register
84
Motivation for HDL
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
• Complexity
− Specification
− Simulation
− Prototype production is too expensive and time-consuming
− Early verification is only possible through simulation
− Synthesis
− Given current design complexity, manual design is no longer possible
• Data exchange
87
Motivation for HDL
Fakultät Informatik, Institut für Technische Informatik, Professur für Adaptive Dynamische Systeme
88