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:
|