URL
https://opencores.org/ocsvn/potato/potato/trunk
[/] [potato/] [trunk/] [src/] [pp_alu_control_unit.vhd] - Diff between revs 3 and 14
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 3 |
Rev 14 |
Line 87... |
Line 87... |
when b"110" =>
|
when b"110" =>
|
alu_op <= ALU_OR;
|
alu_op <= ALU_OR;
|
when b"111" =>
|
when b"111" =>
|
alu_op <= ALU_AND;
|
alu_op <= ALU_AND;
|
when others =>
|
when others =>
|
alu_op <= ALU_NOP;
|
alu_op <= ALU_INVALID;
|
end case;
|
end case;
|
when b"01100" => -- Register-register operations
|
when b"01100" => -- Register-register operations
|
alu_x_src <= ALU_SRC_REG;
|
alu_x_src <= ALU_SRC_REG;
|
alu_y_src <= ALU_SRC_REG;
|
alu_y_src <= ALU_SRC_REG;
|
|
|
Line 119... |
Line 119... |
when b"110" =>
|
when b"110" =>
|
alu_op <= ALU_OR;
|
alu_op <= ALU_OR;
|
when b"111" =>
|
when b"111" =>
|
alu_op <= ALU_AND;
|
alu_op <= ALU_AND;
|
when others =>
|
when others =>
|
alu_op <= ALU_NOP;
|
alu_op <= ALU_INVALID;
|
end case;
|
end case;
|
|
when b"00011" => -- Fence instructions, ignored
|
|
alu_x_src <= ALU_SRC_REG;
|
|
alu_y_src <= ALU_SRC_REG;
|
|
alu_op <= ALU_NOP;
|
when b"11100" => -- System instructions
|
when b"11100" => -- System instructions
|
alu_x_src <= ALU_SRC_CSR;
|
alu_x_src <= ALU_SRC_CSR;
|
alu_y_src <= ALU_SRC_NULL;
|
alu_y_src <= ALU_SRC_NULL;
|
alu_op <= ALU_ADD;
|
alu_op <= ALU_ADD;
|
when others =>
|
when others =>
|
alu_x_src <= ALU_SRC_REG;
|
alu_x_src <= ALU_SRC_REG;
|
alu_y_src <= ALU_SRC_REG;
|
alu_y_src <= ALU_SRC_REG;
|
alu_op <= ALU_NOP;
|
alu_op <= ALU_INVALID;
|
end case;
|
end case;
|
end process decode_alu;
|
end process decode_alu;
|
|
|
end architecture behaviour;
|
end architecture behaviour;
|
|
|
No newline at end of file
|
No newline at end of file
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.