SUAVE: VHDL Extensions for System-Level Modeling

17-Mar-99


Click here to start


Table of Contents

SUAVE: VHDL Extensions for System-Level Modeling

In a Nutshell ...

Current Design Flows

Future Design Flows

High-Level Modeling

High-Level Modeling Support

High-Level Modeling Support

SUAVE Extensions

Language Design Principles

Agenda

Abstract Data Types (ADTs)

Package Example

Package Example

Private Types/Private Parts

Secure ADT Example

Limited Private Types

Limited Private Type Example

Limited Private Type Example

Limited Private Type Example

Lightweight Packages

Package Example

Package Example

Agenda

Primitive Operations & Inheritance

Tagged Record Types

Tagged Record Example

Type Extension

Type Extension Example

Abstract Types and Operations

Abstract Type/Op Example

Abstract Type/Op Example

Class-wide Types

Dynamic Dispatch

Class-wide Operations

Example: Instruction Register

Example: Instruction Register

Type Conversion

Extension Aggregates

Encapsulation and Extension

Private Extension Example

Private Extension Example

Private Extension Example

Private Extension Example

Agenda

Type Generics

Example: Generic Mux

Example: Generic Mux

Generic Type Definitions

Generic Type Definitions

Generic Type Definitions

Example: Generic Counter

Example: Generic Counter

Example: Generic Shift Register

Example: Generic Shift Register

Example: Generic Shift Register

Agenda

Generic Packages/Subprograms

Example: Generic Queue

Example: Generic Queue

Example: Generic Swap

Example: Generic Collection

Example: Generic Collection

Example: Generic Collection

Example: Generic Collection

Example: Generic Collection

Example: Generic Collection

Example: Generic Collection

Mixin Inheritance

Example: Addressing Modes

Example: Addressing Modes

Agenda

Communication

Abstract Communication

Channel Types

Channel Objects

Channel Example

Interface Channel Conformance

Interface Channel Example 1

Interface Channel Example 2

Message Passing: Send

Message Passing: Receive

Send & Receive Example

Message Passing: Select

Select Example

Select Example

Select Example 1

Select Example 2

Dynamically Created Channels

Agenda

Abstraction of Concurrency

Process Declarations

Static Process Instantiation

Dynamic Process Instantiation

Process Termination

Example: Client/Server System

Example: Client/Server System

Example: Client/Server System

Example: Client/Server System

Conclusion

Author: Peter J. Ashenden

Email: petera@cs.adelaide.edu.au

Home Page: http://www.cs.adelaide.edu.au/~petera