20
5/14/12 1 EEM 334 Digital Systems II Outline • Hierarchical Design • Components • Generics • Configuration • Asd • Adasd • Asdad • adasd

EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

1

EEM 334 Digital Systems II

Outline

•  Hierarchical Design •  Components •  Generics •  Configuration •  Asd •  Adasd •  Asdad •  adasd

Page 2: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

2

Hierarchical Design

Introduction

•  Hierarchical design: How to deal with 1M gates or more? – Divide a system recursively into small modules – Construct each module independently

Page 3: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

3

Complexity Management

•  Focus on entire system vs. each module – Analyze, design, and verify each module in

isolation •  Let a team on designers work on the system

in parallel – Hierarchy and modules need to be specified first

•  Large memory space and computation time for the synthesis software

Design Reuse

•  Use predesigned modules or third party cores – No need to construct every system from the

scratch •  Keep verified modules for the future designs •  Portability

– Device-dependent components should be isolated – They should be substituted wrt the target techology

Page 4: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

4

VHDL Constructs for Hierarchy

•  Component •  Generic •  Configuration •  Library •  Package •  Subprogram

Components

Page 5: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

5

Component - Declaration

•  component name: Any legal identifier •  generic: Optional •  port: Ports described in entity •  Let you use the predesigned modules/IP cores

in your designs

Component - Declaration

Page 6: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

6

Decade Counter

Component - Instantiation

•  instance_label: Any legal identifier •  component name: Any legal identifier •  generic map: Optional •  port map •  Instantiate inside the architecture body

Page 7: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

7

Hundred Counter

Generics

Page 8: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

8

Generic - Declaration

•  Let you pass information into – Entity – Component

•  generic_names: Any legal identifier

A Parametrized Design

•  generic (WIDTH: natural := 8); --Default value

Page 9: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

9

A Parametrized Design

Configuration

Page 10: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

10

Configuration

•  Configuration of VHDL is the process of binding a component with a design entity and architecture

•  The process includes two parts: – Bind a component with a design entity – Bind the design entity with an architecture body

•  IEEE RTL synthesis standard supports only – Bind the design entity with an architecture body

Default Binding

•  The component is bound to an entity with the identical name

•  Component ports are bound to entity ports of the same names

•  The most recently analyzed architecture body is bound to the entity declaration

Page 11: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

11

Configuration - Declaration

•  configuration – A design unit (like entity, architecture, etc.) to

specify the binding of a component – Analyzed and stored independently

•  conf_name: Any legal identifier •  entity_name: Entity related to the config •  architecture_name: Architecture related to

the config

Configuration - Declaration

•  instance_label: A specific component instance

•  component_name: A specific component •  use…: Clause which indicates the entity and

architecture to be bound to the instance •  lib_name: Name of the library in which the

entity and architecture reside

Page 12: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

12

Decade Counter - Up

Decade Counter - Down

Page 13: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

13

Configuration

Library

Page 14: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

14

Library

•  Library: A virtual repository that stores the analyzed design units.

•  VHDL does not define the physical location of a library

•  The current design units are stored in a working library named work

Library

•  To access the content of a library

Page 15: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

15

Library

•  To make visible a design unit of a library

Subprograms

Page 16: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

16

Subprograms

•  Functions and procedures •  They are not design units

– They cannot be processed (synthesized) independently

•  Their body includes sequential statements

Functions

Page 17: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

17

Function Examples

Function Examples

Page 18: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

18

Package

Package

•  Package: A way of organizing declarations – Group commonly used declarations

• Constants, data types, components, functions, etc.

– Store them in a package •  Package has two parts:

– Package declarations – Package body

Page 19: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

19

Package

Package Example

Page 20: EEM 334 Digital Systems II · 2012. 5. 14. · • Asd • Adasd • Asdad • adasd . 5/14/12 2 Hierarchical Design Introduction • Hierarchical design: How to deal with 1M gates

5/14/12

20

Synthesis Guides