34
Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design.

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Embed Size (px)

Citation preview

Page 1: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Topics

• High-level synthesis.• Architectures for low power.• GALS design.

Page 2: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

High-level synthesis

• Sequential operation is not the most abstract description of behavior.

• We can describe behavior without assigning operations to particular clock cycles.

• High-level synthesis (behavioral synthesis) transforms an unscheduled behavior into a register-transfer behavior.

Page 3: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Tasks in high-level synthesis

• Scheduling: determines clock cycle on which each operation will occur.

• Binding (allocation): chooses which function units will execute which operations.

Page 4: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Functional modeling code in VHDL

o1 <= i1 or i2;

if i3 = ‘0’ then

o1 <= ‘1;

o2 <= a + b;

else

o1 <= ‘0’;

end if;

clock cycle boundary canbe moved to design differentregister transfers

Page 5: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data dependencies

• Data dependencies describe relationships between operations:– x <= a + b; value of x depends on a, b

• High-level synthesis must preserve data dependencies.

Page 6: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data flow graph

• Data flow graph (DFG) models data dependencies.

• Does not require that operations be performed in a particular order.

• Models operations in a basic block of a functional model—no conditionals.

• Requires single-assignment form.

Page 7: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data flow graph construction

original code:

x <= a + b;

y <= a * c;

z <= x + d;

x <= y - d;

x <= x + c;

single-assignment form:

x1 <= a + b;

y <= a * c;

z <= x1 + d;

x2 <= y - d;

x3 <= x2 + c;

Page 8: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data flow graph construction, cont’d

Data flow forms directed acyclic graph (DAG):

Page 9: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Goals of scheduling and allocation

• Preserve behavior—at end of execution, should have received all outputs, be in proper state (ignoring exact times of events).

• Utilize hardware efficiently.• Obtain acceptable performance.

Page 10: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data flow to data path-controller

One feasible schedule for last DFG:

Page 11: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Binding values to registers

registers fall onclock cycleboundaries

Page 12: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Choosing function units

muxes allowfunction unitsto be sharedfor severaloperations

Page 13: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Building the sequencer

sequencer requires three states,even with no conditionals

Page 14: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Choices during high-level synthesis

• Scheduling determines number of clock cycles required; binding determines area, cycle time.

• Area tradeoffs must consider shared function units vs. multiplexers, control.

• Delay tradeoffs must consider cycle time vs. number of cycles.

Page 15: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Finding schedules

• Two simple schedules:– As-soon-as-possible (ASAP) schedule puts

every operation as early in time as possible.– As-late-as-possible (ALAP) schedule puts

every operation as late in schedule as possible.

• Many schedules exist between ALAP and ASAP extremes.

Page 16: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

ASAP and ALAP schedules

ASAP

ALAP

Page 17: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Critical path of schedule

Longest path through data flow determines minimum schedule length:

Page 18: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Operator chaining

• May execute several operations in sequence in one cycle—operator chaining.

• Delay through function units may not be additive, such as through several adders.

Page 19: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Control implementation

• Clock cycles are also known as control steps.

• Longer schedule means more states in controller.

• Cost of controller may be hard to judge from casual inspection of state transition graph.

Page 20: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Controllers and scheduling

functional model:

x <= a + b;

y <= c + d;one state

two states

Page 21: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Distributed control

one centralized controller

two distributed controllers

Page 22: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Synchronized communication between FSMs

To pass values between two machines, must schedule outputof one machine to coincide with input expected by the other:

Page 23: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Hardwired vs. microcoded control

• Hardwired control has a state register and “random logic.”

• A microcoded machine has a state register which points into a microcode memory.

• Styles are equivalent; choice depends on implementation considerations.

Page 24: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data path-controller delay

Watch out for long delay paths created by combination of data path and controller:

Page 25: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Architectures for low power

• Power controller examines system state, controls subsystems.

Page 26: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Power-down modes

• CMOS doesn’t consume power when not transitioning. Many systems can incorporate power-down modes:– condition the clock on power-down mode;– add state to control for power-down mode;– modify the control logic to ensure that power-

down/power-up don’t corrupt control state.

Page 27: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Gate power control

• Some gate types have low power modes.– Sleep transistor.

• Can also change substrate voltage in a region.

Page 28: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Data latching

• Store data in registers to avoid glitching in combinational logic.

• Use conditional clocks on existing latches to hold data when not in use.

• Avoid improper use of dynamic storage.

Page 29: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Clock gating

• Clock gating can cause clocked logic to freeze state.

• Must make sure that logic operates properly when frozen, when turned back on.

• Must carefully design clock network with gating to avoid skew, etc.

Page 30: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Architecture-driven voltage scaling

• Add extra logic to increase parallelism so that system can run at lower rate.

• Power improvement for n parallel units over Vref:– Pn(n) = [1 + Ci(n)/nCref + Cx(n)/Cref](V/Vref)

Page 31: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Architecture-driven voltage scaling

before

after

Page 32: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

Dynamic voltage and frequency scaling

• Technique for microprocessors:– Control power supply voltage and clock.– Clock frequency must be in legal range for

power supply voltage setting.

• Relies on dynamic workload---microprocessor may not need to run at full speed.

• DVFS controller sets power supply, clock.

Page 33: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

GALS design

• Globally asynchronous, locally synchronous design uses different clock domains for different parts of the chips.

• Styles:– Pausable clocks.– Asynchronous interfaces.– Loosely synchronous interfaces.

Page 34: Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design

Modern VLSI Design 4e: Chapter 8 Copyright 2008 Wayne Wolf

GALS structure