19
Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

  • View
    219

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

• Managing design complexity

• Partition of designs

• Typical design process using VHDL

• Test Bed

• A VHDL example

Page 2: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Large Large Scale Scale

Design Design

Page 3: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Design Data ManagementDesign Data Management• VHDL design data are organized as libraries.

• A library may contain any number of previously analyzed design units.

• The dependency relations among VHDL units are defined by the analysis order rather than the lexical order.

• A library is referred by its logical name. The mapping of a logical name into a file or a set of files on a disk is done by the VHDL toolset.

• Each VHDL implementation should support at least two library logical names: WORK and STD:– WORK = the current library during analysis.

– STD = VHDL-defined library:

Page 4: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Design Data ManagementDesign Data Management

• * The package STANDARD contains the definition of the basic types such as boolean, bit, character, severity_level, integer, real, time, etc.

• * The package TEXTIO contains a number of routines which are used to read and write ASCII files (and terminals).

• Access to external libraries is achieved by the library clause:

library TTL_components;

use TTL_components.Main_package.all

Page 5: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Name VisibilityName Visibility• The following VHDL constructs create a new name space:

– an entity declaration and its architecture body

– a process statement

– a block statement

– a subprogram

– a configuration declaration

– a record type declaration

– a loop statement

– a component declaration

• A name declared within the current name space is visible from the point of its declaration until the end of the space.

• A name's visibility can be masked by nested constructs.

• The dot notation and the use clause are used to override the basic visibility rule.

• If name-crash happens, none of the names are visible.

Page 6: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Design Design PartitioningPartitioning• Structure decomposition: an entity may consists of several

• components which are instantiation of the next level entities.

• Behavioral decomposition:

– Embedded subprograms definition in process (sup-port parallel-sequential* hierarchy)

– Concurrent procedure calls (support also parallel-parallel-sequential* hierarchy)

• Ex.

- It is very difficult to have sequential-parallel-sequential hierarchy in VHDL.

Page 7: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Design Systems with Design Systems with VHDLVHDL

• A complete VHDL design usually consists of the following three parts:– - an entity declaration– - an architectural body (or several)– - a test bench which consists of– * its entity declaration and– * its architecture body (mainly for stimuli definition)

• VHDL supports the top-down design methodology.

Page 8: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Design Systems with Design Systems with VHDLVHDL

• A typical design process could be:– Common data types and conversion functions are de-fined in a package.– The interface of the system is defined in an entity.– A behavioral description is developed to capture the functional specification of

the system.– The design is partitioned by grouping behaviors together to form blocks and

substituting them with components.– The details of the components can then be designed using the same strategy.

• Advantages of this approach:– Each intermediate result of the design process can be simulated to make sure

that it is correct in respect to the original specification.

Page 9: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

An An Example: Example:

Traffic Traffic Light Light

ControllerController

Page 10: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

An Example: Traffic Light An Example: Traffic Light Controller (cont’d)Controller (cont’d)

Page 11: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

An Example: An Example: Traffic Light Traffic Light

Controller Controller (cont’d)(cont’d)

Page 12: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

First partition First partition of Traffic of Traffic

Light Light ControllerController

Page 13: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Test-BedTest-Bed

Page 14: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Test bedTest bed

Page 15: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

State Diagram for Control ProcessState Diagram for Control Process

Page 16: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

VHDL for Control Process (example 1)VHDL for Control Process (example 1)

Page 17: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

VHDL for Control Process (example 2)VHDL for Control Process (example 2)

Page 18: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

Structural Structural VHDL for VHDL for

Control ProcessControl Process

Page 19: Managing design complexity Partition of designs Typical design process using VHDL Test Bed A VHDL example

SourcesSources• Krzysztof Kuchcinski