OpenCores
URL https://opencores.org/ocsvn/potato/potato/trunk

Subversion Repositories potato

[/] [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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.