Types As Globally Static, First Class Objects in VHDL-X TM Nothing in this presentation implies an offer for sale. FTL Systems is willing to provide IEEE.

Slides:



Advertisements
Similar presentations
Based on Java Software Development, 5th Ed. By Lewis &Loftus
Advertisements

ICE1341 Programming Languages Spring 2005 Lecture #16 Lecture #16 In-Young Ko iko.AT. icu.ac.kr iko.AT. icu.ac.kr Information and Communications University.
Modules Program is built out of components. Each component defines a set of logically related entities (strong internal coupling) A component has a public.
Names and Bindings.
CS 330 Programming Languages 10 / 16 / 2008 Instructor: Michael Eckmann.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
ISBN Chapter 5 Names, Bindings, Type Checking, and Scopes Names Variables The Concept of Binding Type Checking Strong Typing Type Compatibility.
ISBN Chapter 9 Subprograms. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Introduction Two fundamental abstraction facilities.
Topics of Lecture Structural Model Procedures Functions Overloading.
Copyright © 1995 by Addison-Wesley Publishing Co. 1 Names - Design issues: - Maximum length? - Are connector characters allowed? - Are names case sensitive?
Criteria for good design. aim to appreciate the proper and improper uses of inheritance and appreciate the concepts of coupling and cohesion.
Lecture 9 Concepts of Programming Languages
Abstract Data Types and Encapsulation Concepts
ISBN Chapter 9 Subprograms and Functions –Design Issues –Local Referencing Environments –Parameter-Passing Methods –Parameters that are Subprogram.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
Dr. Turki F. Al-Somani VHDL synthesis and simulation – Part 1 Microcomputer Systems Design (Embedded Systems)
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
UML - Development Process 1 Software Development Process Using UML (2)
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Taken from slides of Starting Out with C++ Early Objects Seventh Edition.
Circuit Simulation 1) Functional simulation :- Propagation delay through the circuit are neglected. 2) Timing simulation :- Propagation delay through the.
Introduction to Object Oriented Programming. Object Oriented Programming Technique used to develop programs revolving around the real world entities In.
CSC3315 (Spring 2009)1 CSC 3315 Programming Languages Hamid Harroud School of Science and Engineering, Akhawayn University
March 12, ICE 1341 – Programming Languages (Lecture #6) In-Young Ko Programming Languages (ICE 1341) Lecture #6 Programming Languages (ICE 1341)
Lecture Set 11 Creating and Using Classes Part B – Class Features – Constructors, Methods, Fields, Properties, Shared Data.
Chapter 5 Names, Bindings, and Scopes. Copyright © 2012 Addison-Wesley. All rights reserved.1-2 Chapter 5 Topics Introduction Names Variables The Concept.
ISBN Chapter 5 Names, Bindings, and Scopes.
Tuc Goodwin  Object and Component-Oriented Programming  Classes in C#  Scope and Accessibility  Methods and Properties  Nested.
Basic Semantics Associating meaning with language entities.
Slide: 1 Copyright © AdaCore Subprograms Presented by Quentin Ochem university.adacore.com.
ISBN Chapter 5 Names, Bindings, and Scopes.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
RTL Hardware Design by P. Chu Chapter Basic VHDL program 2. Lexical elements and program format 3. Objects 4. Data type and operators RTL Hardware.
An OO schema language for XML SOX W3C Note 30 July 1999.
Chapter 16 Applying UML and Patterns Craig Larman
Copyright © , Model Technology Working Group VHDL, VHDL-200x DASC Meeting DATE, 19 Feb 2004 Paris, France
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHDL – Basic Language Elements  Identifiers: –basic identifier: composed of a sequence of one or more.
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
Topics AliasesSubprograms Generics & Configurations.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
ISBN Chapter 9 Subprograms Sections
Names, Bindings, and Scope Session 3 Course : T Programming Language Concept Year : February 2011.
Object-Oriented Programming Chapter Chapter
16/11/2006DSD,USIT,GGSIPU1 Packages The primary purpose of a package is to encapsulate elements that can be shared (globally) among two or more design.
 In the java programming language, a keyword is one of 50 reserved words which have a predefined meaning in the language; because of this,
Chapter 9 Subprograms. Copyright © 2006 Addison-Wesley. All rights reserved.1-2 Chapter 9 Topics Introduction Fundamentals of Subprograms Design Issues.
VHDL Discussion Subprograms IAY 0600 Digital Systems Design Alexander Sudnitson Tallinn University of Technology 1.
1 Copyright © 1998 by Addison Wesley Longman, Inc. Chapter 10 Abstraction - The concept of abstraction is fundamental in programming - Nearly all programming.
Asynchronous VHDL Extensions Joshua & Ravi FTL Systems Nothing in this presentation implies an offer for sale. FTL Systems is willing to provide IEEE Inc.
Object orientation and Packaging in Java Object Orientation and Packaging Introduction: After completing this chapter, you will be able to identify.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
A Survey of Object-Oriented Concept Oscar Nierstrasz.
C++ General Characteristics: - Mixed typing system - Constructors and destructors - Elaborate access controls to class entities.
Chapter 9 Subprograms. Chapter 9 Topics Introduction Fundamentals of Subprograms Design Issues for Subprograms Local Referencing Environments Parameter-Passing.
ISBN Chapter 12 Support for Object-Oriented Programming.
Chapter 9 Subprograms.
Names and Attributes Names are a key programming language feature
Type Checking, and Scopes
Organization of Programming Languages
CSCI 3370: Principles of Programming Languages Chapter 9 Subprograms
Lecture 9 Concepts of Programming Languages
Abstract Data Types and Encapsulation Concepts
CPE 528: Lecture #3 Department of Electrical and Computer Engineering University of Alabama in Huntsville.
Chapter 9 Subprograms Fundamentals of Subprograms
Lecture 9 Concepts of Programming Languages
Presentation transcript:

Types As Globally Static, First Class Objects in VHDL-X TM Nothing in this presentation implies an offer for sale. FTL Systems is willing to provide IEEE Inc. a non-exclusive, cost-free license to use specific aspects of VHDL-X related to types as first class objects. The license does not include patent or copyright for other aspects of VHDL-X. The full VHDL-X LRM is FTL Systems Proprietary. Funded in part by DARPA’s ACS, NeoCAD & CLASS programs

Implementation Criteria VHDL-X is implemented in Release 9 of a commercial tool, in Beta release now

Strategy Types can be incrementally specified (subtypes) Types and subtypes can be passed as actuals during static elaboration, then used in a subtype indication Subtypes must be sufficiently specified locally to complete syntactic checks Subtypes must be sufficiently specified globally to complete semantic checks globally statically

Subset of VHDL-X Type-Related Features (1/2) Base type characteristics Scalar type derivation Array type derivation Record type derivation Protected type derivation Access type derivation File type derivation

Subset of VHDL-X Type-Related Features (2/2) Type interface declarations Packages, type generics & instantiation Entities, type generics & instantiation Subprograms, type generics & calling

Base type characterization Must determine: –Declarator –Kind of type (enumeration, array…) –Specified properties (as in IEEE VHDL) –Delayed properties (using <> symbol as a replacement for expression in IEEE VHDL)

Scalar Subtype Characterization Scalar subtypes add detail by specifying: –bounds, –implementation of predefined attributes such as ‘left, ‘right, … –visible operator implementation (overloading is still determined based on base type)

Array Subtype Characterization Array subtypes add detail by specifying: –index domains (number of dimensions cannot change) –element subtype –implementation of predefined attributes –visible operator implementation (overloading is still determined based on base type)

Record Subtype Characterization Record subtypes add detail by specifying: –additional elements –implementation of predefined attributes –visible operator implementation (overloading is still determined using base type)

Protected Subtype Characterization Protected subtypes add detail by specifying: –additional elements –additional subprograms –implementation of predefined attributes –visible operator implementation (overloading is still determined using base type) Incidentally, protected types can appear in any scope where a signal is allowed and can be dynamically allocated (via new)

Access Subtype Characterization Access subtypes add detail by specifying: –subtype of access target –visible operator implementation (overloading is still determined using base type)

File Subtype Characterization File subtypes add detail by specifying: –subtype of file element –visible operator implementation (overloading is still determined using base type)

Type Interface Declarations Include a declarator (later used to reference the post-elaboration type), base type or subtype and optional type default: type st: element := integer_base

Package Declarations Package declarations gain an additional, optional formal generic clause which may include constant interface declarations and type interface declarations: package p is generic (st: element := integer_base) package_declarative_part end package

Package Use Clauses Gain an optional generic map clause to associate generics and types or globally static expressions Packages are elaborated for each unique set of bindings on the first use

Entity Declarations & Instantiations Type interface declarations may be added to the generic formal clause Generic map clauses during instantiation may include a subtype binding to the type interface declaration

Subprograms, type generics & calling Type interface declarations may be added to subprogram signatures Actual subtype must be known during static elaboration Used to help differentiate among overloadings