1、IEEE Std 1076-2008(Revision of IEEE Std 1076-2002) IEEE Standard VHDL Language Reference ManualIEEE3 Park Avenue New York, NY 10016-5997, USA26 January 2009IEEE Computer SocietySponsored by theDesign Automation Standards Committee1076TMIEEE Std 1076-2008 (Revision of IEEE Std 1076-2002)g3IEEE Standa
2、rd VHDL Language Reference ManualSponsor Design Automation Standards Committeeg3of theg3IEEE Computer SocietyApproved 26 September 2008g3IEEE SA-Standards BoardThe Institute of Electrical and Electronics Engineers, Inc.3 Park Avenue, New York, NY 10016-5997, USACopyright 2009 by the Institute of Ele
3、ctrical and Electronics Engineers, Inc.All rights reserved. Published 26 January 2009. Printed in the United States of America.IEEE and POSIX are registered trademarks in the U.S. Patent the communication of hardware design data; and the maintenance,modification, and procurement of hardware. Its pri
4、mary audiences are the implementors of toolssupporting the language and the advanced users of the language.Keywords: computer languages, electronic systems, hardware, hardware design, VHDL IEEE Standards documents are developed within the IEEE Societies and the Standards Coordinating Committees of t
5、he IEEE Standards Association (IEEE-SA) Standards Board. The IEEE develops its standards through a consensus development process, approved by the American National Standards Institute, which brings together volunteers representing varied viewpoints and interests to achieve the final product. Volunte
6、ers are not necessarily members of the Institute and serve without compensation. While the IEEE administers the process and establishes rules to promote fairness in the consensus development process, the IEEE does not independently evaluate, test, or verify the accuracy of any of the information or
7、the soundness of any judgments contained in its standards.Use of an IEEE Standard is wholly voluntary. The IEEE disclaims liability for any personal injury, property or other damage, of any nature whatsoever, whether special, indirect, consequential, or compensatory, directly or indirectly resulting
8、 from the publication, use of, or reliance upon this, or any other IEEE Standard document.The IEEE does not warrant or represent the accuracy or content of the material contained herein, and expressly disclaims any express or implied warranty, including any implied warranty of merchantability or fit
9、ness for a specific purpose, or that the use of the material contained herein is free from patent infringement. IEEE Standards documents are supplied “AS IS.” g3g3The existence of an IEEE Standard does not imply that there are no other ways to produce, test, measure, purchase, market, or provide oth
10、er goods and services related to the scope of the IEEE Standard. Furthermore, the viewpoint expressed at the time a standard is approved and issued is subject to change brought about through developments in the state of the art and comments received from users of the standard. Every IEEE Standard is
11、 subjected to review at least every five years for revision or reaffirmation. When a document is more than five years old and has not been reaffirmed, it is reasonable to conclude that its contents, although still of some value, do not wholly reflect the present state of the art. Users are cautioned
12、 to check to determine that they have the latest edition of any IEEE Standard.In publishing and making this document available, the IEEE is not suggesting or rendering professional or other services for, or on behalf of, any person or entity. Nor is the IEEE undertaking to perform any duty owed by a
13、ny other person or entity to another. Any person utilizing this, and any other IEEE Standards document, should rely upon his or her independent judgment in the exercise of reasonable care in any given circumstances or, as appropriate, seek the advice of a competent professional in determining the ap
14、propriateness of a given IEEE standard.Interpretations: Occasionally questions may arise regarding the meaning of portions of standards as they relate to specific applications. When the need for interpretations is brought to the attention of IEEE, the Institute will initiate action to prepare approp
15、riate responses. Since IEEE Standards represent a consensus of concerned interests, it is important to ensure that any interpretation has also received the concurrence of a balance of interests. For this reason, IEEE and the members of its societies and Standards Coordinating Committees are not able
16、 to provide an instant response to interpretation requests except in those cases where the matter has previously received formal consideration. At lectures, symposia, seminars, or educational courses, an individual presenting information on IEEE standards shall make it clear that his or her views sh
17、ould be considered the personal views of that individual rather than the formal position, explanation, or interpretation of the IEEE. Comments for revision of IEEE Standards are welcome from any interested party, regardless of membership affiliation with IEEE. Suggestions for changes in documents sh
18、ould be in the form of a proposed change of text, together with appropriate supporting comments. Comments on standards and requests for interpretations should be addressed to:Secretary, IEEE-SA Standards Boardg3445 Hoes Laneg3Piscataway, NJ 08854g3USAAuthorization to photocopy portions of any indivi
19、dual standard for internal or personal use is granted by the Institute of Electrical and Electronics Engineers, Inc., provided that the appropriate fee is paid to Copyright Clearance Center. To arrange for payment of licensing fee, please contact Copyright Clearance Center, Customer Service, 222 Ros
20、ewood Drive, Danvers, MA 01923 USA; +1 978 750 8400. Permission to photocopy portions of any individual standard for educational classroom use can also be obtained through the Copyright Clearance Center.IntroductionThe VHSIC Hardware Description Language (VHDL) is a formal notation intended for use
21、in all phases ofthe creation of electronic systems. Because it is both machine readable and human readable, it supports thedevelopment, verification, synthesis, and testing of hardware designs; the communication of hardwaredesign data; and the maintenance, modification, and procurement of hardware.T
22、his document, IEEE Std 1076-2008, is a revision of IEEE Std 1076-2002 as amended byIEEE Std 1076cTM-2007. Initial work on gathering requirements and developing language extensionswas undertaken by the IEEE VHDL Analysis and Standardization Group (VASG), otherwise known as the1076 Working Group. Subs
23、equently, Accelleraasponsored an effort to complete that work and draft arevised Language Reference Manual. That draft was returned to IEEE for final revision and approval,resulting in this document and the associated machine-readable files. This revision incorporates numerousenhancements, both majo
24、r and minor, to previously existing language feaures and several new languagefeatures. The changes are summarized in Annex E. In addition, several VHDL library packages that werepreviously defined in separate standards are now defined in this standard, ensuring that they are treated asintegral parts
25、 of the language. Finally, this revision incorporates the IEEE Property Specification Language(PSL) as part of VHDL. The combination of these changes significantly improves VHDL as a language forspecification, design, and verification of complex electronic systems.The maintenance of the VHDL languag
26、e standard is an ongoing process. The chair of the VHDL Analysisand Standardization Group extends his gratitude to all who have participated in this revision, both in theIEEE committees and the Accellera effort, and encourages the participation of all interested parties in futurelanguage revisions.b
27、Notice to usersLaws and regulationsUsers of these documents should consult all applicable laws and regulations. Compliance with theprovisions of this standard does not imply compliance to any applicable regulatory requirements.Implementers of the standard are responsible for observing or referring t
28、o the applicable regulatoryrequirements. IEEE does not, by the publication of its standards, intend to urge action that is not incompliance with applicable laws, and these documents may not be construed as doing so. CopyrightsThis document is copyrighted by the IEEE. It is made available for a wide
29、variety of both public and privateuses. These include both use, by reference, in laws and regulations, and use in private self-regulation,standardization, and the promotion of engineering practices and methods. By making this documentavailable for use and adoption by public authorities and private u
30、sers, the IEEE does not waive any rights incopyright to this document.aMore information is available at www.accellera.org. bIf interested in participating, please contact the VASG at stds-vasgieee.org or visit: http:/www.eda.org/vasg.This introduction is not part of IEEE Std 1076-2008, IEEE Standard
31、 VHDL Language Reference Manual.iv Copyright 2009 IEEE. All rights reserved.Updating of IEEE documentsUsers of IEEE standards should be aware that these documents may be superseded at any time by theissuance of new editions or may be amended from time to time through the issuance of amendments,corri
32、genda, or errata. An official IEEE document at any point in time consists of the current edition of thedocument together with any amendments, corrigenda, or errata then in effect. In order to determine whethera given document is the current edition and whether it has been amended through the issuanc
33、eof amendments, corrigenda, or errata, visit the IEEE Standards Association website at http:/ieeexplore.ieee.org/xpl/standards.jsp, or contact the IEEE at the address listed previously.For more information about the IEEE Standards Association or the IEEE standards development process,visit the IEEE-
34、SA website at http:/standards.ieee.org.ErrataErrata, if any, for this and all other standards can be accessed at the following URL: http:/standards.ieee.org/reading/ieee/updates/errata/index.html. Users are encouraged to check this URL forerrata periodically.InterpretationsCurrent interpretations ca
35、n be accessed at the following URL: http:/standards.ieee.org/reading/ieee/interp/index.html.PatentsAttention is called to the possibility that implementation of this standard may require use of subject mattercovered by patent rights. By publication of this standard, no position is taken with respect
36、 to the existence orvalidity of any patent rights in connection therewith. The IEEE shall not be responsible for identifyingpatents or patent applications for which a license may be required to implement an IEEE standard or forconducting inquiries into the legal validity or scope of those patents th
37、at are brought to its attention.ParticipantsAt the time this standard was submitted to the IEEE-SA Standards Board for approval, the 1076 WorkingGroup had the following membership:Jim Lewis, ChairChuck Swart, Vice ChairPeter Ashenden, Secretary and Technical EditorJohn AynsleyStephen BaileyVictor Be
38、rmanPatrick BryantRoland R. HenrieDaniel KhoFranoise MartinolleEgert MolenkampRobert MyersFarrell OstlerJohn RiesTimothy SchneiderSukrit ShankarJohn ShieldsAlain VachouxAjayharsh VarikatRichard WallaceJohn WillisAlex ZamfirescuMark ZwolinskiCopyright 2009 IEEE. All rights reserved. vThe following me
39、mbers of the individual balloting committee voted on this standard. Balloters may havevoted for approval, disapproval, or abstention. When the IEEE-SA Standards Board approved this standard on 26 September 2008, it had the followingmembership:Robert M. Grow, ChairThomas Prevost, Vice ChairSteve M. M
40、ills, Past ChairJudith Gorman, Secretary*Member EmeritusAlso included are the following nonvoting IEEE-SA Standards Board liaisons:Satish K. Aggarwal, NRC RepresentativeMichael Janezic, NIST RepresentativeJennie SteinhagenIEEE Standards Program Manager, Document DevelopmentMichael D. KipnessIEEE Sta
41、ndards Program Manager, Technical Program DevelopmentPeter AshendenBakul BanerjeeVictor BermanMartin J. BishopLyle BullockJames CaseKeith ChowErnst ChristenS. ClaassenKevin CogginsJoanne DegroatThomas DineenSteven DovichGeorge EconomakosCharles GardinerSergiu GomaRandall GrovesWilliam HannaM. Hashmi
42、Werner HoelzlJoseph HupceyPiotr KarockiKurt KermesJim LewisG. LuriTimothy McBrayerDonald MillsEgbert MolenkampRobert MyersPrajit NairZ. NavabiMichael S. NewmanUlrich PohlBartien SayogoTimothy SchneiderStephen SchwarmJohn SheppardJohn ShieldsDavid SmithWalter StrupplerChuck SwartLance ThompsonYatin T
43、rivediAlain VachouxAjayharsh VarikatSrinivasa VemuruKathy WernerJohn WillisPaul WorkMark ZwolinskiVictor BermanRichard DeBlasioAndy DrozdMark EpsteinAlexander GelmanWilliam R. GoldbachArnold M. GreenspanKenneth S. HanusJim HughesRichard H. HulettYoung Kyun KimJoseph L. Koepfinger*John KulickDavid J.
44、 LawGlenn ParsonsRonald C. PetersenChuck PowersNarayanan RamachandranJon Walter RosdahlRobby RobsonAnne-Marie SahazizianMalcolm V. ThadenHoward L. WolfmanDon Wrightvi Copyright 2009 IEEE. All rights reserved.Contents1. Overview of this standard 11.1 Scope 11.2 Purpose. 11.3 Structure and terminology
45、 of this standard 22. Normative references. 53. Design entities and configurations. 73.1 General. 73.2 Entity declarations . 73.3 Architecture bodies 103.4 Configuration declarations. 134. Subprograms and packages 194.1 General. 194.2 Subprogram declarations . 194.3 Subprogram bodies 234.4 Subprogra
46、m instantiation declarations. 264.5 Subprogram overloading 264.6 Resolution functions 294.7 Package declarations 304.8 Package bodies. 314.9 Package instantiation declarations . 334.10 Conformance rules. 345. Types 355.1 General. 355.2 Scalar types 365.3 Composite types. 445.4 Access types. 535.5 Fi
47、le types 555.6 Protected types. 585.7 String representations 616. Declarations . 636.1 General. 636.2 Type declarations. 646.3 Subtype declarations 646.4 Objects . 666.5 Interface declarations. 736.6 Alias declarations. 896.7 Attribute declarations. 926.8 Component declarations 936.9 Group template
48、declarations 936.10 Group declarations. 936.11 PSL clock declarations. 94Copyright 2009 IEEE. All rights reserved. vii7. Specifications. 957.1 General. 957.2 Attribute specification 957.3 Configuration specification 987.4 Disconnection specification. 1038. Names 1078.1 General. 1078.2 Simple names.
49、1088.3 Selected names. 1088.4 Indexed names . 1118.5 Slice names 1128.6 Attribute names 1128.7 External names. 1139. Expressions 1179.1 General. 1179.2 Operators 1189.3 Operands 1319.4 Static expressions. 1399.5 Universal expressions 14210. Sequential statements. 14510.1 General. 14510.2 Wait statement . 14510.3 Assertion statement 14710.4 Report statement 14810.5 Signal assignment statement 14910.6 Variable assignment statement 16010.7 Procedure call statement 16310.8 If statement 16410.9 Case statement . 16410.10Loop statement 16610.11Next statement 16710.12Exit statement