--------------------------------------------------------------------------------
0 |
--------------------------------------------------------------------------------
1 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
2 | architecture RTL of ENTITY_NAME 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 |   process
<class 'vsg.token.process_statement.process_keyword'>
--------------------------------------------------------------------------------
7 |   begin
<class 'vsg.token.process_statement.begin_keyword'>
--------------------------------------------------------------------------------
8 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
9 |     I1: if Status_Signal = hold
<class 'vsg.token.if_statement.if_label'>
<class 'vsg.token.if_statement.label_colon'>
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.todo'>
--------------------------------------------------------------------------------
10 |           then A1: Outputs <= 'X';
<class 'vsg.token.if_statement.then_keyword'>
<class 'vsg.token.signal_assignment_statement.label'>
<class 'vsg.token.signal_assignment_statement.label_colon'>
<class 'vsg.token.simple_waveform_assignment.target'>
<class 'vsg.token.simple_waveform_assignment.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.simple_waveform_assignment.semicolon'>
--------------------------------------------------------------------------------
11 |         end if I1;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.end_if_label'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
12 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
13 |     I2: if x = '1' and y = '1'
<class 'vsg.token.if_statement.if_label'>
<class 'vsg.token.if_statement.label_colon'>
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.logical_operator.and_operator'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.character_literal'>
--------------------------------------------------------------------------------
14 |             then return '1';
<class 'vsg.token.if_statement.then_keyword'>
<class 'vsg.token.return_statement.return_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.return_statement.semicolon'>
--------------------------------------------------------------------------------
15 |           else return '0';
<class 'vsg.token.if_statement.else_keyword'>
<class 'vsg.token.return_statement.return_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.return_statement.semicolon'>
--------------------------------------------------------------------------------
16 |           end if I2;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.end_if_label'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
17 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
18 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
19 |     I3: if Code_of_Operation(1) = '1'
<class 'vsg.token.if_statement.if_label'>
<class 'vsg.token.if_statement.label_colon'>
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.character_literal'>
--------------------------------------------------------------------------------
20 |           then F := Operand_1 + Operand_2;
<class 'vsg.token.if_statement.then_keyword'>
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.adding_operator.plus'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
21 |         elsif Code_of_Operation(0) = '1'
<class 'vsg.token.if_statement.elsif_keyword'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.character_literal'>
--------------------------------------------------------------------------------
22 |           then F := Operand_1 - Operand_2;
<class 'vsg.token.if_statement.then_keyword'>
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.adding_operator.minus'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
23 |           else F := "00000000";
<class 'vsg.token.if_statement.else_keyword'>
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
24 |         end if I3;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.end_if_label'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
25 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
26 |     if Status = RUN
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.todo'>
--------------------------------------------------------------------------------
27 |       then
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
28 |         if Code_of_Operation = CONC
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.todo'>
--------------------------------------------------------------------------------
29 |           then
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
30 |             F := Operand_1 & Operand_2 ;
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.adding_operator.concat'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
31 |           else
<class 'vsg.token.if_statement.else_keyword'>
--------------------------------------------------------------------------------
32 |             F := "00000000";
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
33 |         end if;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
34 |       Output_1 <= F;
<class 'vsg.token.simple_waveform_assignment.target'>
<class 'vsg.token.simple_waveform_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_waveform_assignment.semicolon'>
--------------------------------------------------------------------------------
35 |     end if;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
36 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
37 |     if a = b then
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.equal'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
38 |       wait for 10 ns;
<class 'vsg.token.wait_statement.wait_keyword'>
<class 'vsg.token.timeout_clause.for_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.todo'>
<class 'vsg.token.wait_statement.semicolon'>
--------------------------------------------------------------------------------
39 |     else
<class 'vsg.token.if_statement.else_keyword'>
--------------------------------------------------------------------------------
40 |       wait for 20 ns;
<class 'vsg.token.wait_statement.wait_keyword'>
<class 'vsg.token.timeout_clause.for_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.todo'>
<class 'vsg.token.wait_statement.semicolon'>
--------------------------------------------------------------------------------
41 |     end if;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
42 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
43 |     if a ?= b then
<class 'vsg.token.if_statement.if_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.question_equal'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
44 |     elsif a ?/= b then
<class 'vsg.token.if_statement.elsif_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.relational_operator.question_not_equal'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
45 |     elsif ?< b then
<class 'vsg.token.if_statement.elsif_keyword'>
<class 'vsg.token.relational_operator.question_less_than'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
46 |     elsif ?<= b then
<class 'vsg.token.if_statement.elsif_keyword'>
<class 'vsg.token.relational_operator.question_less_than_or_equal'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
47 |     elsif ?> b then
<class 'vsg.token.if_statement.elsif_keyword'>
<class 'vsg.token.relational_operator.question_greater_than'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
48 |     elsif ?>= b then
<class 'vsg.token.if_statement.elsif_keyword'>
<class 'vsg.token.relational_operator.question_greater_than_or_equal'>
<class 'vsg.parser.todo'>
<class 'vsg.token.if_statement.then_keyword'>
--------------------------------------------------------------------------------
49 |     end if;
<class 'vsg.token.if_statement.end_keyword'>
<class 'vsg.token.if_statement.end_if_keyword'>
<class 'vsg.token.if_statement.semicolon'>
--------------------------------------------------------------------------------
50 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
51 |   end process;
<class 'vsg.token.process_statement.end_keyword'>
<class 'vsg.token.process_statement.end_process_keyword'>
<class 'vsg.token.process_statement.semicolon'>
--------------------------------------------------------------------------------
52 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
53 | 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'>
