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

📄 1076_axa.html

📁 basic exemple. Do an ADD of two 4 bits numbers
💻 HTML
📖 第 1 页 / 共 4 页
字号:
</pre>
<pre>            subprogram_declaration
         | subprogram_body
         | type_declaration
         | subtype_declaration
         | constant_declaration
         | variable_declaration
         | file_declaration
         | alias_declaration
         | attribute_declaration
         | attribute_specification
         | use_clause
         | group_template_declaration
         | group_declaration

     process_declarative_part ::=                                                             <b>[&#167</b>; <b>  <a href = "1076_9.HTM#9.2"> 9.2</a>]</b>
         { process_declarative_item }

     process_statement ::=                                                                    <b>[&#167;<a href = "1076_9.HTM#9.2"> 9.2</a>]</b>
         [ <i>process</i>_label : ]
              [ <b>postponed</b> ] <b>process</b> [ ( sensitivity_list ) ] [ <b>is</b> ]
                   process_declarative_part
              <b>begin</b>
                   process_statement_part
              <b>end</b> [ <b>postponed</b> ]<b> process</b> [ <i>process</i>_label ] ;

     process_statement_part ::=                                                                <b>[&#167;<a href = "1076_9.HTM#9.2"> 9.2</a>]</b>
         { sequential_statement }

     qualified_expression ::=                                                                <b>[&#167;<a href = "1076_7.HTM#7.3.4"> 7.3.4</a>]</b>
            type_mark ' ( expression )
         | type_mark ' aggregate
     range ::=                                                                                 <b>[&#167;<a href = "1076_3.HTM#3.1"> 3.1</a>]</b>
            <i>range</i>_attribute_name
         | simple_expression direction simple_expression

     range_constraint ::=  <b>range</b> range                                                         <b>[&#167;<a href = "1076_3.HTM#3.1"> 3.1</a>]</b>

     record_type_definition ::=                                                              <b>[&#167;<a href = "1076_3.HTM#3.2.2"> 3.2.2</a>]</b>
         <b>record</b>
              element_declaration
             { element_declaration }
         <b>end</b> <b>record</b> [ <i>record_type</i>_simple_name ]

     relation ::=                                                                              <b>[&#167;<a href = "1076_7.HTM#7.1"> 7.1</a>]</b>
         shift_expression [ relational_operator shift_expression ]

     relational_operator ::=   =  |  /=  |  &lt;  |  &lt;=  |  >  |  >=                              <b>[&#167;<a href = "1076_7.HTM#7.2"> 7.2</a>]</b>

     report_statement ::=                                                                      <b>[&#167;<a href = "1076_8.HTM#8.3"> 8.3</a>]</b>
         [ label : ] 
              <b>report</b> expression
               [ <b>severity</b> expression ] ;

     return_statement ::=                                                                     <b>[&#167;<a href = "1076_8.HTM#8.12"> 8.12</a>]</b>
        [ label : ] <b>return</b> [ expression ] ;

     scalar_type_definition ::=                                                                <b>[&#167;<a href = "1076_3.HTM#3.1"> 3.1</a>]</b>
            enumeration_type_definition  | integer_type_definition
         | floating_type_definition          | physical_type_definition

     secondary_unit ::=                                                                       <b>[&#167;<a href = "1076_11.HTM#11.1"> 11.1</a>]</b>
           architecture_body
        | package_body

     secondary_unit_declaration ::=  identifier = physical_literal ;                          <b>[&#167;<a href = "1076_3.HTM#3.1.3"> 3.1.3</a>]</b>

     selected_name ::=  prefix . suffix                                                        <b>[&#167;<a href = "1076_6.HTM#6.3"> 6.3</a>]</b>

     selected_signal_assignment ::=                                                          <b>[&#167;<a href = "1076_9.HTM#9.5.2"> 9.5.2</a>]</b>
</pre>
<pre>         <b>with</b> expression <b>select</b>
              target &lt;= options selected_waveforms ;

     selected_waveforms ::=                                                                  <b>[&#167;<a href = "1076_9.HTM#9.5.2"> 9.5.2</a>]</b>
         { waveform <b>when</b> choices , }
           waveform <b>when</b> choices

     sensitivity_clause ::=  <b>on</b> sensitivity_list                                               <b>[&#167;<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>

     sensitivity_list ::=  <i>signal</i>_name { , <i>signal</i>_name }                                     <b>  [&#167;<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>

     sequence_of_statements ::=                                                                  <b>[&#167; 8]</b>
         { sequential_statement }

     sequential_statement ::=                                                                    <b>[&#167; 8]</b>
           wait_statement
        | assertion_statement
        | report_statement
        | signal_assignment_statement
        | variable_assignment_statement
        | procedure_call_statement
        | if_statement
        | case_statement
        | loop_statement
        | next_statement
        | exit_statement
        | return_statement
        | null_statement

     shift_expression ::=                                                                      <b>[&#167;<a href = "1076_7.HTM#7.1"> 7.1</a>]</b>
          simple_expression [ shift_operator simple_expression ]

     shift_operator ::=  <b>sll</b> | <b>srl</b> | <b>sla</b> | <b>sra</b> | <b>rol</b> | <b>ror</b>                                     <b>[&#167;<a href = "1076_7.HTM#7.2"> 7.2</a>]</b>

     sign ::=  + | -                                                                           <b>[&#167;<a href = "1076_7.HTM#7.2"> 7.2</a>]</b>

     signal_assignment_statement ::=                                                           <b>[&#167;<a href = "1076_8.HTM#8.4"> 8.4</a>]</b>
         [ label : ] target &lt;= [ delay_mechanism ] waveform ;

     signal_declaration ::=                                                                <b>[&#167;<a href = "1076_4.HTM#4.3.1.2"> 4.3.1.2</a>]</b>
         <b>signal</b> identifier_list : subtype_indication [ signal_kind ] [ := expression ] ;

     signal_kind ::=  <b>register</b>  |  <b>bus                                                     [&#167</b>; <b>  <a href = "1076_4.HTM#4.3.1.2"> 4.3.1.2</a>]</b>

     signal_list ::=                                                                           <b>[&#167;<a href = "1076_5.HTM#5.3"> 5.3</a>]</b>
            <i>signal</i>_name { , <i>signal</i>_name }
         | <b>others</b>
         | <b>all</b>

     signature ::=  [ [ type_mark { , type_mark } ] [ <b>return</b> type_mark ] ]                   <b>[&#167;<a href = "1076_2.HTM#2.3.2"> 2.3.2</a>]</b>
   
     simple_expression ::=                                                                     <b>[&#167;<a href = "1076_7.HTM#7.1"> 7.1</a>]</b>
         [ sign ] term { adding_operator term }

     simple_name ::=  identifier                                                               <b>[&#167;<a href = "1076_6.HTM#6.2"> 6.2</a>]</b>

     slice_name ::=  prefix ( discrete_range )                                                 <b>[&#167;<a href = "1076_6.HTM#6.5"> 6.5</a>]</b>

     string_literal ::=  " { graphic_character } "                                            <b>[&#167;<a href = "1076_13.HTM#13.6"> 13.6</a>]</b>

     subprogram_body ::=                                                                       <b>[&#167;<a href = "1076_2.HTM#2.2"> 2.2</a>]</b>
         subprogram_specification <b>is</b>
<b>             </b>subprogram_declarative_part
         <b>begin</b>
             subprogram_statement_part
         <b>end</b> [ subprogram_kind ] [ designator ] ;

     subprogram_declaration ::=                                                                <b>[&#167;<a href = "1076_2.HTM#2.1"> 2.1</a>]</b>
</pre>
<pre>        subprogram_specification ;

     subprogram_declarative_item ::=                                                           <b>[&#167;<a href = "1076_2.HTM#2.2"> 2.2</a>]</b>
            subprogram_declaration
         | subprogram_body
         | type_declaration
         | subtype_declaration
         | constant_declaration
         | variable_declaration
         | file_declaration
         | alias_declaration
         | attribute_declaration
         | attribute_specification
         | use_clause
         | group_template_declaration
         | group_declaration

     subprogram_declarative_part ::=                                                           <b>[&#167;<a href = "1076_2.HTM#2.2"> 2.2</a>]</b>
        { subprogram_declarative_item }

     subprogram_kind ::=  <b>procedure</b> | <b>function</b>                                                 <b>[&#167;<a href = "1076_2.HTM#2.2"> 2.2</a>]</b>

     subprogram_specification ::=                                                              <b>[&#167;<a href = "1076_2.HTM#2.1"> 2.1</a>]</b>
           <b>procedure</b> designator [ ( formal_parameter_list ) ]
        | [ <b>pure</b> | <b>impure</b> ] <b>function</b> designator [ ( formal_parameter_list ) ]
                   <b>return</b> type_mark

     subprogram_statement_part ::=                                                             <b>[&#167;<a href = "1076_2.HTM#2.2"> 2.2</a>]</b>
        { sequential_statement }

     subtype_declaration ::=                                                                   <b>[&#167;<a href = "1076_4.HTM#4.2"> 4.2</a>]</b>
        <b>subtype</b> identifier <b>is</b> subtype_indication ;

     subtype_indication ::=                                                                    <b>[&#167;<a href = "1076_4.HTM#4.2"> 4.2</a>]</b>
        [ <i>resolution_function</i>_name ] type_mark [ constraint ]

     suffix ::=                                                                                <b>[&#167;<a href = "1076_6.HTM#6.3"> 6.3</a>]</b>
            simple_name
         | character_literal
         | operator_symbol
         | <b>all</b>

     target ::=                                                                                <b>[&#167;<a href = "1076_8.HTM#8.4"> 8.4</a>]</b>
         name
         | aggregate

     term ::=                                                                                  <b>[&#167;<a href = "1076_7.HTM#7.1"> 7.1</a>]</b>
         factor { multiplying_operator factor }

     timeout_clause ::=  <b>for</b> <i>time</i>_expression                                                   <b>[&#167;<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>
 
     type_conversion ::=  type_mark ( expression )                                           <b>[&#167;<a href = "1076_7.HTM#7.3.5"> 7.3.5</a>]</b>

     type_declaration ::=                                                                      <b>[&#167;<a href = "1076_4.HTM#4.1"> 4.1</a>]</b>
            full_type_declaration
         | incomplete_type_declaration

     type_definition ::=                                                                       <b>[&#167;<a href = "1076_4.HTM#4.1"> 4.1</a>]</b>
           scalar_type_definition
         | composite_type_definition
         | access_type_definition
         | file_type_definition

     type_mark ::=                                                                             <b>[&#167;<a href = "1076_4.HTM#4.2"> 4.2</a>]</b>
            <i>type</i>_name
         | <i>subtype</i>_name

     unconstrained_array_definition ::=                                                      <b>[&#167;<a href = "1076_3.HTM#3.2.1"> 3.2.1</a>]</b>
</pre>
<pre>         <b>array</b> ( index_subtype_definition { , index_subtype_definition } )
              <b>of</b> <i>element</i>_subtype_indication

     use_clause ::=                                                                           <b>[&#167;<a href = "1076_10.HTM#10.4"> 10.4</a>]</b>
         <b>use</b> selected_name { , selected_name } ;

     variable_assignment_statement ::=                                                         <b>[&#167;<a href = "1076_8.HTM#8.5"> 8.5</a>]</b>
         [ label : ] target<i> </i> := expression ;

     variable_declaration ::=                                                              <b>[&#167;<a href = "1076_4.HTM#4.3.1.3"> 4.3.1.3</a>]</b>
         [ <b>shared</b> ] <b>variable</b> identifier_list : subtype_indication [ := expression ] ;

     wait_statement ::=                                                                        <b>[&#167;<a href = "1076_8.HTM#8.1"> 8.1</a>]</b>
         [ label : ] <b>wait</b> [ sensitivity_clause ] [ condition_clause ] [ timeout_clause ] ;

     waveform ::=                                                                              <b>[&#167;<a href = "1076_8.HTM#8.4"> 8.4</a>]</b>
          waveform_element { , waveform_element }
        | <b>unaffected</b>

     waveform_element ::=                                                                    <b>[&#167;<a href = "1076_8.HTM#8.4.1"> 8.4.1</a>]</b>
<i>          value</i>_expression [ <b>after</b> <i>time</i>_expression ]
        | <b>null</b> [ <b>after</b> <i>time</i>_expression ]
</pre>
<HR>
<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>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -