SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

96
SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC Various ways to describe combinational logic with verilog HDL, but some are not supported by synthesis tool Continuous assignment statements are synthesizable. Expressions that assigns value to a netlist will be translated by synthesis tool, which can be optimized and synthesized in physical hardware

Transcript of SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Page 1: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SYNTHESIS OF COMBINATIONAL &

SEQUENTIAL LOGIC

Various ways to describe combinational logic with

verilog HDL, but some are not supported by

synthesis tool

Continuous assignment statements are

synthesizable.

Expressions that assigns value to a netlist will be

translated by synthesis tool, which can be

optimized and synthesized in physical hardware

Page 2: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Combinational Logic Synthesis

Synthesized by contineous

assignment

Page 3: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Circuit synthesized from a

MUX with Selector Logic

Page 4: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SYNTHESIS OF PRIORITY STRUCTURE

An if statement implies higher priopity to the

first branch than to the remaining branches

Page 5: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Circuit synthesized from a mux with

priority decode of input conditions

Page 6: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SYNTHESIS OF SEQUENTIAL LOGIC

WITH FLIPFLOPS

Page 7: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SYNTHESIS CKT OF 4 D FF, A 4 BIT

PARALLEL LOAD DATA REGISTER

Page 8: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Synthesis of

Counters

Page 9: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Structure of 4- bit ripple counter

Page 10: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SYNTHESIZED CKT OF 4-BIT RIPPLE

COUNTER

Page 11: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Synthesis of Shift Registers

Page 12: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

STRUCTURE OF SHIFT REGISTER WITH

REGISTERED COMBINATIONAL LOGIC

Page 13: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SHIFT REGISTER WITH UN-

REGISTERED COMBINATIONAL

LOGIC

Page 14: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

STRUCTURE OF SHIFT REGISTER WITH UN-

REGISTERED COMBINATIONAL LOGIC

Page 15: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

IMPLEMENTATION

TECHNOLOGY (PLD & FPGA)

Page 16: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 17: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 18: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SIMPLIFIED PLD SYMBOLOGY

O1 = A B + A B

O2 = A B

O3 = 0

O4 = 1

Page 19: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 20: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 21: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 22: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 23: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 24: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 25: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Implementation approaches

Custom

Standard Cells MacroCells

Cell-based

Pre-diffused(Gate Arrays)

Pre-wired(FPGA's)

Array-based

Semi-custom

Digital Circuit Implementation Approaches

Page 26: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Impact of Implementation ChoicesE

ne

rgy

Eff

icie

ncy

(in

MO

PS

/m

W)

Flexibility

(or application scope)

0.1-1

1-10

10-100

100-1000

None Fully

flexible

Somewhat

flexible

Ha

rdw

ire

d c

usto

m

Co

nfi

gu

rab

le/P

ara

me

teri

zab

le Do

ma

in-s

pe

cif

ic p

roce

sso

r

(e.g

. D

SP

)

Em

be

dd

ed

mic

rop

roce

sso

r

Page 27: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

The Full Custom Approach

Intel 4004

Page 28: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 29: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 30: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 31: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 32: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Standard Cell - Example

3-input NAND cell

(from ST Microelectronics):

C = Load capacitance

T = input rise/fall time

Page 33: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 34: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Pre-diffused(Gate Arrays)

Pre-wired(FPGA's)

Array-based

Page 35: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 36: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 37: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Gate Array — Sea-of-gates

rows of

cells

routing channel

uncommitted

VDD

GND

polysilicon

metal

possiblecontact

In1 In2 In3 In4

Out

Uncommitted

Cell

Committed

Cell

(4-input NOR)

Page 38: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Pre-wired arrays

Page 39: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 40: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 41: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 42: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Array-Based Programmable Logic

PLA PROM PAL

I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Programmable AND array

Programmable

OR array I 5 I 4

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Programmable AND array

Fixed OR array

Indicates programmable connection

Indicates fixed connection

O 0

I 3 I 2 I 1 I 0

O 1O 2O 3

Fixed AND array

ProgrammableOR array

Page 43: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Programming a PROM

f0

1 X 2 X 1 X 0

f1NANA

: programmed node

Page 44: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

More Complex PAL

i inputs, j minterms/macrocell, k macrocells

Page 45: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 46: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Altera MAX 7000 CPLD

Page 47: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 48: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Programmable logic Devices (PLD)

Page 49: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 50: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 51: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Xilinx XC9500 CPLD

Page 52: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Macrocell Architecture

Page 53: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Field Programmable Gate Arrays

Page 54: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 55: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Elements of an FPGA fabric

Logic.

Interconnect.

I/O pins.

LE LE LE

LE LE LE

LE LE LE

interconnect

IOB IOB IOB …

Page 56: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 57: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Terminology

Configuration: bits that determine logic function + interconnect.

CLB: combinational logic block = logic element (LE).

LUT: Lookup table = SRAM used for truth table.

I/O block (IOB): I/O pin + associated logic and electronics.

Page 58: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Logic element

Programmable Input connections.

Internal function.

Coarser-grained than logic gates. Typically 4 inputs.

Generally includes register.

May provide specialized logic. Adder carry chain.

Page 59: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Full FPGA ArchitectureConfigurable

logic block

Page 60: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Cell Based Design

Mutiplexers based logic cells

Look-up table based logic cells

Page 61: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Logic Cell of Actel Fuse-Based FPGA

A

B

SA Y

1

C

D

SB

1

S0S1

1

How to realise XOR gate

by using the logic cell?

A=1, B=0, C=0, D=1,

SA=SB=In1, S0=S1=In2;

Page 62: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Look-up Table Based Logic Cell

Out

ln1 ln2

Me

mo

ry

In Out

00 00

01 1

10 1

11 0

0

Any complex function can be realised by using either a bigger

size LUT or a number of LUTs

Page 63: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

LUT-Based Logic Cell

G 4

C 1....C 4

K

CLOCK

G 3

G 2

G 1

F4

F3

F2

F1

Logic

function

of

G1-G4

Logic

function

of

F,G, H1

Logic

function

of

F1-F4

Din

H1

4

FGH

DinFGH

GH

DIN/H2SR/H0 EC

HF

Bitscontrol

Bitscontrol

Multiplexer Controlledby Configuration Program

D

Y1

1

EC

QSD YQ

Bypass

x

XQ

Bypass

RD

D

EC

QSD

RD

Xilinx 4000 Series Configurable Logic Block

Page 64: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Configurable Logic Block

It combines two four-input LUTs feeding a three-input

LUT.

The cell has two FFs whose inputs can be any of the LUT

outputs or an external input.

X any Y outputs of LUTs are used to build complex

combinational functions.

C1-C4 can be used as inputs or SR or for clock enable

Page 65: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Evaluation of SRAM-based LUT

All logic functions take the same amount

of space.

All functions have the same delay.

SRAM is larger than static gate equivalent

of function.

Page 66: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

SRAM-based FPGA’s

Program logic functions, interconnect

using SRAM.

Advantages: Re-programmable;

dynamically reconfigurable;

uses standard processes.

Disadvantages: SRAM burns power.

Possible to steal, disrupt configuration bits.

Page 67: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

MOS switch controlled by configuration bit

D Q

Programmable interconnect

Page 68: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Programmable vs. fixed

interconnect

Switch adds delay.

Transistor off-state is worse in advanced

technologies.

FPGA interconnect has extra length =

added capacitance.

Page 69: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Interconnect strategies

Some wires will not be utilized.

Congestion will not be same throughout the chip.

Types of wires: Short wires: local LE connections.

Global wires: long-distance, buffered communication.

Special wires: clocks, etc.

Page 70: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Programmable Interconnection

Input/output pinProgrammed interconnection

Interconnect

Point

Horizontal

tracks

Vertical tracks

Cell

M

Page 71: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Mesh-based Interconnect Network

Switch Box

Connect Box

CLB CLB

CLB CLB CLB

CLBCLBCLB

Page 72: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Transistor Implementation of Mesh

Page 73: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

I/O Blocks

Fundamental selection: input, output,

three-state ?

Additional features: Register.

Voltage levels.

Slew rate.

Page 74: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Configuration

Must set control bits for: LE.

Interconnect.

I/O blocks.

Usually configured off-line. Separate burn-in step (antifuse).

At power-up (SRAM).

Page 75: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Programming technologies

SRAM (Xilinx and Altera) Can be programmed many times.

Must be programmed at power-up.

Antifuse (Actel) Programmed once.

Flash. Similar to SRAM but using flash memory.

Page 76: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Configuration ROM

Configured on start-up from ROM

FPGA

Configuration

memory

Configuration length depends on size of

the chip

200,000 to 1.3 million bits

Page 77: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Heterogeneous Programmable Platforms

Xilinx Vertex-II Pro

High-speed I/O

Embedded PowerPc

Embedded memories

Hardwired multipliers

FPGA Fabric

Page 78: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 79: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 80: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 81: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 82: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 83: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

10 million gate FPGA is available

Page 84: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 85: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 86: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Structured ASIC is a new Technology on the horizon

Page 87: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 88: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Design at a crossroad

System-on-a-Chip

RAM

500 k Gates FPGA

+ 1 Gbit DRAM

Preprocessing

Multi-

Spectral

Imager

mC

system

+2 Gbit

DRAMRecog-

nition

Anal

og

64 SIMD Processor

Array + SRAM

Image Conditioning

100 GOPS

Embedded applications

where cost, performance,

and energy are the real

issues!

DSP and control intensive

Mixed-mode

Combines programmable

and application-specific

modules

Software plays crucial role

Page 89: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Addressing the Design Complexity Issue

Architecture Reuse

Reuse comes in generations

Generation Reuse element Status

1st Standard cells Well established

2nd IP blocks Being introduced

3rd Architecture Emerging

4th IC Early research

Page 90: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

DESIGN WITH FPGAS

1. Design at the behavioral level using either Verilog or VHDL

2. Choose the appropriate FPGA vendor library at the time of

synthesis.

3. Implement the design into FPGA by using vendor specific tools

from the gate level netlist. (The gate level netlist is broken in

terms of CLBs and their interconnections- placement and

routing )

4. The implementation tool generates the configuration bitstream

which is used for actually configuring the FPGA as per the

design.

5. Carry out hardware debugging by monitoring the internal signals

in a FPGA.

6. Carry out PCB level testing for final verification.

Page 91: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC
Page 92: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

FPGA fabric architecture

questions

Given limited area budget: How many logic elements?

How much interconnect?

How many I/O blocks?

Page 93: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

FPGA architecture evaluation

methodology

FPGA

fabric

architecture

Logic

benchmarks

Place +

route

Area and

performance

evaluation

metrics

Page 94: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Evaluation metrics

Structural: Size of the logic element.

Size of interconnect.

Mapping-related: Logic utilization.

Interconnect utilization.

Delay.

Power consumption.

Page 95: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Logic element or CLB parameters

How many inputs? Too few inputs---more overhead per LE.

Too many inputs---wasted capacity when mapping logic to LEs.

Depends on circuit design of LE and

characteristics of logic.

Typical choice: 4-inputs.

Page 96: SYNTHESIS OF COMBINATIONAL & SEQUENTIAL LOGIC

Types of FPGAs

1. Fine grained

2. Coarse grained