Table of ContentsSUAVE: VHDL Extensionsfor 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 |