?? 1076_axa.html
字號:
<html>
<head>
<title>VHDL LRM- Introduction</title>
</head>
<body>
<h1><a name="Annex A">Annex A</a></h1>
<a href="../../HTML/HOMEPG.HTM"><img src="HP.GIF" border=0></a>
<a href="1076_TOC.HTM"><img src="TOP.GIF" BORDER=0></a>
<a href="1076_14.HTM"><img src="LEFT.GIF" border=0></a>
<a href="1076_AXB.HTM"><img src="RIGHT.GIF" border=0></a>
<hr>
<h1>Syntax summary</h1>
<h1>(informative)</h1>
<p>This annex provides a summary of the syntax for VHDL. Productions are ordered alphabetically by left-hand nonterminal name. The clause number indicates the clause where the production is given.
<pre> abstract_literal ::= decimal_literal | based_literal <b>[§<a href = "1076_13.HTM#13.4"> 13.4</a>]</b>
access_type_definition ::= <b>access</b> subtype_indication <b>[§<a href = "1076_3.HTM#3.3"> 3.3</a> ]</b>
actual_designator ::= <b>[§<a href = "1076_4.HTM#4.3.2.2"> 4.3.2.2</a>]</u></b>
expression
| <i>signal</i>_name
| <i>variable</i>_name
| <i>file</i>_name
| <b>open</b>
actual_parameter_part ::= <i>parameter</i>_association_list <b>[§<a href = "1076_7.HTM#7.3.3"> 7.3.3</a>]</b>
actual_part ::= <b>[§<a href = "1076_4.HTM#4.3.2.2"> 4.3.2.2</a>]</b>
actual_designator
| <i>function</i>_name ( actual_designator )
| type_mark ( actual_designator )
adding_operator ::= + | - | & <b>[§<a href = "1076_7.HTM#7.2"> 7.2</a>]</b>
aggregate ::= <b>[§<a href = "1076_7.HTM#7.3.2"> 7.3.2</a>]</b>
( element_association { , element_association } )
alias_declaration ::= <b>[§<a href = "1076_4.HTM#4.3.3"> 4.3.3</a>]</b>
<b>alias</b> alias_designator [ : subtype_indication ] <b>is</b> name [ signature ] ;
alias_designator ::= identifier | character_literal | operator_symbol <b>[§</b> <b><a href = "1076_4.HTM#4.3.3"> 4.3.3</a>]</b>
allocator ::= <b>[§<a href = "1076_7.HTM#7.3.6"> 7.3.6</a>]</b>
<b>new</b> subtype_indication
| <b>new</b> qualified_expression
architecture_body ::= <b>[§<a href = "1076_1.HTM#1.2"> 1.2</a>]</b>
<b>architecture</b> identifier <b>of</b> <i>entity</i>_name <b>is</b>
architecture_declarative_part
<b>begin</b>
architecture_statement_part
<b>end</b> [ <b>architecture</b> ] [ <i>architecture</i>_simple_name ] ;
architecture_declarative_part ::= <b>[§<a href = "1076_1.HTM#1.2.1"> 1.2.1</a>]</b>
{ block_declarative_item }
architecture_statement_part ::= <b>[§<a href = "1076_1.HTM#1.2.2"> 1.2.2</a>]</b>
{ concurrent_statement }
array_type_definition ::= <b>[§<a href = "1076_3.HTM#3.2.1"> 3.2.1</a>]</b>
unconstrained_array_definition | constrained_array_definition
assertion ::= <b>[§<a href = "1076_8.HTM#8.2"> 8.2</a>]</b>
<b>assert</b> condition
[ <b>report</b> expression ]
[ <b>severity</b> expression ]
assertion_statement ::= [ label : ] assertion ; <b>[§<a href = "1076_8.HTM#8.2"> 8.2</a>]</b>
<b> </b>association_element ::= <b>[§<a href = "1076_4.HTM#4.3.2.2"> 4.3.2.2</a>]</b>
[ formal_part => ] actual_part
association_list ::= <b>[§<a href = "1076_4.HTM#4.3.2.2"> 4.3.2.2</a>]</b>
association_element { , association_element }
attribute_declaration : <b>[§<a href = "1076_4.HTM#4.4"> 4.4</a>]</b>
<b> attribute</b> identifier : type_mark ;
attribute_designator ::= <i>attribute</i>_simple_name <b>[§<a href = "1076_6.HTM#6.6"> 6.6</a>]</b>
</pre>
<pre> attribute_name ::= <b>[§<a href = "1076_6.HTM#6.6"> 6.6</a>]</b>
prefix [ signature ] ' attribute_designator [ ( expression ) ]
attribute_specification ::= <b>[§<a href = "1076_5.HTM#5.1"> 5.1</a>]</b>
<b>attribute </b>attribute_designator <b>of</b> entity_specification <b>is </b>expression ;
base ::= integer <b>[</b>§<b><a href = "1076_13.HTM#13.4.2"> 13.4.2</a>]</b>
base_specifier ::= B | O | X <b>[§<a href = "1076_13.HTM#13.7"> 13.7</a>]</b>
based_integer ::= <b>[§<a href = "1076_13.HTM#13.4.2"> 13.4.2</a>]</b>
extended_digit { [ underline ] extended_digit }
based_literal ::= <b>[§<a href = "1076_13.HTM#13.4.2"> 13.4.2</a>]</b>
base # based_integer [ . based_integer ] # [ exponent ]
basic_character ::= <b>[§<a href = "1076_13.HTM#13.1"> 13.1</a>]</b>
basic_graphic_character | format_effector
basic_graphic_character ::= <b>[§<a href = "1076_13.HTM#13.1"> 13.1</a>]</b>
<b></b> upper_case_letter | digit | special_character| space_character
basic_identifier ::= letter { [ underline ] letter_or_digit } <b>[§<a href = "1076_13.HTM#13.3.1"> 13.3.1</a>]</b>
binding_indication ::= <b>[§<a href = "1076_5.HTM#5.2.1"> 5.2.1</a>]</b>
[ <b>use</b> entity_aspect ]
[ generic_map_aspect ]
[ port_map_aspect ]
<a name="bit_string_literal">bit_string_literal</a> ::= base_specifier " [ bit_value ] " <b>[§<a href = "1076_13.HTM#13.7"> 13.7</a>]</b>
<a name="bit_value">bit_value</a> ::= extended_digit { [ underline ] extended_digit } <b>[§<a href = "1076_13.HTM#13.7"> 13.7</a>]</b>
block_configuration ::= <b>[§<a href = "1076_1.HTM#1.3.1"> 1.3.1</a>]</b>
<b>for</b> block_specification
{ use_clause }
{ configuration_item }
<b>end</b> <b>for</b> ;
block_declarative_item ::= <b>[§<a href = "1076_1.HTM#1.2.1"> 1.2.1</a>]</b>
subprogram_declaration
| subprogram_body
| type_declaration
| subtype_declaration
| constant_declaration
| signal_declaration
| <i>shared</i>_variable_declaration
| file_declaration
| alias_declaration
| component_declaration
| attribute_declaration
| attribute_specification
| configuration_specification
| disconnection_specification
| use_clause
| group_template_declaration
| group_declaration
block_declarative_part ::= <b>[§<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
</pre>
<pre> { block_declarative_item }
block_header ::= <b>[§<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
[ generic_clause
[ generic_map_aspect ; ] ]
[ port_clause
[ port_map_aspect ; ] ]
block_specification ::= <b>[§<a href = "1076_1.HTM#1.3.1"> 1.3.1</a>]</b>
<i>architecture</i>_name
| <i>block_statement</i>_label
| <i>generate_statement</i>_label [ ( index_specification ) ]
block_statement ::= <b>[§<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
<i>block</i>_label :
<b>block</b> [ ( <i>guard</i>_expression ) ] [ <b>is</b> ]
block_header
block_declarative_part
<b>begin</b>
block_statement_part
<b>end block</b> [ <i>block</i>_label ] ;
block_statement_part ::= <b>[§<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
{ concurrent_statement }
case_statement ::= <b>[§<a href = "1076_8.HTM#8.8"> 8.8</a>]</b>
[ <i>case</i>_label : ]
<b>case</b> expression <b>is</b>
case_statement_alternative
{ case_statement_alternative }
<b> end case</b> [ <i>case</i>_label ]<b> </b>;
case_statement_alternative ::= <b>[§<a href = "1076_8.HTM#8.8"> 8.8</a>]</b>
<b>when</b> choices =>
sequence_of_statements
character_literal ::= ' graphic_character ' <b>[§<a href = "1076_13.HTM#13.5"> 13.5</a>]</b>
choice ::= <b>[§<a href = "1076_7.HTM#7.3.2"> 7.3.2</a>]</b>
simple_expression
| discrete_range
| <i>element</i>_simple_name
| <b>others</b>
<b> </b>choices ::= choice { | choice } <b>[§<a href = "1076_7.HTM#7.3.2"> 7.3.2</a>]</b>
component_configuration ::= <b>[§<a href = "1076_1.HTM#1.3.2"> 1.3.2</a>]</b>
<b>for</b> component_specification
[ binding_indication ; ]
[ block_configuration ]
<b>end</b> <b>for</b> ;
component_declaration ::= <b>[§<a href = "1076_4.HTM#4.5"> 4.5</a>]</b>
<b>component</b> identifier [ <b>is</b> ]
[ <i>local</i>_generic_clause ]
[ <i>local</i>_port_clause ]
<b>end component</b> [ <i>component</i>_simple_name ] ;
component_instantiation_statement ::= <b>[§<a href = "1076_9.HTM#9.6"> 9.6</a>]</b>
<i>instantiation</i>_label :
instantiated_unit
[ generic_map_aspect ]
[ port_map_aspect ] ;
component_specification ::= <b>[§<a href = "1076_5.HTM#5.2"> 5.2</a>]</b>
</pre>
<pre> instantiation_list : <i>component</i>_name
composite_type_definition ::= <b>[§<a href = "1076_3.HTM#3.2"> 3.2</a>]</b>
array_type_definition
| record_type_definition
concurrent_assertion_statement ::= <b>[§<a href = "1076_9.HTM#9.4"> 9.4</a>]</b>
[ label : ] [ <b>postponed</b> ] assertion ;
concurrent_procedure_call_statement ::= <b>[§<a href = "1076_9.HTM#9.3"> 9.3</a>]</b>
[ label : ] [ <b>postponed</b> ] procedure_call ;
concurrent_signal_assignment_statement ::= <b>[§<a href = "1076_9.HTM#9.5"> 9.5</a>]</b>
[ label : ] [ <b>postponed</b> ] conditional_signal_assignment
| [ label : ] [ <b>postponed</b> ] selected_signal_assignment
concurrent_statement ::= <b>[§ 9]</b>
block_statement
| process_statement
| concurrent_procedure_call_statement
| concurrent_assertion_statement
| concurrent_signal_assignment_statement
| component_instantiation_statement
| generate_statement
condition ::= <i>boolean</i>_expression <b>[§<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>
condition_clause ::= <b>until</b> condition <b>[§<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>
conditional_signal_assignment ::= <b>[§<a href = "1076_9.HTM#9.5.1"> 9.5.1</a>]</b>
target<i> </i> <= options conditional_waveforms ;
conditional_waveforms ::= <b>[§<a href = "1076_9.HTM#9.5.1"> 9.5.1</a>]</b>
</pre>
</body></html>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -