The code I'm having trouble with spits a control word into several pieces so they can be used by their respective circuits.
When I attempt to compile this code, I get two 10500 errors for each alias line: "Near text "alias"; expecting "end", or "(" or an identifier, or a concurrent statement" "Near text "is"; expecting ";", or "generic".
I tried adding an "end;" and "end alias" after the alias declarations, but it still returned the same errors.
I also attempted adding "signal" in various parts of the declaration, but this also still resulted in the same error.
Origially I had converted the std_logic_vector to bit_vector before ths block, and the alias output were bit types instead of std_logic, but I changed it to std_logic thinking the type conversion was the problem.
--Splits control word into specific sections.
Architecture split of t11214 is
Begin
Alias enable_input: std_logic is instruction(1);
Alias enable_output: std_logic is instruction(2);
Alias select_accumulator: std_logic is instruction(3);
Alias select_operand: std_logic_vector(1 to 2) is instruction(4 to 5);
Alias select_prcmp: std_logic_vector(1 to 2) is instruction(6 to 7);
Alias select_prenot: std_logic_vector(1 to 2) is instruction(8 to 9);
Alias select_function: std_logic_vector(1 to 2) is instruction(10 to 11);
Alias select_rng: std_logic is instruction(12);
Alias shift: std_logic_vector(1 to 4) is instruction(13 to 16);
End architecture split;
The Alias
is part of the declarations, so it must be before the Begin
, thus like:
Architecture split of t11214 is
...
Alias enable_input: std_logic is instruction(1);
...
Begin
...
End architecture split;