Cover image for VHDL-2008 : just the new stuff
Title:
VHDL-2008 : just the new stuff
Personal Author:
Series:
The Morgan Kaufmann series in systems on silicon
Publication Information:
Burlington, MA : Morgan Kaufmann, 2008
ISBN:
9780123742490
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010169236 TK7885.75 A83 2008 Open Access Book Book
Searching...

On Order

Summary

Summary

VHDL-2008: Just the New Stuff, as its title says, introduces the new features added to the latest revision of the IEEE standard for the VHDL hardware description language. Written by the Chair and Technical Editor of the IEEE working group, the book is an authoritative guide to how the new features work and how to use them to improve design productivity. It will be invaluable for early adopters of the new language version, for tool implementers, and for those just curious about where VHDL is headed.


Author Notes

Peter J. Ashenden received his B.Sc.(Hons) and Ph.D. from the University of Adelaide, Australia. He was previously a senior lecturer in computer science and is now a Visiting Research Fellow at the University of Adelaide. His research interests are computer organization and electronic design automation. Dr. Ashenden is also an independent consultant specializing in electronic design automation (EDA). He is actively involved in IEEE working groups developing VHDL standards, is the author of The Designer's Guide to VHDL and The Student's Guide to VHDL and co-editor of the Morgan Kaufmann series, Systems on Silicon. He is a senior member of the IEEE and a member of the ACM.


Table of Contents

Prefacep. ix
1 Enhanced Genericsp. 1
1.1 Generic Typesp. 1
1.2 Generic Lists in Packagesp. 6
1.3 Local Packagesp. 11
1.4 Generic Lists in Subprogramsp. 15
1.5 Generic Subprogramsp. 21
1.5.1 Uninstantiated Methods in Protected Typesp. 32
1.6 Generic Packagesp. 36
1.7 Use Case: Generic Memoriesp. 43
2 Other Major Featuresp. 53
2.1 External Namesp. 53
2.2 Force and Releasep. 63
2.3 Context Declarationsp. 67
2.4 Integrated PSLp. 70
2.5 IP Encryptionp. 77
2.5.1 Key Exchangep. 96
2.6 VHDL Procedural Interface (VHPI)p. 97
2.6.1 Direct Bindingp. 97
2.6.2 Tabular Registration and Indirect Bindingp. 99
2.6.3 Registration of Applications and Librariesp. 101
3 Type System Changesp. 103
3.1 Unconstrained Element Typesp. 103
3.1.1 Composite Typesp. 103
3.1.2 Subtype Indications and Constraintsp. 107
3.1.3 Use of Composite Subtypesp. 109
Variable and Signal Declarationsp. 110
Constant Declarationsp. 110
Attribute Specificationsp. 111
Allocated Objectsp. 111
Interface Objectsp. 112
Summary: Determining Array Index Rangesp. 117
Type Conversionsp. 118
Alias Declarations and Subtype Attributesp. 119
Resolved Composite Subtypesp. 122
3.2 Resolved Elementsp. 123
4 New and Changed Operationsp. 127
4.1 Array/Scalar Logical Operationsp. 127
4.2 Array/Scalar Addition Operatorsp. 129
4.3 Logical Reduction Operatorsp. 130
4.4 Condition Operatorp. 132
4.5 Matching Relational Operatorsp. 133
4.6 Maximum and Minimump. 138
4.7 Mod and Rem for Physical Typesp. 140
4.8 Shift Operationsp. 141
4.9 Strength Reduction and 'X' Detectionp. 142
5 New and Changed Statementsp. 143
5.1 Conditional and Selected Assignmentsp. 143
5.1.1 Sequential Signal Assignmentsp. 143
5.1.2 Forcing Assignmentsp. 146
5.1.3 Variable Assignmentsp. 147
5.2 Matching Case Statementsp. 149
5.2.1 Matching Selected Assignmentsp. 150
5.3 If and Case Generatep. 151
5.3.1 Configuration of If and Case Generatep. 155
6 Modeling Enhancementsp. 159
6.1 Signal Expressions in Port Mapsp. 159
6.2 All Signals in Sensitivity Listp. 161
6.3 Reading Out-Mode Ports and Parametersp. 162
6.4 Slices in Aggregatesp. 166
6.5 Bit-String Literalsp. 167
7 Improved I/Op. 169
7.1 The To_String Functionsp. 169
7.1.1 Predefined To_string Functionsp. 170
7.1.2 Overloaded To_string Functionsp. 171
7.1.3 The To_ostring and To_hstring Functionsp. 172
7.2 The Justify Functionp. 173
7.3 Newline Formattingp. 173
7.4 Read and Write Operationsp. 174
7.5 The Tee Procedurep. 177
7.6 The Flush Procedurep. 178
8 Standard Packagesp. 179
8.1 The Std_logic_1 164 Packagep. 179
8.2 The Numeric_bit and Numeric_std Packagesp. 180
8.3 The Numeric Unsigned Packagesp. 182
8.4 The Fixed-Point Math Packagesp. 182
8.5 The Floating-Point Math Packagesp. 186
8.6 The Standard Packagep. 191
8.7 The Env Packagep. 192
8.8 Operator Overloading Summaryp. 193
8.9 Conversion Function Summaryp. 196
8.10 Strength Reduction Function Summaryp. 204
9 Miscellaneous Changesp. 207
9.1 Referencing Generics in Generic Listsp. 207
9.2 Function Return Subtypep. 208
9.3 Qualified Expression Subtypep. 209
9.4 Type Conversionsp. 209
9.5 Case Expression Subtypep. 211
9.6 Subtypes for Port and Parameter Actualsp. 212
9.7 Static Composite Expressionsp. 213
9.8 Static Rangesp. 214
9.9 Use Clauses, Types, and Operationsp. 215
9.10 Hiding of Implicit Operationsp. 216
9.11 Multidimensional Array Aliasp. 217
9.12 Others in Aggregatesp. 217
9.13 Attribute Specifications in Package Bodiesp. 219
9.14 Attribute Specification for Overloaded Subprogramsp. 219
9.15 Integer Expressions in Range Boundsp. 220
9.16 Action on Assertion Violationsp. 221
9.17 'Path_Name and 'Instance_Namep. 221
9.18 Non-Nesting of Architecture Regionp. 223
9.19 Purity of Nowp. 223
9.20 Delimited Commentsp. 224
9.21 Tool Directivesp. 225
9.22 New Reserved Wordsp. 225
9.23 Replacement Charactersp. 226
10 What's Nextp. 229
10.1 Object-Oriented Class Typesp. 229
10.1.1 Standard Components Libraryp. 232
10.2 Randomizationp. 232
10.3 Functional Coveragep. 235
10.4 Alternativesp. 235
10.5 Getting Involvedp. 235
Indexp. 237