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. * First in the market describing the new features of VHDL 2008; * Just the new features, so existing users and implementers can focus on what's new; * Helps readers to learn the new features soon, rather than waiting for new editions of complete VHDL reference books. * Authoritative, written by experts in the area; * Tutorial style, making it more accessible than the VHDL Standard Language Reference Manual.
Inhaltsverzeichnis
1;Cover;1 2;Contents;6 3;Preface;10 4;1 Enhanced Generics;12 4.1;1.1 Generic Types;12 4.2;1.2 Generic Lists in Packages;17 4.3;1.3 Local Packages;22 4.4;1.4 Generic Lists in Subprograms;26 4.5;1.5 Generic Subprograms;32 4.5.1;1.5.1 Uninstantiated Methods in Protected Types;43 4.6;1.6 Generic Packages;47 4.7;1.7 Use Case: Generic Memories;54 5;2 Other Major Features;64 5.1;2.1 External Names;64 5.2;2.2 Force and Release;74 5.3;2.3 Context Declarations;78 5.4;2.4 Integrated PSL;81 5.5;2.5 IP Encryption;88 5.5.1;2.5.1 Key Exchange;107 5.6;2.6 VHDL Procedural Interface (VHPI);108 5.6.1;2.6.1 Direct Binding;108 5.6.2;2.6.2 Tabular Registration and Indirect Binding;110 5.6.3;2.6.3 Registration of Applications and Libraries;112 6;3 Type System Changes;114 6.1;3.1 Unconstrained Element Types;114 6.1.1;3.1.1 Composite Types;114 6.1.2;3.1.2 Subtype Indications and Constraints;118 6.1.3;3.1.3 Use of Composite Subtypes;120 6.1.3.1;Variable and Signal Declarations;121 6.1.3.2;Constant Declarations;121 6.1.3.3;Attribute Specifications;122 6.1.3.4;Allocated Objects;122 6.1.3.5;Interface Objects;123 6.1.3.6;Summary: Determining Array Index Ranges;128 6.1.3.7;Type Conversions;129 6.1.3.8;Alias Declarations and Subtype Attributes;130 6.1.3.9;Resolved Composite Subtypes;133 6.2;3.2 Resolved Elements;134 7;4 New and Changed Operations;138 7.1;4.1 Array/Scalar Logical Operations;138 7.2;4.2 Array/Scalar Addition Operators;140 7.3;4.3 Logical Reduction Operators;141 7.4;4.4 Condition Operator;143 7.5;4.5 Matching Relational Operators;144 7.6;4.6 Maximum and Minimum;149 7.7;4.7 Mod and Rem for Physical Types;151 7.8;4.8 Shift Operations;152 7.9;4.9 Strength Reduction and 'X' Detection;153 8;5 New and Changed Statements;154 8.1;5.1 Conditional and Selected Assignments;154 8.1.1;5.1.1 Sequential Signal Assignments;154 8.1.2;5.1.2 Forcing Assignments;157 8.1.3;5.1.3 Variable Assignments;158 8.2;5.2 Matching Case Statements;160 8.2.1;5.2.1 Matching Selected Assignments;161 8.3;5.3 If and Case
Generate;162 8.3.1;5.3.1 Configuration of If and Case Generate;166 9;6 Modeling Enhancements;170 9.1;6.1 Signal Expressions in Port Maps;170 9.2;6.2 All Signals in Sensitivity List;172 9.3;6.3 Reading Out-Mode Ports and Parameters;173 9.4;6.4 Slices in Aggregates;177 9.5;6.5 Bit-String Literals;178 10;7 Improved I/O;180 10.1;7.1 The To_string Functions;180 10.1.1;7.1.1 Predefined To_string Functions;181 10.1.2;7.1.2 Overloaded To_string Functions;182 10.1.3;7.1.3 The To_ostring and To_hstring Functions;183 10.2;7.2 The Justify Function;184 10.3;7.3 Newline Formatting;184 10.4;7.4 Read and Write Operations;185 10.5;7.5 The Tee Procedure;188 10.6;7.6 The Flush Procedure;189 11;8 Standard Packages;190 11.1;8.1 The Std_logic_1164 Package;190 11.2;8.2 The Numeric_bit and Numeric_std Packages;191 11.3;8.3 The Numeric Unsigned Packages;193 11.4;8.4 The Fixed-Point Math Packages;193 11.5;8.5 The Floating-Point Math Packages;197 11.6;8.6 The Standard Package;202 11.7;8.7 The Env Package;203 11.8;8.8 Operator Overloading Summary;204 11.9;8.9 Conversion Function Summary;207 11.10;8.10 Strength Reduction Function Summary;215 12;9 Miscellaneous Changes;218 12.1;9.1 Referencing Generics in Generic Lists;218 12.2;9.2 Function Return Subtype;219 12.3;9.3 Qualified Expression Subtype;220 12.4;9.4 Type Conversions;220 12.5;9.5 Case Expression Subtype;222 12.6;9.6 Subtypes for Port and Parameter Actuals;223 12.7;9.7 Static Composite Expressions;224 12.8;9.8 Static Ranges;225 12.9;9.9 Use Clauses, Types, and Operations;226 12.10;9.10 Hiding of Implicit Operations;227 12.11;9.11 Multidimensional Array Alias;228 12.12;9.12 Others in Aggregates;228 12.13;9.13 Attribute Specifications in Package Bodies;230 12.14;9.14 Attribute Specification for Overloaded Subprograms;230 12.15;9.15 Integer Expressions in Range Bounds;231 12.16;9.16 Action on Assertion Violations;232 12.17;9.17 'Path_Name and 'Instance_Name;232 12.18;9.18 Non-Nesting of Architecture Region;234 12.19;9.19 Purity of Now;234
12.20;9.20 Delimited Comments;235 12.21;9.21 Tool Directives;236 12.22;9.22 New Reserved Words;236 12.23;9.23 Replacement Characters;237 13;10 What's Next;240 13.1;10.1 Object-Oriented Class Types;240 13.1.1;10.1.1 Standard Components Library;243 13.2;10.2 Randomization;243 13.3;10.3 Functional Coverage;246 13.4;10.4 Alternatives;246 13.5;10.5 Getting Involved;246 14;Index;248 14.1;A;248 14.2;B;248 14.3;C;248 14.4;D;249 14.5;E;249 14.6;F;250 14.7;G;250 14.8;H;250 14.9;I;250 14.10;J;251 14.11;K;251 14.12;L;251 14.13;M;251 14.14;N;251 14.15;O;252 14.16;P;252 14.17;Q;253 14.18;R;253 14.19;S;253 14.20;T;254 14.21;U;255 14.22;V;255 14.23;W;255 14.24;X;255 14.25;Z;255