⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1076_axa.html

📁 basic exemple. Do an ADD of two 4 bits numbers
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<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>[&#167;<a href = "1076_13.HTM#13.4"> 13.4</a>]</b>

     access_type_definition ::=  <b>access</b> subtype_indication				<b>[&#167;<a href = "1076_3.HTM#3.3"> 3.3</a>  ]</b>
     
     actual_designator ::=                                        				<b>[&#167;<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>[&#167;<a href = "1076_7.HTM#7.3.3"> 7.3.3</a>]</b>

     actual_part ::=                                              				<b>[&#167;<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 ::=  + | -  | &amp;                              				<b>[&#167;<a href = "1076_7.HTM#7.2"> 7.2</a>]</b>

     aggregate ::=                                               				<b>[&#167;<a href = "1076_7.HTM#7.3.2"> 7.3.2</a>]</b>
         ( element_association { , element_association } )

     alias_declaration ::=                                                                   	<b>[&#167;<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>[&#167;</b> <b><a href = "1076_4.HTM#4.3.3"> 4.3.3</a>]</b>

     allocator ::=                                                                           	<b>[&#167;<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>[&#167;<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>[&#167;<a href = "1076_1.HTM#1.2.1"> 1.2.1</a>]</b>
          { block_declarative_item }

     architecture_statement_part ::=                                                         	<b>[&#167;<a href = "1076_1.HTM#1.2.2"> 1.2.2</a>]</b>
          { concurrent_statement }

     array_type_definition ::=                                                               	<b>[&#167;<a href = "1076_3.HTM#3.2.1"> 3.2.1</a>]</b>
          unconstrained_array_definition  |  constrained_array_definition

     assertion ::=                                                                             	<b>[&#167;<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>[&#167;<a href = "1076_8.HTM#8.2"> 8.2</a>]</b>

<b>     </b>association_element ::=                                                              <b>[&#167;<a href = "1076_4.HTM#4.3.2.2"> 4.3.2.2</a>]</b>
         [ formal_part => ] actual_part

     association_list ::=                                                                  	<b>[&#167;<a href = "1076_4.HTM#4.3.2.2"> 4.3.2.2</a>]</b>
         association_element { , association_element }

     attribute_declaration :                                                                   	<b>[&#167;<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>[&#167;<a href = "1076_6.HTM#6.6"> 6.6</a>]</b>
</pre>
<pre>     attribute_name ::=                                                                    <b>[&#167;<a href = "1076_6.HTM#6.6"> 6.6</a>]</b>
          prefix [ signature ] ' attribute_designator [ ( expression ) ]

     attribute_specification ::=                                                               	<b>[&#167;<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>&#167;<b><a href = "1076_13.HTM#13.4.2"> 13.4.2</a>]</b>

     base_specifier ::=  B | O | X                                                            	<b>[&#167;<a href = "1076_13.HTM#13.7"> 13.7</a>]</b>

     based_integer ::=                                                                      	<b>[&#167;<a href = "1076_13.HTM#13.4.2"> 13.4.2</a>]</b>
         extended_digit { [ underline ] extended_digit }

     based_literal ::=                                                                     	<b>[&#167;<a href = "1076_13.HTM#13.4.2"> 13.4.2</a>]</b>
         base # based_integer [ . based_integer ] # [ exponent ]

     basic_character ::=                                                                      	<b>[&#167;<a href = "1076_13.HTM#13.1"> 13.1</a>]</b>
         basic_graphic_character | format_effector

     basic_graphic_character ::=                                                              	<b>[&#167;<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>[&#167;<a href = "1076_13.HTM#13.3.1"> 13.3.1</a>]</b>

     binding_indication ::=                                                                  	<b>[&#167;<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>[&#167;<a href = "1076_13.HTM#13.7"> 13.7</a>]</b>

     <a name="bit_value">bit_value</a> ::=  extended_digit { [ underline ] extended_digit }                           <b>[&#167;<a href = "1076_13.HTM#13.7"> 13.7</a>]</b>

     block_configuration ::=                                                                 	<b>[&#167;<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>[&#167;<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>[&#167;<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
</pre>
<pre>        { block_declarative_item }

     block_header ::=                                                                         	<b>[&#167;<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
        [ generic_clause
        [ generic_map_aspect ; ] ]
        [ port_clause
        [ port_map_aspect ; ] ]

     block_specification ::=                                                                 	<b>[&#167;<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>[&#167;<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>[&#167;<a href = "1076_9.HTM#9.1"> 9.1</a>]</b>
        { concurrent_statement }

     case_statement ::=										<b>[&#167;<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>[&#167;<a href = "1076_8.HTM#8.8"> 8.8</a>]</b>
         <b>when</b> choices =>
            sequence_of_statements

     character_literal ::= ' graphic_character '                                              	<b>[&#167;<a href = "1076_13.HTM#13.5"> 13.5</a>]</b>

     choice ::=                                                                              	<b>[&#167;<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>[&#167;<a href = "1076_7.HTM#7.3.2"> 7.3.2</a>]</b>

     component_configuration ::=                                                             <b>[&#167;<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>[&#167;<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>[&#167;<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>[&#167;<a href = "1076_5.HTM#5.2"> 5.2</a>]</b>
</pre>
<pre>        instantiation_list : <i>component</i>_name

     composite_type_definition ::=                                                             <b>[&#167;<a href = "1076_3.HTM#3.2"> 3.2</a>]</b>
          array_type_definition
        | record_type_definition

     concurrent_assertion_statement ::=                                                        <b>[&#167;<a href = "1076_9.HTM#9.4"> 9.4</a>]</b>
        [ label : ] [ <b>postponed</b> ] assertion ;

     concurrent_procedure_call_statement ::=                                                   <b>[&#167;<a href = "1076_9.HTM#9.3"> 9.3</a>]</b>
        [ label : ] [ <b>postponed</b> ] procedure_call ;

     concurrent_signal_assignment_statement ::=                                                <b>[&#167;<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>[&#167; 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>[&#167;<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>

     condition_clause ::=  <b>until</b> condition                                                     <b>[&#167;<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>

     conditional_signal_assignment ::=                                                       <b>[&#167;<a href = "1076_9.HTM#9.5.1"> 9.5.1</a>]</b>
         target<i> </i> &lt;=  options conditional_waveforms ;

     conditional_waveforms ::=                                                               <b>[&#167;<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 + -