System Synthesis of Digital Systems: Petru Eles, Zebo Peng
System Synthesis of Digital Systems: Petru Eles, Zebo Peng
Literature: P. Eles, K. Kuchcinski and Z. Peng "System Synthesis with VHDL" Kluwer Academic Publisher, December 1997.
Introduction
1. Digital System Synthesis 2. Lecture Topics 3. Specification Domains and the Abstraction Hierarchy 4. The Y-Chart 5. Synthesis Steps
March 2000
March 2000
Whats About?
Its about (automatic) synthesis of digital systems. A digital system (for this course) Consists of programmable processors and dedicated hardware (application specic integrated circuits - ASICs). Performs a well-dened task. In this course there will be more emphasis on the specication and synthesis of the hardware part (the ASIC).
Complexity: new computer aided methodologies are needed in the context of increasing complexity (SoC).
Verication: starting from a (formal) system specication which is validated, and performing well dened design steps (transformations) with veriable outputs.
Time to market: only efcient tools and reuse can bring design productivity up to the expected level.
March 2000
March 2000
System Synthesis
Input: an implementation independent specication of the system; this includes: functionality and constraints. The synthesis tasks: To select the architecture; To partition functionality over the components of the architecture; To schedule activities To generate behavioral modules corresponding to the hardware and software domain of the implementation, including interface modules.
- The behavioral modules resulted from the previous steps are further synthesised into the actual hardware and/or software implementation.
March 2000
Software Generation Software blocks Hardw./Softw. Cosimulation Emulation& Prototyping Product Fabrication
Petru Eles, IDA, LiTH
March 2000
IMPLEMENTATION
March 2000
10
System level: The specication is given as a set of subsystems (modules/processes) which are loosely interacting (e.g. by exchanging messages). The basic structural elements are processors, communication channels, ASICs, memories.
Functional Domain: emphasis is on behavior (input - output functionality), without any reference to the particular way in which this behavior is implemented. Structural Domain: the specication is in terms of hierarchy of interconnected functional components. Physical/Geometrical Domain: the specication is in terms of physical placement in space and physical characteristics without any elements to functionality.
March 2000
Algorithmic level (behavioral level): The specication is given as an algorithm describing the functionality. repeat xl = x + dx; ul = u - (3 * x * u * dx) - (3 * y * dx); yl = y + u * dx; c = xl < a; x = xl; u = ul; y = yl; until (c); The basic structural elements are controller and net-list.
March 2000
11
The Abstraction Hierarchy (contd) Register-transfer level: Operations described as transfer of values between registers and functional units.
System Synthesis - Introduction 12
a 3 dx x y u r1 r2
The Abstraction Hierarchy (contd) Logic level: Operations are described as boolean equations. The basic structural elements are gates and their interconnections.
validate
Circuit level: Differential equations dene relations between signal voltage, current response, etc. The system is described in terms of transistors, resistors, capacitors.
ALU
March 2000
The basic structural elements are registers, ALUs, multiplexers and controller.
March 2000
14
Y-Chart
13
Behavioral Domain
System Spec. Algorithm Reg.-Transf. Spec.
Structural Domain
CPU,Memory Controller, Net-list ALU, Reg., MUX
Y-Chart
A representation proposed by Gajski, in order to capture specication domains, abstraction levels and their inter-relation. Specication domains are represented as the three axes; In each domain, the specication can be at different abstraction levels. These levels are represented as points on the respective axes. The Y-chart also tries to capture the relation between different design activities (synthesis, analysis, renement, etc.)
Boolean Equ.
March 2000
Physical/Geometrical Domain
March 2000
15
16
Behavioral Domain
Synthesis Analysis
Structural Domain
Behavioral Domain
System Spec. Algorithm
1 2
Structural Domain
CPU,Memory
3 4
Renement
Optimization
Abstraction Generation
Transistor functions
5
Extraction
1: System level synthesis 2: High level synthesis 3: RT level synthesis 4: Logic synthesis 5: Physical design
Physical/Geometrical Domain
Physical/Geometrical Domain
March 2000
March 2000
17
18
Synthesis Steps
Synthesis: Transformation of a representation in the behavioral domain to a representation of the same design in the structural domain (at the same abstraction level). The structural description which results after a synthesis step is formulated as an interconnection of abstract components. Each such component is functionally specied at the following, lower abstraction level. These functional specications are the input for the following synthesis step.
Synthesis Steps (contd) System synthesis Input: System level specication (interacting processes) + design constraints Output: Behavioral elements to be synthesised to hardware and software + System architecture + Process schedule and mapping
High level (behavioral) synthesis Input: Algorithmic description Output: RT level description of the controller (FSM) + net-list (data path)
March 2000
March 2000
19
20
Synthesis Steps (contd) RT level synthesis Input: RT level description of the controller (FSM) + net-list Output: Blocks of combinational and memory elements Logic synthesis Input: Blocks of combinational and memory elements (as boolean functions) Output: gate-level net-list Physical design Input: gate-level netlist Output: geometrical layout for a given technology
March 2000
March 2000
21
22
0
NOP
3*x
u*dx y*dx 1 2 6 * * * 3 4 5 7
u*dx 8 * 9
x+dx 10 + 11
* 3
* 7
10
* 4 -
<
11
<
5 n
NOP NOP
March 2000
March 2000
23
24
Scheduling
Schedule the operations into clock cycles.
0
NOP
Scheduling (contd) A schedule of the same graph, considering one multiplier and one ALU.
0
NOP
10
* 7
10 TIME 2 * 2 < 11
TIME 2 TIME 3
<
11 TIME 3 * 3
TIME 4
6 7
n TIME 6
5 9
TIME 7
NOP
+ n
March 2000
March 2000
25
26
The Netlist
repeat xl = x + dx; ul = u - (3 * x * u * dx) - (3 * y * dx); yl = y + u * dx; c = xl < a; x = xl; u = ul; y = yl; until (c);
a 3 dx x y u r1 r2
The Controller
Suppose the following schedule (1 multiplier, 1 ALU):
0
NOP
v1 : 3*x -> r2 v10 : x+dx -> r1,x v2 : u*dx -> r1 v11 : r1<a -> c validate v3 : r2*r1 -> r2
10
<
11
v6 : 3*dx -> r2 v4 : u-r2 -> r1 v7 : r2*y -> r2 v8 : u*dx -> r2 v5 : r1-r2 -> u v9 : y+r2 -> y
6 7
ALU
5 9
+
NOP
n
March 2000
March 2000
27
The Controller (contd) One state for each clock cycle In each state the signals are generated which are needed in order to execute the operations scheduled for that cycle (see schedule).
1,10 lk c s1
s2
2,11
clk
s3
clk, c
clk
clk
clk
clk
,c
s7
s4
6,4
clk
s6
5,8
7 s5
March 2000