Tailieuxanh Chap13 1 8236 874

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 58

HIERARCHICAL DESIGN

RTL Hardware Design Chapter 13 1


by P. Chu
Outline
1. Introduction
2. Components
3. Generics
4. Configuration
5. Other supporting constructs

RTL Hardware Design Chapter 13 2


by P. Chu
1. Introduction
• How to deal with 1M gates or more?
• Hierarchical design
– Divided-and-conquer strategy
– Divide a system into smaller parts

RTL Hardware Design Chapter 13 3


by P. Chu
RTL Hardware Design Chapter 13 4
by P. Chu
Benefits of hierarchical design

• Complexity management
– Focus on a manageable portion of the
system, and analyze, design and verify each
module in isolation.
– Construct the system in stages by a designer
or concurrently by a team of designers.
– Help synthesis process

RTL Hardware Design Chapter 13 5


by P. Chu
• Design reuse
– Use predesigned modules or third-party cores
– Use the same module in different design
– Isolate device-dependent components (e.g.,
SRAM)

RTL Hardware Design Chapter 13 6


by P. Chu
Relevant VHDL constructs
• Component
• Generic
• Configuration
• Library
• Package
• Subprogram

RTL Hardware Design Chapter 13 7


by P. Chu
2. Components
• Hierarchical design usually shown as a
block diagram (structural description)
• VHDL component is the mechanism to
describe structural description in text
• To use a component
– Component declaration (make known)
– Component instantiation (create an instance)

RTL Hardware Design Chapter 13 8


by P. Chu
Component declaration
• In the declaration section of entity
• Info similar to entity declaration
• Syntax:

RTL Hardware Design Chapter 13 9


by P. Chu
• E.g., a decade (mod-10) counter

RTL Hardware Design Chapter 13 10


by P. Chu
RTL Hardware Design Chapter 13 11
by P. Chu
• Component declaration for dec_counter

RTL Hardware Design Chapter 13 12


by P. Chu
Component instantiation
• Instantiate an instance of a component
• Provide a generic value
• Map formal signals to actual signals

RTL Hardware Design Chapter 13 13


by P. Chu
• Syntax

• Port association (named association)

RTL Hardware Design Chapter 13 14


by P. Chu
• E.g., 2-digit decimal counter
(00=>01=> . . . =>99 =>00 . . .)

RTL Hardware Design Chapter 13 15


by P. Chu
RTL Hardware Design Chapter 13 16
by P. Chu
• The VHDL code is a textual description of
a schematic

RTL Hardware Design Chapter 13 17


by P. Chu
• Positional association
– Appeared to be less cumbersome
– E.g., order of port declaration in entity:

– Alternative component instantiation

– Trouble if the order later changes in entity


declaration
RTL Hardware Design Chapter 13 18
by P. Chu
• Mapping of constant and unused port
– E.g.,

RTL Hardware Design Chapter 13 19


by P. Chu
• Good synthesis software should
– remove the unneeded part
– perform optimization over the constant input

RTL Hardware Design Chapter 13 20


by P. Chu
3. Generics
• Mechanism to pass info into an
entity/component
• Declared in entity declaration and then can
be used as a constant in port declaration
and architecture body
• Assigned a value when the component is
instantiated.
• Like a parameter, but has to be constant
RTL Hardware Design Chapter 13 21
by P. Chu
• e.g., parameterized binary counter
– Note that the generic is declared before the
port and thus can be used in port declaration

RTL Hardware Design Chapter 13 22


by P. Chu
RTL Hardware Design Chapter 13 23
by P. Chu
• e.g., to use the parameterized counter

RTL Hardware Design Chapter 13 24


by P. Chu
RTL Hardware Design Chapter 13 25
by P. Chu
• e.g., parameterized mod-n counter
– Count from 0 to n-1 and wrap around
– Note that WIDTH depends on N

RTL Hardware Design Chapter 13 26


by P. Chu
RTL Hardware Design Chapter 13 27
by P. Chu
• E.g., the 2-digit decimal counter again

RTL Hardware Design Chapter 13 28


by P. Chu
RTL Hardware Design Chapter 13 29
by P. Chu
• Another useful application of generic:
passing delay information

RTL Hardware Design Chapter 13 30


by P. Chu
4. Configuration
• Bind a component with an entity and an
architecture
• Flexible and involved.
• Only simple binding of entity and
architecture is needed in synthesis
– Entity: like a socket in a printed circuit board
– Architecture: like an IC chip with same outline
• Not supported by all synthesis software
RTL Hardware Design Chapter 13 31
by P. Chu
• Application of binding:
– E.g., adder with different speed:
Fast but large adder or small but slow adder
– E.g., Test bench
descriptions at different stages

RTL Hardware Design Chapter 13 32


by P. Chu
RTL Hardware Design Chapter 13 33
by P. Chu
• Type of configuration:
– Configuration declaration (an independent
design unit)
– Configuration specification (in architecture
body)
• Default binding: (no configuration)
– Component bound to an entity with identical
name
– Component ports bound to entity ports of
same names
– Most recently analyzed architecture body
bound to the entity

RTL Hardware Design Chapter 13 34


by P. Chu
• Configuration declaration
– An independent design unit
– Simplified syntax

RTL Hardware Design Chapter 13 35


by P. Chu
• E.g., create two architecture bodies for the
decade counter (one up and one down)

RTL Hardware Design Chapter 13 36


by P. Chu
RTL Hardware Design Chapter 13 37
by P. Chu
RTL Hardware Design Chapter 13 38
by P. Chu
• Configuration specification
– Included in the declaration section of
architecture body
• Syntax:

RTL Hardware Design Chapter 13 39


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 40


by P. Chu
• Component instantiation and configuration
in VHDL 93
– Remove component and configuration
declaration
– Usually satisfactory for RT-level synthesis
– Syntax:

RTL Hardware Design Chapter 13 41


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 42


by P. Chu
5. Other constructs for developing
large system

• Library
• Subprogram
• Package

RTL Hardware Design Chapter 13 43


by P. Chu
Library
• A virtual repository to stored analyzed
design units
• Physical location determined by software
• Design units can be organized and stored
in different libraries

RTL Hardware Design Chapter 13 44


by P. Chu
• Default library: work
– E.g.,

• Non-default library has to be declared:


– syntax:

– E.g., library ieee;

RTL Hardware Design Chapter 13 45


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 46


by P. Chu
Subprogram
• Include function and procedure
• Made of sequential statement
• Is not a design unit; must be declared
• Aimed for software hierarchy not hardware
hierarchy
• We only use function
– Shorthand for complex expression
– “House-keeping tasks; e.g., type conversion
RTL Hardware Design Chapter 13 47
by P. Chu
• Syntax of function

RTL Hardware Design Chapter 13 48


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 49


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 50


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 51


by P. Chu
Package
• Organize and store declaration
information, such as data types, functions
etc.
• Divided into
– Package declaration
– Package body (implementation of
subprograms)
• Both are design units

RTL Hardware Design Chapter 13 52


by P. Chu
• Syntax

RTL Hardware Design Chapter 13 53


by P. Chu
• E.g.,

RTL Hardware Design Chapter 13 54


by P. Chu
RTL Hardware Design Chapter 13 55
by P. Chu
• Improved mod-n counter

RTL Hardware Design Chapter 13 56


by P. Chu
6. Partition
• Physical partition:
• Division of the physical implementation
• Each subsystem is synthesized independently
• Partition too small: loose optimization opportunity
• Partition too large: require too much resource
– e.g., O(n3) algorithm 1000 gates for 1 sec;
– 35 hours (503 sec) for one 50,000 gate circuit
– 21 min (10*53 sec) for 10 5,000 gate circuit
• 5000 to 50,000 gates for today’s synthesizer

RTL Hardware Design Chapter 13 57


by P. Chu
• Logical partition:
– Help development and verification process for
human designers
– Logical partitions can be merged later in synthesis
• Some circuit should be isolated as
independent modules
– Device-dependent circuit: e.g., memory modules
– “Non-Boolean” circuit: tri-state buffer, delay-
sensitive circuit, clock distribution network,
synchronization circuit.

RTL Hardware Design Chapter 13 58


by P. Chu

You might also like