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

Subversion Repositories or1k_old

[/] [or1k_old/] [tags/] [rel_22/] [or1200/] [rtl/] [verilog/] [or1200_alu.v] - Diff between revs 504 and 562

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 504 Rev 562
Line 42... Line 42...
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//
//
// CVS Revision History
// CVS Revision History
//
//
// $Log: not supported by cvs2svn $
// $Log: not supported by cvs2svn $
 
// Revision 1.1  2002/01/03 08:16:15  lampret
 
// New prefixes for RTL files, prefixed module names. Updated cache controllers and MMUs.
 
//
// Revision 1.10  2001/11/12 01:45:40  lampret
// Revision 1.10  2001/11/12 01:45:40  lampret
// Moved flag bit into SR. Changed RF enable from constant enable to dynamic enable for read ports.
// Moved flag bit into SR. Changed RF enable from constant enable to dynamic enable for read ports.
//
//
// Revision 1.9  2001/10/21 17:57:16  lampret
// Revision 1.9  2001/10/21 17:57:16  lampret
// Removed params from generic_XX.v. Added translate_off/on in sprs.v and id.v. Removed spr_addr from dc.v and ic.v. Fixed CR+LF.
// Removed params from generic_XX.v. Added translate_off/on in sprs.v and id.v. Removed spr_addr from dc.v and ic.v. Fixed CR+LF.
Line 221... Line 224...
        case (shrot_op)         // synopsys parallel_case
        case (shrot_op)         // synopsys parallel_case
                `OR1200_SHROTOP_SLL :
                `OR1200_SHROTOP_SLL :
                                shifted_rotated = (a << b[4:0]);
                                shifted_rotated = (a << b[4:0]);
                `OR1200_SHROTOP_SRL :
                `OR1200_SHROTOP_SRL :
                                shifted_rotated = (a >> b[4:0]);
                                shifted_rotated = (a >> b[4:0]);
 
 
`ifdef OR1200_IMPL_ALU_ROTATE
`ifdef OR1200_IMPL_ALU_ROTATE
                `OR1200_SHROTOP_ROR :
                `OR1200_SHROTOP_ROR :
                                shifted_rotated = (a << (6'd32-{1'b0, b[4:0]})) | (a >> b[4:0]);
                                shifted_rotated = (a << (6'd32-{1'b0, b[4:0]})) | (a >> b[4:0]);
`endif
`endif
                default:
                default:
Line 235... Line 239...
//
//
// First type of compare implementation
// First type of compare implementation
//
//
`ifdef OR1200_IMPL_ALU_COMP1
`ifdef OR1200_IMPL_ALU_COMP1
always @(comp_op or a_eq_b or a_lt_b) begin
always @(comp_op or a_eq_b or a_lt_b) begin
        case(comp_op[2:0])       // synopsys parallel_case
        case(comp_op[2:0])       // synopsys parallel_case full_case
                `OR1200_COP_SFEQ:
                `OR1200_COP_SFEQ:
                        flagforw = a_eq_b;
                        flagforw = a_eq_b;
                `OR1200_COP_SFNE:
                `OR1200_COP_SFNE:
                        flagforw = ~a_eq_b;
                        flagforw = ~a_eq_b;
                `OR1200_COP_SFGT:
                `OR1200_COP_SFGT:
Line 261... Line 265...
//
//
// Second type of compare implementation
// Second type of compare implementation
//
//
`ifdef OR1200_IMPL_ALU_COMP2
`ifdef OR1200_IMPL_ALU_COMP2
always @(comp_op or comp_a or comp_b) begin
always @(comp_op or comp_a or comp_b) begin
        case(comp_op[2:0])       // synopsys parallel_case
        case(comp_op[2:0])       // synopsys parallel_case full_case
                `OR1200_COP_SFEQ:
                `OR1200_COP_SFEQ:
                        flagforw = (comp_a == comp_b);
                        flagforw = (comp_a == comp_b);
                `OR1200_COP_SFNE:
                `OR1200_COP_SFNE:
                        flagforw = (comp_a != comp_b);
                        flagforw = (comp_a != comp_b);
                `OR1200_COP_SFGT:
                `OR1200_COP_SFGT:

powered by: WebSVN 2.1.0

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