advanced vlsi chap8-3

Upload: kirtesh-tiwari

Post on 03-Apr-2018

229 views

Category:

Documents


5 download

TRANSCRIPT

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    1/44

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    2/44

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

    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.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    3/44

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

    Register-transfer system example

    A register-transfer machine has combinational

    logic connecting registers:

    DQ combinational

    logic

    D QD Q combinational

    logic

    combinational

    logic

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    4/44

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

    Block diagrams

    Block diagrams specify structure: wire bundleof width 5

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    5/44

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

    Register-transfer simulation

    Simulates to clock-cycle accuracy. Doesnt

    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.)

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    6/44

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

    Simulation coding

    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 aprogramming language.

    Must be sure that register-transfer events

    happen in proper order.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    7/44

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

    Sample VHDL code

    sync: process begin

    wait until CLOCKevent and CLOCK=1;

    state

    out1

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    8/44

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

    Sample C simulator

    while (TRUE) {

    switch (state) {

    case S0:

    x = a + b;

    state = S1;

    next;

    case S1:

    ...}

    }

    loop executed once

    per clock cycle

    each case corresponds

    to a state; sets outputs,

    next state

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    9/44

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

    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, setscontrol signals for data path.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    10/44

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

    Data and control are equivalent

    We can rewrite control into data and visa

    versa:

    control: if i1 = 0 then o1

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    11/44

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

    Data operators

    Arithmetic operations are easy to spot in

    hardware description languages:

    x

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    12/44

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

    Conditionals and multiplexers

    if x = 0 then

    reg1

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    13/44

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

    Alternate data path-controller

    systems

    controller

    data path

    one controller,

    one data path

    controller

    data path

    controller

    data path

    two communicating

    data path-controller

    systems

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    14/44

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

    ASM charts

    An ASM chart is a register-transfer

    description.

    ASM charts let us describe functionwithout choosing a partitioning between

    control and data.

    Once we have specified the function, wecan refine it into a block diagram which

    partitions data and control.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    15/44

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

    Sample ASM chart

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    16/44

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

    ASM state

    An ASM state specifies a machine state

    and a set of actions in that state. All actions

    occur in parallel.

    s1 x = a + b

    y = c - d + e

    o1 = 1

    name of state (notation only)

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    17/44

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

    Actions in state

    Actions in a state are unconditionally

    executed.

    A state can execute as many actions as youwant, but you must eventually supply

    hardware for all those actions.

    A register may be assigned to only once ina state (single-assignment rule).

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    18/44

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

    Implementing operations in an

    ASM state

    state with one addition

    two additions requires two adders

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    19/44

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

    Sequences of states

    States are linked by transitions.

    States are executed sequentially. Each state

    may take independent actions (includingassigning to a variable assigned to in a

    previous state).

    s1x = a + b

    s2x = c + d

    y = a + d

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    20/44

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

    Data paths from states

    Maximum amount of hardware in data path

    is determined by state which executes the

    most functionality. Function units implementing data

    operations may be reused across states, but

    multiplexers will be required to routevalues to the shared function units.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    21/44

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

    Function unit sharing example

    mux allows +

    to compute

    a+b, a+c

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    22/44

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

    Conditionals

    Conditional chooses which state to execute

    next based on primary input or present

    state value. Can be drawn in either of two ways:

    a = bx

    00 01 10 11T

    F

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    23/44

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

    Execution of conditionals

    An ASM chart describes a Moore

    sequential machine. If the logic associated

    with an ASM chart fragment doesntcorrespond to a legal sequential machine,

    then it isnt a legal ASM chart.

    Conditional can evaluate only present stateor primary input value on present cycle.

    I l i ASM b h i

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    24/44

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

    Implementing an ASM branch in

    a Moore machine

    ASM chart

    state transition

    graph of

    controller

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    25/44

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

    Mealy machines and ASM

    Mealy machine requires a conditional

    output.

    ASM notation for conditional output:

    i10

    y = c + d

    E t ti d t th d

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    26/44

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

    Extracting data path and

    controller

    ASM chart notation helps identify data,

    control.

    Once you choose what values andoperations go into the data path, you can

    determine by elimination what goes into

    the controller. Structure of the ASM chart gives structure

    of controller state transition graph.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    27/44

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

    Data path-controller extraction

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    28/44

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

    Pipelines

    Provide higher utilization of logic:

    Combinational logic

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    29/44

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

    Pipeline metrics

    Throughput: rate at

    which new values

    enter the system. Initiation interval: time

    between successive

    inputs.

    Latency: delay frominput to output.

    Delay through logic

    is D, n blocks.

    L = D. T = n/D.

    P = D/n.

    Cl k i d d th h t

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    30/44

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

    Clock period and throughput vs.

    pipeline depth

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    31/44

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

    Simple pipelines

    Pure pipelines have no control.

    Choose latency, throughput.

    Choose register locations with retiming.

    Overhead:

    Setup, hold times.

    Power.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    32/44

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    33/44

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

    Bad cutset for pipelining

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    34/44

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

    Utilization

    Must fill, drain pipe at start and end of

    computation.

    Given D cycles of data, n-stage pipe:U = D/(D+n)

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    35/44

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

    Complex pipelines

    Actions in pipeline depend on data or

    external events.

    Data dependencies may be forward orbackward.

    Actions on pipe:

    Stall values.

    Abort operation.

    Bypass values.

    Pipeline with feedforward

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    36/44

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

    Pipeline with feedforward

    constraint

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    37/44

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

    Pipeline with feedback constraint

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    38/44

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

    Pipeline with shared hardware

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    39/44

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

    Pipeline control

    Controllers are

    necessary when pipe

    stages takeconditions.

    Unconditional pipe

    stage controller has

    one state, onetransition.

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    40/44

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

    Pipeline with distributed control

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    41/44

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

    Pipeline controller with condition

    Distributed control for pipeline

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    42/44

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

    Distributed control for pipeline

    flush

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    43/44

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

    Control for hardware sharing

    Product machine for distributed

  • 7/28/2019 ADVANCED VLSI CHAP8-3

    44/44

    Product machine for distributed

    control

    Distributed control is

    hard to verify

    because state is notcentralized.

    Product machine

    form identifies global

    control actions. Can verify using

    symbolic simulation,

    model checking.