Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

38
Section 10: Advanced Topics 1 Section 10: Advanced Topics M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi

Transcript of Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Page 1: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 1

Section 10: Advanced Topics

M. Balakrishnan

Dept. of Comp. Sci. & Engg.

I.I.T. Delhi

Page 2: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 2

Multi-Level Logic Synthesis

M. Balakrishnan

Dept. of Comp. Sci. & Engg.

I.I.T. Delhi

Page 3: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 3

Objective

The objective in multi-level logic synthesis is to minimize the cost under a given time-constraint (reflected as number of levels) or to perform an area-time tradeoff.

Page 4: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 4

Issues in Multi-level Logic Synthesis

The main issue is to factorise the multiple outputs (or sub-expressions in a single output function) with a view to extract the common sub-expressions.

Page 5: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 5

Common Subexpression Extraction

y1 y2 y1 y2

x1 x2 xn

Page 6: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 6

Example

y1 = ac + b’c + de

y2 = ae’ + b’e’ + e’f

t1 = (a + b’)

y1 = t1c + de

y2 = t1e’ + e’f

Page 7: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 7

Binary Decision Diagram (BDD)

For representation and manipulation of boolean functions, BDDs are used.

For a given ordering of variables, the BDD representation for a function is canonical and for this reduced and ordered BDDs called ROBDDs are used.

Page 8: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 8

Example: BDD

y1 = a + b’c

a

b

c c c c

b

0 1

0 1 01

1 1 1 110 0 0

Page 9: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 9

Example: ROBDD

a

c

b

0

01

10

1

0 1

Page 10: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 10

Low Power Design

M. Balakrishnan

Dept. of Comp. Sci. & Engg.

I.I.T. Delhi

Page 11: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 11

Why Low Power Design ?

The need for low power design originates from two different considerations

• Mobile applications: Battery life is a critical factor in making a product commercially successful

• High-frequency VLSI circuits where low power dissipation is critical for circuit functionality and reliability

Page 12: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 12

Technology

• Universally the technology of choice for low power is CMOS

• A major component of power consumption is the switching power with leakage etc. contributing insignificantly

• The power dissipated by a gate is given by

0.5 Cload Vdd2 E(transitions)/ Tcyc

Page 13: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 13

Issues in Low Power Design

• Accurate estimations of power consumption at higher levels of design abstractions

• Power reducing design transformations

• Uniform distribution of power in the chip

• Packaging for effective power dissipation to maintain “cool” operations

Page 14: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 14

Power Estimation

Power can be estimated by simulating the behavior at different levels.

• Transistor level

• Gate level

• RTL module level

• Software power estimation

• Architecture level

Page 15: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 15

Design Transformations

• Critical path reduction

• Reducing the number of operations

• Reducing the transition activity

• Reducing the interconnect capacitance

• Operation substitution

• Bit-width optimization

Page 16: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 16

Critical Path Reduction

• Reducing the critical path implies larger acceptable delays which in turn means a lower Vdd

Vdd

Delay

Page 17: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 17

Transition Activity Reduction

• Reduction in variation in path lengths

• Coding of numbers

• Coding of states and instructions

Page 18: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 18

Transition Activity Reduction (contd.)

+

+

+

+ +

+

a b

c

d

a b c d

Page 19: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 19

Operation Substitution

• Some operations are very expensive in terms of power and in case it can be replaced by equivalent operations its is preferable e.g multiply by shift and add especially for multiplications with a constant

Page 20: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 20

Behavioral Synthesis

M. Balakrishnan

Dept. of Comp. Sci. & Engg.

I.I.T. Delhi

Page 21: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 21

Why Behavioral Synthesis ?

There is urgent need for pushing up the abstraction level at which the design can start. The reasons for this are:

• As the complexity increases, this is the only way to reduce the design turn around time

• An algorithmic description of the functionality is far easier to write than designing hardware

Page 22: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 22

Steps in Behavioral Synthesis

• Data path synthesis– Scheduling– Resource allocation (where resources include

functional units, storage units, buses and interconnects)

– Resource binding

• Control synthesis

• Clock synthesis

Page 23: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 23

Scheduling

• Assigning operations to control steps

• This phase has a lot of influence on resource allocation as what can be done concurrently depends upon the resource availability

• Complexity arises due to the range of available functional units (pipelined, multi-functional, multi-cycle etc.)

Page 24: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 24

Resource Allocation

• Typically manual but automating allocation algorithms are also available

• FU allocation: Complexity due to the range of operators i.e. Multi-cycle, multi-function, pipelined, mixed speed operators for the same operation

• Storage allocation: e.g. Registers, Memory units, Multi-port memories, Register files

Page 25: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 25

Resource Binding

• Examples of binding to be carried out are– Operation-operator binding– Variable-storage unit binding– Transfer-interconnect/bus binding

• Binding has considerable influence on number of interconnects

• Scheduling also influences binding

Page 26: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 26

Control & Clock Synthesis

• Generate a state machine from the control flow of the algorithm

• Identify the control and status signals

• Synthesize the control part

• Analyze the critical path to decide on the clock period

Page 27: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 27

Objectives in Behavioral Synthesis

• Minimize delay time or maximize performance

• Minimize cost or area

• Meet constraints on area and/or performance

Page 28: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 28

Recent Trends in Behavioral Synthesis

• Incorporate testability conditions in synthesis

• Incorporate power minimization as part of the design objective i.e. explore the design space from power considerations

Page 29: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 29

System Level Design & Modeling

M. Balakrishnan

Dept. of Comp. Sci. & Engg.

I.I.T. Delhi

Page 30: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 30

Issues in System Level Design

• Specification– At different levels of design

• Verification– Formal verification– Simulation

• Partitioning and estimation

• Synthesis

Page 31: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 31

Characteristics of Current Systems

• One (or more) processors– Heterogeneous processor set

• IP cores for critical parts of the application

• Mixed hardware/software implementation

• Many systems are real-time reactive systems

Page 32: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 32

System Level Design Methodology

Page 33: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 33

Specification

• Functionality

• Concurrency

• Time/performance constraints

• Interface timings

• Area and power constraints

Page 34: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 34

Estimation

• Hardware estimate– Area(cost), performance and power estimation

• Software estimate– Code size, performance and power estimation

• Interface estimate– Bus bandwidth and power estimation

Page 35: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 35

Partitioning

• Hardware-software partitioning

• Task partitioning across multiple processors

• Communication partitioning across multiple buses

Page 36: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 36

Synthesis

• Processor synthesis (ASIPs)– Application specific instruction processor

• Hardware synthesis– Behavioral as well as logic

• Software synthesis– Code generation and retargetable compilers

• Interface synthesis

Page 37: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 37

Formal Verification

• Formal verification of functional specification by proving that the implementation is equivalent to specifications.– Theorem proving techniques– Temporal logic systems

Page 38: Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.

Section 10: Advanced Topics 38

Simulation

Verification by simulation though expensive but is the only widely used technique.

• Cosimulation e.g. C and VHDL

• Test stimulus generation