Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10...

95
Lecture 10 - 1 Introduction to Digital Integrated Circuit Design Design Methodologies and Tools Lecture 10 Design Methodologies and Tools Konstantinos Masselos Department of Electrical & Electronic Engineering Imperial College London URL: http://cas.ee.ic.ac.uk/~kostas E-mail: [email protected]

Transcript of Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10...

Page 1: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 1Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Lecture 10

Design Methodologies and Tools

Konstantinos MasselosDepartment of Electrical & Electronic Engineering

Imperial College London

URL: http://cas.ee.ic.ac.uk/~kostasE-mail: [email protected]

Page 2: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 2Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Based on slides/material by…

J. Rabaey http://bwrc.eecs.berkeley.edu/Classes/IcBook/instructors.html“Digital Integrated Circuits: A Design Perspective”, Prentice Hall

W. Wolf http://www.princeton.edu/~wolf/modern-vlsi/Overheads.html“Modern VLSI Design: System-on-Chip Design”, Prentice Hall

Page 3: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 3Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Recommended Reading

J. Rabaey et. al. “Digital Integrated Circuits: A Design Perspective”: Design Methodology Insert C, F, G

W. Wolf, “Modern VLSI Design: System-on-Chip Design”: Chapters 7, 8, 10

Page 4: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 4Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 5: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 5Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Digital IC Implementation Approaches

Digital Circuit Implementation Approaches

Custom Semi-custom

Cell-Based Array-Based

Standard Cells Macro Cells Pre-diffused Pre-wired(FPGA)Compiled Cells (Gate Arrays)

Page 6: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 6Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Design Methodology

Design process traverses iteratively between three abstractions: behavior, structure, and geometryMore and more automation for each of these steps

Page 7: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 7Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

The Design Problem

Source: sematech97

A growing gap between design complexity and design productivity

Page 8: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 8Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 9: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 9Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Design Methodologies

Every company has its own design methodology.Methodology depends on:• type of chip• size of chip• design time constraints• cost/performance• available tools

Page 10: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 10Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Generic Design Flow

architecturaldesign

floorplan

register-transferdesign

logicdesign

circuitdesignlayout

functional/performanceverification

testability

detailedspecs

tapeout

Page 11: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 11Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

IBM ASIC design flow

Design entry: Usually VHDL or Verilog. Schematic is also supported.Logic synthesis with IBM tools targeting IBM cell librarySimulation: either at the functional or gate level . Gate level netlists can be back annotated with timing information for delay simulationFloorplanning: used to estimate wiring capacitance, area and wiring congestionTest structure verification ensures that the design satisfies a set of IBM-defined rules that ensure the design – including RAM – is in copmliancewith the requirements for LSSD (level sensitive scan design) Static timing analysis analyzes the worst clock speed for the implementationFormal verification: the design is checked for equivalence with a booleanspecification using efficient algorithms for solving the booleanequivalence problemCMOS checks: Checks fan out, I/O boundary scan and other low level issues

Page 12: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 12Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

IBM ASIC design flow

Design hand off: when the design is ready for physical design, a netlist, timing assertion data, pad placement, and floorplanning information are given to the IBM design center

At this point physical design is handled by the manufacturing center:Front end processing. Clock trees and test logic are generated at this step and static timing analysis is used to check performancePrelayout sign off: ensures that no errors have been introduced by front end processingLayout is performed by automatic tools guided by professional designers. Layout can be performed either on a flat or hierarchical designPost layout sign off: verifying the logic and timing at this step ensures that no errors were introduced during layoutTape out to manufacturing. ATPG is used to generate test vectors and the mask data is generated and sent to the manufacturing line

Page 13: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 13Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

CAD Systems

Tools aren’t very useful if they don’t talk to each other.Design interchange languages:• VHDL (TM), Verilog (TM) (function and structure);• EDIF (netlists);• GDS, CIF (masks).

Page 14: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 14Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

CAD Tool Interactions

database

tool 1 tool 2

tool 3 tool 4

database (hub-and-spoke) translator

tool 1 tool 2

tool 3 tool 4

xlate a

xlate cxlate b

xlate e

xlate d

Page 15: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 15Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 16: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 16Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Design Analysis and Verification

Accounts for largest fraction of design timeMore efficient when done at higher levels of abstraction - selection of correct analysis level can account for multiple orders of magnitude in verification timeTwo major approaches:• Simulation• Verification

Page 17: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 17Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Digital Data treated as Analog Signal

V out

(V)

5.0

3.0

1.0

–1.0

t (nsec)21.510.50

Vin Vout

tpHL

Gn,p

In Out

VDD

Bp

Bn

Dn,p

Sn

Sp

Circuit SimulationBoth Time and Data treated as Analog QuantitiesAlso complicated by presence of non-linear elements(relaxed in timing simulation)

Page 18: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 18Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Representing Data as Discrete Entity

V

t

VM

t1 t2

0 1 0 VDD

Rn

Rp

CL

Discretizing the data usingswitching threshold

The linear switch modelof the inverter

Page 19: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 19Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Circuit versus Switch-Level Simulation

0 5 10 15 20time (nsec)

–1.0

1.0

3.0

5.0

CIN

OUT[3]

OUT[2]

Circ

uit

Sw

itch

Page 20: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 20Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Delay Models

Unit-delay simulators assume that each component has a one-unit delay. Model function but not performance.Variable-delay simulators allow each component to have its own delay. Accuracy of performance estimates from variable-delay simulators depends on how well circuits can be extracted to digital model.

Page 21: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 21Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Structural Description of Accumulator

entity accumulator isport ( -- definition of input and output terminals

DI: in bit_vector(15 downto 0) -- a vector of 16 bit wideDO: inout bit_vector(15 downto 0);CLK: in bit

);end accumulator;

architecture structure of accumulator iscomponent reg -- definition of register ports

port (DI : in bit_vector(15 downto 0);DO : out bit_vector(15 downto 0);CLK : in bit

);end component;component add -- definition of adder ports

port (IN0 : in bit_vector(15 downto 0);IN1 : in bit_vector(15 downto 0);OUT0 : out bit_vector(15 downto 0)

);end component;

-- definition of accumulator structuresignal X : bit_vector(15 downto 0);begin

add1 : addport map (DI, DO, X); -- defines port connectivity

reg1 : regport map (X, DO, CLK);

end structure;

Design defined as composition ofregister and full-adder cells (“netlist”)

Data represented as {0,1,Z}

Time discretized and progresses withunit steps

Description language: VHDLOther options: schematics, Verilog

Page 22: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 22Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Behavioral Description of Accumulator

entity accumulator isport (

DI : in integer;DO : inout integer := 0;CLK : in bit

);end accumulator;

architecture behavior of accumulator isbegin

process(CLK)variable X : integer := 0; -- intermediate variablebegin

if CLK = '1' thenX <= DO + D1;DO <= X;

end if;end process;

end behavior;

Design described as set of input-outputrelations, regardless of chosen implementation

Data described at higher abstractionlevel (“integer”)

Page 23: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 23Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Behavioral simulation of accumulator

Integer data

Discrete time

(Synopsys Waves display tool)

Page 24: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 24Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Timing Verification

(Synopsys-Epic Pathmill)

Critical path

Enumerates and rankorders critical timing paths

No simulation needed!

Page 25: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 25Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Issues in Timing Verification

bypass

4-bit adder

MU

X

Out

In

False Timing Paths

Page 26: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 26Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Timing Analysis

Unlike simulation, timing analysis is value-independent—doesn’t require specifying inputs.Simulation can be optimistic—you may not apply worst-case input vector.Timing analysis can be pessimistic, but that is safer than optimistic.

Timing analysis procedure• Two major steps:

build graph with elemental delaystraverse graph to find longest path

• Must model 0-1 and 1-0 delays independently for more accurate total delay.• Use value analysis to prune impossible paths.

Page 27: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 27Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 28: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 28Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Automatic Cell Generation

Random-logic layoutgenerated by CLEOcell compiler (Digital)

Page 29: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 29Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Macrocell Design Methodology

Macrocell

Interconnect Bus

Routing Channel

Floorplan:Defines overalltopology of design,relative placement ofmodules, and global routes of busses,supplies, and clocks

Page 30: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 30Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Module Generators — Compiled Datapath

adde

r

buff

er

reg0

reg1

mux

bus0

bus2

bus1

bit-slicerouting area feed-through

Advantages: One-dimensional placement/routing problem

Page 31: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 31Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Taxonomy of Synthesis Tasks

Architectural Level Logic Level Circuit LevelB

ehav

iora

l V

iew

Str

uctu

ral V

iew

ArchitectureSynthesis

LogicSynthesis

CircuitSynthesis

0

13

2

state(i: 1..16) ::sum = sum*z–1 +coeff[i]*In*z–1

ab

c x

a

bc1

2

2

4

tp

ab

cx

D

mem

*fsm

Page 32: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 32Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 33: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 33Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Register-Transfer Design

A register-transfer system is a sequential machine.Register-transfer design is structural—complex combinations of state machines may not be easily described solely by a large state transition graph.Register-transfer design concentrates on functionality, not details of logic design.A register-transfer machine has combinational logic connecting registers:

DQ combinationallogic

D QD Q combinationallogic

combinationallogic

Page 34: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 34Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Register-Transfer Simulation

Simulates to clock-cycle accuracy. Doesn’t guarantee timing.Important to get proper function of machine before jumping into detailed logic design. (But be sure to take into account critical delays when choosing register-transfer organization.)

Hardware description languages are typically supported by a simulation system: VHDL, Verilog, etc.• Simulation engine takes care of scheduling events during simulation.

Can hand-code a simulation in a programming language.• Must be sure that register-transfer events happen in proper order.

Page 35: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 35Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Data Path-Controller Systems

One good way to structure a system is as a data path and a controller:• data path executes regular operations (arithmetic, etc.), holds registers with

data-oriented state• controller evaluates irregular functions, sets control signals for data path

Data and control are equivalentWe can rewrite control into data and visa versa:• control: if i1 = ‘0’ then o1 <= a; else o1 <= b; end if;• data: o1 <= ((i1 = ‘0’) and a) or ((i1 = ‘1’) and b);

Data/control distinction is useful but not fundamental

Page 36: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 36Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Data Operators

Arithmetic operations are easy to spot in hardware description languages:• x <= a + b;

Multiplexers are implied by conditionals. Must evaluate entire program to determine which sources of data for registers.Multiplexers also come from sharing adders, etc.

Page 37: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 37Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Conditionals and Multiplexers

if x = ‘0’ thenreg1 <= a;

elsereg1 <= b;

end if;

code

register-transfer

Page 38: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 38Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Alternate Data Path - Controller Systems

controller

data path

one controller,one data path

controller

data path

controller

data path

two communicatingdata path-controller

systems

Page 39: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 39Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 40: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 40Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Hardware Description Languages

Textual languages for describing hardware:• structure• function

Two major HDLs designed for simulation:• VHDL• Verilog• Similar capabilities but somewhat different language philosophies.

EDIF is a standard netlist format

Page 41: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 41Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Simulation vs. Programming

Simulation tags computations with times.• Must know when signals change to properly simulate hardware.

Simulation is parallel.• Many statements can execute at the same (simulation) time.• Just like hardware.

Page 42: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 42Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Types of Simulation

Compiled code simulation.• Generate program that evaluates a hardware block.• Operational details within the hardware block are lost.

Event-driven simulation.• An event is a change in a net’s value.• An event has two components:

valuetime

• Propagate events through simulation.• Don’t simulate a block until its inputs change.

Page 43: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 43Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Timewheel

The timewheel is a data structure in the simulator that efficiently determines the order of events processed.Events are placed on the timewheel in time order.Events are taken out of the head of the timewheel to process them in order.Order of evaluation is important.• Causality must be obeyed.

Evaluating events in the wrong order can cause inaccurate results.

Page 44: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 44Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Modeling

Structural modeling describes the connections between components.• Netlists are structural models.

Behavioral models describes the functional relationship between inputs and outputs.• Similar to programming but values are events.

Page 45: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 45Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Testbenches

A testbench is a model used to exercise a simulation.• Provides stimulus.• Checks outputs.

Testbenches help automate design verification.• Rerun edited module against testbench.• Run models at behavioral, RTL levels against the same testbench.

Page 46: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 46Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Synthesis Subsets

VHDL and Verilog were designed for simulation.A synthesis subset is:• Synthesizable.• produces consistent simulation results.

Different tools may use different synthesis subsets.

Page 47: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 47Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Register-Transfer Synthesis

Most common type of synthesis.Synthesizes gates from abstract RT model.• Registers are explicit.• Some tools will infer storage elements---be careful.

Optimized for performance, area, power.

Page 48: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 48Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 49: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 49Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Floorplanning Strategies

Floorplanning must take into account blocks of varying function, size, shape.Must design:• space allocation• signal routing• power supply routing• clock distribution

Page 50: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 50Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Purposes of Floorplanning

Early in design:• Prepare a floorplan to budget area, wire area/delay. Tradeoffs between

blocks can be negotiated.Late in design:• Make sure the pieces fit together as planned.• Implement the global layout.

Page 51: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 51Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Block Placement

Blocks have:• area• aspect ratio

Blocks may be placed at different rotations and reflections.Uniform size blocks are easier to interchange.

Page 52: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 52Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Blocks and Wiring

Cannot ignore wiring during block placement—large wiring areas may force rearrangement of blocks.Wiring plan must consider area and delay of critical signals.Blocks divide wiring area into routing channels.

Page 53: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 53Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Channels and Switchboxes

channel switchbox

channel

switchboxpins

Page 54: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 54Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Channel Definition

Channels end at block boundaries.Several alternate channel definitions are possible:

A

B C

channel 1

ch 2

ch 1 ch 2ch 3

Page 55: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 55Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Global Routing

Goal: assign wires to paths through channels.Don’t worry about exact routing of wires within channel.Can estimate channel height from global routing using congestion.

Page 56: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 56Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Channel Utilization

Want to keep all channels about equally full to minimize wasted area.Important to route time-critical signals first.Shortest path may not be best for global wiring.In general, may need to rip-up wires and reroute to improve the global routing.

Page 57: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 57Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Switchbox Routing

Can’t expand a switchbox to make room for more wiring.Switchbox may be defined by intersection of channels.Switchboxes frequently need more experimentation with wiring order because nets may block other nets

B

A B

A

B blocks A

Page 58: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 58Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 59: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 59Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Transistor Sizing

Once transistor-level critical path has been identified, transistors can be sized to optimize delay.Transistor sizing is cast as optimization problem to meet performance goal while minimizing total active area.

Page 60: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 60Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Layout Synthesis

Two critical phases of layout design:• placement of components on the chip;• routing of wires between components.

Placement and routing interact, but separating layout design into phases helps us understand the problem and find good solutions.

Page 61: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 61Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Placement Metrics

Quality metrics for layout:• area• delay

Area and delay determined in part by wiring.How do we judge a placement without wiring? Estimate wire lengthwithout actually performing routing.

Page 62: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 62Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Wire Length as a Quality Metric

bad placement good placement

Page 63: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 63Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Placement Techniques

Can construct an initial solution, improve an existing solution.

Pairwise interchange placement • simple improvement metric:• Interchange a pair, keep the swap if it helps wire length.• Heuristic determines which two components to swap.

Placement by Partitioning• Works well for components of fairly uniform size.• Partition netlist to minimize total wire length using min-cut criterion.• Partitioning may be interpreted as 1-D or 2-D layout.

Page 64: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 64Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Min-Cut Bisecting Partitioning

partition 1 partition 2

AB

C D

3 nets

1 net

Page 65: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 65Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

More Partitioning Algorithms

Kernighan-Lin Algorithm• Compute min cut criterion:

count total net cut change• Algorithm exchanges sets of nodes to perform hill-climbing—finding

improvements where no single swap will improve the cut• Recursively subdivide to determine placement detail

Simulated Annealing• Powerful but CPU-intensive optimization technique.• Analogy to annealing of metals:

temperature determines probability of a component jumping position;probabilistically accept moves.start at high temperature, cool to lower temperature to try to reach good placement.

Page 66: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 66Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Routing

Major phases in routing:• global routing assigns nets to routing areas.• detailed routing designs the routing areas.

Net ordering is a major problem. Order in which nets are routed determines quality for result. Net ordering is a heuristic.

Page 67: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 67Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Maze Routing

Will find shortest path for a single wire, if such a path exists.Two phases:• Label nodes with distance, radiating from source.• Use distances to trace from sink to source, choosing a path that always

decreases distance to source.

Page 68: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 68Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Detailed Routing

Dogleg router breaks net into multiple segments as needed.Try to minimize number of dogleg segments per net to minimize congestion for future nets.One good heuristic—use left-edge criterion on each dogleg segment to fill up the channel.

Page 69: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 69Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

More Routing Algorithms

Rivest-Fiduccia Channel Router• Routes from left to right. Assigns all nets that cross the current column to

tracks.• Heuristics:

Make connections to pins.Add jogs to put multi-track net into one track.Add jogs to reduce distance in multi-track nets.Add jogs to move net toward next pin.Add tracks when necessary.

YACR2• Tries to minimize number of vias as well as number of tracks.• Temporarily satisfies vertical constraints by adding blank space between

pins.• Eliminates blank space ater by adding jobs.• May route in both directions on same layer.

Page 70: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 70Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Layout Analysis

Test design rules using Boolean combinations of masks, grow/shrink.

not (M1 or M2)

M1

M2

Page 71: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 71Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Scan Line Algorithm

Mark each edge of polygon with direction.Sweep scan line across layout.At each point on scan line, count number of left-hand and right-hand edges to determine what rectangle that point is in.

Page 72: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 72Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Back Annotation

Often want to iteratively improve design.Back annotation updates a more-abstract design with information from later design stages.• Example: annotate logic schematic with extracted parasitic Rs and Cs.

Back annotation requires tools to know more about each other.

Page 73: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 73Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 74: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 74Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Logic Synthesis

Goal: create a logic gate network which performs a given set of functions.Input is Boolean formulas; gates also implement Boolean functions.Logic synthesis:• maps onto available gates• restructures for delay, area, testability, power, etc.

Logic Synthesis Phases• Technology-independent optimizations work on logic representations that do

not directly model logic gates.• Technology-dependent optimizations work in the available set of logic gates.• Transformation from technology-independent to technology-dependent is

called library binding.

Page 75: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 75Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Boolean Network

A Boolean network is the main representation of the logic functions for technology independent optimizations.Each node can be represented as sum-of-products (or product-of-sums).Provides multi-level structure, but functions in the network need not correspond to logic gates.

out1 = k2 + x2’ out2 = k3 + x1

k2 = x1’ x2 x4 + k1k3 = k1 x4’

k1 = x2 + x3

x1 x2 x3 x4

primary outputs

primary inputs

Page 76: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 76Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Terms

Support: set of variables used by a function.Transitive fanout: all the primary outputs and intermediate variables of a function.Transitive fanin: all the primary inputs and intermediate variables used by a function. Transistive fanin determines a cone of logic.

coneprimary inputs output

Page 77: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 77Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Technology-Independent Logic Optimization

Simplification rewrites node to simplify its form.Network restructuring introduces new nodes for common factors, collapses several nodes into one new node.Delay restructuring changes factorization to reduce path length.

Cost in boolean network: How to judge whether an operation has improved the network ?• Don’t know exact gate structure, but can estimate final network cost:

area estimated by number of literals (true or complement forms of variables)delay estimated by path length

Page 78: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 78Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Simplification

Rewrites a node to reduce the number of literals in the node.Function defined by:• on-set: set of inputs for which output is 1• off-set: set of inputs for which output is 0• don’t-care-set: set of inputs for which output is don’t-care.

Each way to write a function as a sum-of-products is a cover since it covers the on-set.A cover is composed of cubes—product terms which define a subspace cube in the function space.

Partially-Specified Functions• Don’t-cares can be implemented in either the on-set or off-set.• Don’t-cares provide the greatest opportunities for minimization in many

cases.

Page 79: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 79Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Espresso

Well-known two-level logic optimizer.Espresso optimization loop:• expand• make irredundant• reduce.

Optimization loop is designed to refine cover to reduce its size.

Page 80: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 80Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Don’t-Cares in Boolean Networks

In two-level function, don’t-cares are defined at primary output.In Boolean network, structure of network itself introduces don’t-cares.Types of structural don’t-cares:• Satisfiability: Occur when an intermediate variable value is inconsistent with

its function inputs. Since this can’t happen, we don’t care.• Observability: Occur when an intermediate variable’s value doesn’t affect the

network primary outputs.

Page 81: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 81Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Partial Collapsing

before after

Page 82: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 82Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Factorization

Based on division:• formulate candidate divisor• test how it divides into the function• if g = f/c, we can use c as an intermediate function for f

Algebraic division: don’t take into account Boolean simplification. Less expensive then Boolean division.

Three steps of factorization based on algebraic or Boolean division:• generate potential common factors and compute literal savings if used• choose factors to substitute into network• restructure the network to use the new factors

• Algebraic/Boolean divison can be used to implement first step.

Page 83: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 83Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Factorization for Delay

Remove factors from critical path, add them off critical path:

f1

f1

fa

fb

late late

Page 84: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 84Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Library Binding

Also known as technology mapping.Rewrites Boolean network in terms of available logic functions.Can optimize for both area and delay.Can be viewed as a pattern matching problem. Tries to find pattern match which minimizes area/delay cost.

Technology mapping procedure• Write Boolean network in canonical NAND form.• Write each library gate in canonical NAND form. Assign cost to each library

gate.• If network is a tree, can use dynamic programming to select minimum-cost

cover of network by library gates.

Page 85: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 85Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Breaking into Trees

Not optimal, but reasonable cuts usually work OK.

Page 86: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 86Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Technology Mapping Example

Try to cover tree from primary inputs to primary outputs.Proceed one gate at a time. At the next level, select minimum-cost cover at that point.Latest selection may require removing some earlier matches.

Page 87: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 87Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Sequential Machine Optimizations

State assignment: choose codes for states.Create common factors in states by assigning them close codes:• s0 = 000, s1 = 001 (x0 x1 x2);• s0 + s1 = x0 x1 .

Kiss: minimizes symbolic state machine to find states which should be coded close together.Coding procedure• Symbolic minimization creates constraints on coding—sets of states which

should be coded closely together.• If all constraints cannot be satisfied in minimum number of bits, can add bits

to code to allow constraints to be satisfied.

Page 88: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 88Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Outline

IntroductionDesign flows and CAD toolsDesign analysis and verificationDesign creationRegister Transfer designHardware Description LanguagesFloorplanningLayout designLogic synthesis and state machine optimizationHigh level synthesis and hardware/software codesign

Page 89: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 89Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

High Level Synthesis - Scheduling and Binding

High-level synthesis systems translate behavioral descriptions into register-transfer implementations by scheduling and binding.Most high-level synthesis systems concentrate on data paths.

Page 90: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 90Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Force-Directed Scheduling

Compute schedulable range of each operator by computing ASAP, ALAP schedules.Distribution cost = cost of operator × probability it will be scheduled in that step.Force = difference between distribution at a control step and averagedistribution.

Page 91: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 91Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Scheduling Extensions

Chaining: executing several operators in one cycle to balance path lengths.Multicycling: executing a pipelined operator over several cycles.

Page 92: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 92Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Binding

Many resources must be bound: operators, variables, etc.Many binding problems can be formulated as clique partitioning.Good heuristic algorithms exist to solve clique partitioning problems.

Page 93: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 93Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Clique Partitioning

Node in graph is an element to be allocated.Edge is added to graph between two nodes if those elements can be allocated to the same element.Clique: fully-connected set of nodes.Example: two + scheduled to different control steps can share a single adder since they do not execute at the same time.

A

C

E

B

D

F

Page 94: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 94Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Hardware/Software Co-Design

Use programmable CPUs along with specialized logic blocks to implement a particular application.CPUs can implement background functions much more efficiently than dedicated logic: higher utilization of logic.Important in systems-on-silicon.

Page 95: Lecture 10 Design Methodologies and Toolscas.ee.ic.ac.uk/people/kostas/web page material/Lecture 10 - Design... · Lecture 10 Design Methodologies and Tools ... Digital IC Implementation

Lecture 10 - 95Introduction to Digital Integrated Circuit DesignDesign Methodologies and Tools

Co-Synthesis Styles

Hardware/software partitioning:• Architectural template consists of 1 CPU + n ASICs.• Put operations on CPU or ASIC.

Distributed system synthesis:• No fixed architectural template.• Allocate function units and communication, schedule operations.