21
Síntese RTL 1 FEUP/DEEC February 2015 RTL Synthesis João Canas Ferreira

João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 1

FEUP/DEECFebruary 2015

RTL Synthesis

João Canas Ferreira

Page 2: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 2

Contents

Includes figures from:Douglas J. Smith, HDL Chip Design

Synopsys, Design Compiler User Guide

General overview of the synthesis process Cadence RTL Compiler

Page 3: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 3

Top-down refinement

Progressive refinement of the descriptionsLower levels are increasingly more detailed

Page 4: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 4

RTL descriptions

Register transfer level Description involves registers and combinational circuits Synchronous systems (one or more clock signals)

It is important to describe the implementation explicitly in these terms

R RCombinational

clk

Page 5: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 5

Main steps

[Translation] HDL → internal representation of data and control flow

[Generic optimizations] Function inlining Constant propagation Loop unrolling

[Logic optimization] Logic synthesis Optimization of combinational circuits Retiming

Page 6: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 6

RTL synthesis

Page 7: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 7

Simplified model of design flow process

Page 8: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 9

Logic optimizations

Page 9: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 10

Technology mapping (1)

Page 10: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 11

Technology mapping (2)

Page 11: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 12

Electrical environment (1)

Page 12: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 13

Electrical environment (2)

Page 13: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 14

Conteúdo

Includes figures from :Douglas J. Smith, HDL Chip Design

Synopsys, Design Compiler User Guide

General overview of the synthesis process Cadence RTL Compiler

Page 14: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 15

Work flow

Page 15: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 16

Elaboration

This step includes:

Setup of internal data structures

Register inferencing

High level optimizations

dead code removal

Semantic verifications

Page 16: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 17

Naming

Page 17: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 18

Information hierarchy

Page 18: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 19

Constraints (1)

set output_load [get_attribute capacitance [find /libraries/gscl45nm/ -libpin INVX4/A] ]

set_attribute external_pin_cap ${output_load} /designs/${DESIGN}/ports_out/*

(Synopys Design Compiler)

Page 19: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 20

Signal delays

Page 20: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 21

Constraints (2)

set clock [define_clock -period 2000 -name clk [clock_ports]] #definition of clock signal

external_delay -input 0 -clock clk [find / -port ports_in/*] # input delaysexternal_delay -output 0 -clock clk [find / -port ports_out/*]

set_attribute slew_rise 400 [find / -clock clk] # assumed by cell libraryset_attribute slew_fall 400 [find / -clock clk]

set_attribute external_driver [find [find / -libcell INVX4] -libpin Y] \/designs/mips/ports_in/* # input pins

set_attribute external_driver "" [find / -port clk] # ideal clock

(Synopys Design Compiler)

Page 21: João Canas Ferreirajcf/ensino/disciplinas/mieec/pcvlsi/2017-18/... · VLSI Síntese RTL 2 Contents Includes figures from: Douglas J. Smith, HDL Chip Design Synopsys, Design Compiler

VLSI Síntese RTL 23

Interaction with physical synthesis

One of the possible work flows