processor designjarnau.site.ac.upc.edu/pd/02_hardware_design_cycle.pdf · 2019-09-20 · 4 / 77...

77
1 / 77 Processor Design José María Arnau

Upload: others

Post on 11-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

1 / 77

Processor Design

José María Arnau

Page 2: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

2 / 77

Technology Scaling

● Technology shrinks 0.7x per generation– 2x more functions per chip on each new

generation

● However, engineering population does not double every two years

● We need better and more efficient design techniques– Take advantage of abstraction levels

Page 3: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

3 / 77

Design Abstraction Levels

n+n+S

GD

+

DEVICE

CIRCUIT

GATE

MODULE

SYSTEM

Page 4: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

4 / 77

VLSI Design Tools

● VLSI system design is a complex process– Requires automatization of the synthesis cycle

● EDA tools:– Synthesis

● Convert HDL to phyisical representation

– Analysis and Verification● Guarantee correctness of the design

– Testing● Check errors in the fabrication process

Page 5: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

5 / 77

VLSI Design Tools

● Synopsys– Design Compiler, IC Compiler, VCS…

● Cadence– Virtuoso, Incisive, SoC encounter…

● Mentor– Questa/ModelSim, Calibre, Nitro-SoC...

● Qflow (Free and Open Source)– Yosys, Graywolf, QRouter….

Page 6: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

6 / 77

Design Domains (Gajski i Kuhn)

Page 7: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

7 / 77

Abstraction Levels and Synthesis

Architectural level Logic level Circuit level

Beh

avio

ral l

evel

Str

uct

ura

l lev

el

For I=0 to I=15Sum = Sum + array[I]

0

0 0

0

State

Memory

+

Control

Clk

Architecturesynthesis

Logicsynthesis

Circuitsynthesis

Layout level

Layoutsynthesis

Silicon compilation (not a big success)

(Library)(register level)

Page 8: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

8 / 77

VLSI Design FlowSystem

Specification

Page 9: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

9 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Page 10: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

10 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Page 11: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

11 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design Verification

Page 12: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

12 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design Verification RTL Debug

Page 13: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

13 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design Verification RTL Debug

Circuit Design

Page 14: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

14 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Verification RTL Debug

Circuit Design

Page 15: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

15 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Verification RTL Debug

Test

Circuit Design

Page 16: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

16 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 17: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

17 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 18: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

18 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 19: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

19 / 77

System Specification

● Define overall goals and requirements– Functionality

– Performance/Power/Area

● Format– Textual description (English)

– Flowcharts

– State transition graphs

– Timing charts

– Executable specification (SystemC)

Page 20: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

20 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 21: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

21 / 77

Architectural Design● Determine the architecture to meet the

specifications– Microarchitecture details

● Branch predictor● Caches● Datapath and Control Unit

– Usage of hard IP blocks– Choice of process technology

● Simulators used to validate architecture

– Check functional correctness and perform DSE

Page 22: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

22 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 23: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

23 / 77

Functional and Logic Design

● System described using HDL– Programming language to describe hardware

– Behavioral description

– Register-Transfer Level (RTL) description

● Two most common HDLs– VHDL

– Verilog

Page 24: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

24 / 77

Why HDL?

● Allows write-run-debug cycle for hardware development– Similar to software development

● Higher productivity than using schematics– Easier to describe complex circuits with millions of

gates

● Input to synthesis EDA tools– Only the synthesizable subset

● Design space exploration with simulation

Page 25: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

25 / 77

● Why not use a general purpose language?– Support for structure and instantiation– Support for describing bit-level behavior– Support for timing– Support for concurrency

Why HDL?

Page 26: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

26 / 77

HDLs

● Verilog– Close to C

– More than 60% of the world digital design market (larger share in US)

– IEEE standard since 1995

– Extensive support for Verification (SystemVerilog)● VHDL

– Close to Ada

– Large standard developed by the US DoD

Page 27: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

27 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 28: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

28 / 77

Hardware Verification

● Verify the functional correctness of the design● Verification methodology

– Prepare verification plan from specification

– Prepare testbenches● Instantiate Design Under Test (DUT)● Provide stimuli to the DUT● Check DUT’s output

– Run testbenches using HDL simulator● Verilog: icarus verilog, verilator● VHDL: GHDL● VCS, ModelSim

Page 29: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

29 / 77

Testbench Architecture

DUTin0

in1out

Page 30: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

30 / 77

Testbench Architecture

DUTDriver

Driver

in0

in1out

Page 31: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

31 / 77

Testbench Architecture

DUTDriver

Driver

Monitor Monitor

in0

in1out

Page 32: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

32 / 77

Testbench Architecture

DUTDriver

Driver

Monitor Monitor

Monitorin0

in1out

Page 33: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

33 / 77

Testbench Architecture

DUTDriver

Driver

Monitor Monitor

ReferenceModel

Monitorin0

in1out

Page 34: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

34 / 77

Testbench Architecture

DUTDriver

Driver

Monitor Monitor

ReferenceModel

Scoreboard

Monitorin0

in1out

Page 35: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

35 / 77

Hardware Verification

● Directed tests– “Manually” prepare input stimuli (test vectors)

– Only find bugs you are looking for

● Constrained Random Verification– Randomize input stimuli with restrictions

– How do we know which functionality has been tested?

● Coverage– Code coverage

– Functional coverage

Page 36: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

36 / 77

Verification tools

● Universal Verification Methodology (UVM)– Class library written in SystemVerilog

– Very powerful, but very complex● Over 300 classes in UVM!

– Grad students unlikely to have prior experience with SystemVerilog

● Open Source VHDL Verification Methodology (OSVVM)– Library written in VHDL

– Similar to UVM

Page 37: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

37 / 77

SystemVerilog Complexity

http://www.fivecomputers.com/language-specification-length.html

Page 38: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

38 / 77

Cocotb

● Coroutine Cosimulation TestBench– Write testbenches in Python!

– VHDL and Verilog

– Interface to RTL simulators● Icarus, GHDL, ModelSim, VCS...

● Cocotb-coverage– Constrained Random Verification

– Functional Coverage

– Regression Tests

https://github.com/cocotb/cocotb

Page 39: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

39 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 40: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

40 / 77

Logic Synthesis

● Converts RTL description to gate-level netlist– Automatically performed by EDA tool

● Synopsys Design Compiler● Yosys

– Standard cell library● Collection of low-level electronic logic functions

– AND, OR, INVERT, flip-flops, latches…– Layout, schematic, timing, power...

● Process Development Kit (PDK)

Page 41: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

41 / 77

Standard Cell Design

● Design circuits using standard cells– Cells: gates, latches…

● Technology mapping selects cells● EDA tools

– Place and route the cells

– Wiring in channels

– Minimize area, delay

Page 42: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

42 / 77

Qflow - Yosys

● Framework for Verilog RTL synthesis● Implements multiple optimization passes● Input:

– Synthesizable Verilog code (Verilog-2005)

– Standard cell library

● Output:– Gate-level netlist: BLIF, Verilog

– Post-synthesis verification using same testbenches

Page 43: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

43 / 77

Example: 2-bit adder

● RTL code

Page 44: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

44 / 77

Example: 2-bit adder

● Yosys – Read and process Verilog

Page 45: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

45 / 77

Example: 2-bit adder

● Yosys – Map to internal technology library

Page 46: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

46 / 77

Example: 2-bit adder

● Yosys/ABC:

– Map to standard cell library

Page 47: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

47 / 77

Example: 2-bit adder

● Yosys – Gate-level netlist in Verilog

Page 48: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

48 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 49: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

49 / 77

Physical Design

● Produce a geometric chip layout from an abstract circuit design

● Inputs:

– Gate-level netlist

– Standard cell library

– Constraints

● Output:– Silicon layout (geometric description of the chip)

Page 50: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

50 / 77

Physical Design - Steps

● Partitioning● Chip planning● Placement● Global routing● Detailed routing

Page 51: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

51 / 77

Partitioning

● Breaks up a large circuit into smaller sub-circuits (blocks)– Number of blocks

– Interconnection between blocks

1

2

3

Page 52: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

52 / 77

Floorplanning

● Set up a plan for a good layout● Place the blocks at early stage when details

like shape, area, position of I/O pins… are not yet fixed

Deadspace

Page 53: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

53 / 77

Floorplanning

● Blocks are placed in order to minimize area and the connections between them

Page 54: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

54 / 77

Placement● Exact placement of the modules

– Modules can be gates, standard cells…

● Details of design are known– Goal is to minimize total area and interconnect cost

v

Feedthrough

Standard cell type 1

Standard cell type 2

Page 55: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

55 / 77

Placement● Blocks are placed so empty rectangular

spaces are left between them● These spaces will be later used to make the

interconnection

Page 56: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

56 / 77

Routing● Completes the interconnections between

modules● Considers delay of critical path, wire

spacing…● Global routing and detailed routing

Feedthrough

Standard cell type 1

Standard cell type 2

Page 57: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

57 / 77

Global Routing

● Each connection will go from each origin block, through the channels until the end block

Page 58: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

58 / 77

Global Routing

● The length of the connections will depend on the situation of the blocks rather than the way the routing is done

Page 59: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

59 / 77

Detailed Routing

● The space required for each channel will depend on the complexity and density of the connections

Page 60: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

60 / 77

Detailed Routing

● Non-aligned connections increment the complexity of the routing, increasing the amount of space required

Page 61: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

61 / 77

Detailed Routing

● The number of crossings determines the space required

Page 62: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

62 / 77

Detailed Routing

● Aligned connections reduce dramatically the area required of the channel from completing routing

Page 63: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

63 / 77

Clock Network Distribution

● Determines routing of the clock signal to meet the delay requirements

Page 64: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

64 / 77

Power Distribution● Interlaced distribution minimizes number of

metal levels● Thickness will vary according to power

consumption

Page 65: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

65 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 66: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

66 / 77

Testing● Check the correctness of the layout● Design rule checking (DRC)

– Verifies that layout meets all technology-imposed constraints

● Layout vs schematic (LVS)– Verifies the functionality of the design

– A netlist from the layout is derived and compared with original netlist

● Electrical rule checking (ERC)– Verifies the correctness of power and ground

connections, signal transition times...

Page 67: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

67 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 68: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

68 / 77

Fabrication

● The final layout (GDSII Stream format) is sent to a dedicated silicon foundry (fab)

● Tapeout– Final result of the design process for integrated

circuits before they are sent for manufacturing

Page 69: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

69 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

Page 70: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

70 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

PA-MIRI

Page 71: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

71 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

PA-MIRI

APA-MIRI

Page 72: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

72 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

PA-MIRI

APA-MIRI

PD-MIRI

Page 73: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

73 / 77

VLSI Design FlowSystem

Specification

ArchitecturalDesign

Functional andLogic Design

Physical Design

Fabrication

Verification RTL Debug

Test Silicon Debug

Circuit Design

PA-MIRI

APA-MIRI

PD-MIRI

PD-MIRI

Page 74: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

74 / 77

Cocotb - Verification Tool

Page 75: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

75 / 77

Cocotb - Verification Tool

Page 76: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

76 / 77

Qflow - Synthesis Tool

http://opencircuitdesign.com/qflow/

Page 77: Processor Designjarnau.site.ac.upc.edu/PD/02_Hardware_Design_Cycle.pdf · 2019-09-20 · 4 / 77 VLSI Design Tools VLSI system design is a complex process – Requires automatization

77 / 77

Bibliography

● Weste, N. H., & Harris, D. “CMOS VLSI Design : A Circuits and Systems Perspective”. 4th Edition, 2010.

● Kahng AB, Lienig J, Markov IL, Hu J. “VLSI Physical Design: from Graph Partitioning to Timing Closure”. Springer Science & Business Media; 2011 Jan 27.

● Mead, C., & Conway, L. (1980). Introduction to VLSI systems (Vol. 1080). Reading, MA: Addison-Wesley.