--------------------------------------------------------------------------------
0 |
--------------------------------------------------------------------------------
1 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
2 | architecture RTL of FIFO is
<class 'vsg.token.architecture_body.architecture_keyword'>
<class 'vsg.token.architecture_body.identifier'>
<class 'vsg.token.architecture_body.of_keyword'>
<class 'vsg.token.architecture_body.entity_name'>
<class 'vsg.token.architecture_body.is_keyword'>
--------------------------------------------------------------------------------
3 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
4 | begin
<class 'vsg.token.architecture_body.begin_keyword'>
--------------------------------------------------------------------------------
5 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
6 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
7 |   a <= b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
8 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
9 |   -- with guarded
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
10 |   a <= guarded b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.concurrent_simple_signal_assignment.guarded_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
11 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
12 |   -- with transport delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
13 |   a <= transport b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.delay_mechanism.transport_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
14 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
15 |   -- with inertial delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
16 |   a <= inertial b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
17 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
18 |   -- with reject delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
19 |   a <= reject 10 ns inertial b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.delay_mechanism.reject_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.todo'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
20 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
21 |   -- with guarded and transport delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
22 |   a <= guarded transport b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.concurrent_simple_signal_assignment.guarded_keyword'>
<class 'vsg.token.delay_mechanism.transport_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
23 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
24 |   -- with guarded and inertial delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
25 |   a <= guarded inertial b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.concurrent_simple_signal_assignment.guarded_keyword'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
26 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
27 |   -- with guarded and reject delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
28 |   a <= guarded reject 10 ns inertial b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.concurrent_simple_signal_assignment.guarded_keyword'>
<class 'vsg.token.delay_mechanism.reject_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.todo'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
29 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
30 |   -- test unary operators
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
31 |   a <= (others => func(and b, or b, nand b, or b, nor b, xnor b));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.unary_logical_operator.and_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.comma'>
<class 'vsg.token.unary_logical_operator.or_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.comma'>
<class 'vsg.token.unary_logical_operator.nand_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.comma'>
<class 'vsg.token.unary_logical_operator.or_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.comma'>
<class 'vsg.token.unary_logical_operator.nor_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.comma'>
<class 'vsg.token.unary_logical_operator.xnor_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
32 |   a <= (others => func(nand b));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.unary_logical_operator.nand_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
33 |   a <= (others => func(or b));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.unary_logical_operator.or_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
34 |   a <= (others => func(nor b));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.unary_logical_operator.nor_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
35 |   a <= (others => func(xor b));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.unary_logical_operator.xor_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
36 |   a <= (others => func(xnor b));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.unary_logical_operator.xnor_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
37 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
38 |   U_FIFO : entity something.somethingelse
<class 'vsg.token.component_instantiation_statement.instantiation_label'>
<class 'vsg.token.component_instantiation_statement.label_colon'>
<class 'vsg.token.instantiated_unit.entity_keyword'>
<class 'vsg.token.instantiated_unit.library_name'>
<class 'vsg.token.instantiated_unit.dot'>
<class 'vsg.token.instantiated_unit.entity_name'>
--------------------------------------------------------------------------------
39 |     generic map (
<class 'vsg.token.generic_map_aspect.generic_keyword'>
<class 'vsg.token.generic_map_aspect.map_keyword'>
<class 'vsg.token.generic_map_aspect.open_parenthesis'>
--------------------------------------------------------------------------------
40 |       G_FIRST => (blah <= 0),
<class 'vsg.token.association_element.formal_part'>
<class 'vsg.token.association_element.assignment'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
--------------------------------------------------------------------------------
41 |       G_SECOND => 3
<class 'vsg.token.association_element.formal_part'>
<class 'vsg.token.association_element.assignment'>
<class 'vsg.token.association_element.actual_part'>
--------------------------------------------------------------------------------
42 |     )
<class 'vsg.token.generic_map_aspect.close_parenthesis'>
--------------------------------------------------------------------------------
43 |     port map (
<class 'vsg.token.port_map_aspect.port_keyword'>
<class 'vsg.token.port_map_aspect.map_keyword'>
<class 'vsg.token.port_map_aspect.open_parenthesis'>
--------------------------------------------------------------------------------
44 |       I_INPUT => blah2
<class 'vsg.token.association_element.formal_part'>
<class 'vsg.token.association_element.assignment'>
<class 'vsg.token.association_element.actual_part'>
--------------------------------------------------------------------------------
45 |     );
<class 'vsg.token.port_map_aspect.close_parenthesis'>
<class 'vsg.token.component_instantiation_statement.semicolon'>
--------------------------------------------------------------------------------
46 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
47 | end architecture RTL;
<class 'vsg.token.architecture_body.end_keyword'>
<class 'vsg.token.architecture_body.end_architecture_keyword'>
<class 'vsg.token.architecture_body.architecture_simple_name'>
<class 'vsg.token.architecture_body.semicolon'>
