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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [orpsocv2/] [boards/] [xilinx/] [ml501/] [rtl/] [verilog/] [include/] [or1200_defines.v] - Diff between revs 426 and 435

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

Rev 426 Rev 435
Line 347... Line 347...
//
//
// Implement Find First/Last '1'
// Implement Find First/Last '1'
//
//
`define OR1200_IMPL_ALU_FFL1
`define OR1200_IMPL_ALU_FFL1
 
 
 
 
//
//
// Implement multiplier
// Implement multiplier
//
//
// By default multiplier is implemented
// By default multiplier is implemented
//
//
Line 358... Line 359...
 
 
//
//
// Implement multiply-and-accumulate
// Implement multiply-and-accumulate
//
//
// By default MAC is implemented. To
// By default MAC is implemented. To
// implement MAC, multiplier needs to be
// implement MAC, multiplier (non-serial) needs to be
// implemented.
// implemented.
//
//
`define OR1200_MAC_IMPLEMENTED
`define OR1200_MAC_IMPLEMENTED
 
 
//
//
// Implement optional l.div/l.divu instructions
// Implement optional l.div/l.divu instructions
//
//
// By default divide instructions are not implemented
// By default divide instructions are not implemented
// to save area and increase clock frequency. or32 C/C++
// to save area.
// compiler can use soft library for division.
 
//
//
// To implement divide, both multiplier and MAC needs to be implemented.
 
//
//
`define OR1200_DIV_IMPLEMENTED
`define OR1200_DIV_IMPLEMENTED
 
 
//
//
// Low power, slower multiplier
// Serial multiplier.
 
//
 
//`define OR1200_MULT_SERIAL
 
 
//
//
// Select between low-power (larger) multiplier
// Serial divider.
// and faster multiplier. The actual difference
// Uncomment to use a serial divider, otherwise will
// is only AND logic that prevents distribution
// be a generic parallel implementation.
// of operands into the multiplier when instruction
 
// in execution is not multiply instruction
 
//
//
//`define OR1200_LOWPWR_MULT
`define OR1200_DIV_SERIAL
 
 
//
//
// Implement HW Single Precision FPU
// Implement HW Single Precision FPU
//
//
`define OR1200_FPU_IMPLEMENTED
`define OR1200_FPU_IMPLEMENTED
Line 462... Line 462...
`define OR1200_ALUOP_MUL        4'd6
`define OR1200_ALUOP_MUL        4'd6
`define OR1200_ALUOP_CUST5      4'd7
`define OR1200_ALUOP_CUST5      4'd7
`define OR1200_ALUOP_SHROT      4'd8
`define OR1200_ALUOP_SHROT      4'd8
`define OR1200_ALUOP_DIV        4'd9
`define OR1200_ALUOP_DIV        4'd9
`define OR1200_ALUOP_DIVU       4'd10
`define OR1200_ALUOP_DIVU       4'd10
/* Order not specifically defined. */
`define OR1200_ALUOP_MULU       4'd11
 
/* Values sent to ALU from decode unit - not strictly defined by ISA */
`define OR1200_ALUOP_IMM        4'd11
`define OR1200_ALUOP_IMM        4'd11
`define OR1200_ALUOP_MOVHI      4'd12
`define OR1200_ALUOP_MOVHI      4'd12
`define OR1200_ALUOP_COMP       4'd13
`define OR1200_ALUOP_COMP       4'd13
`define OR1200_ALUOP_MTSR       4'd14
`define OR1200_ALUOP_MTSR       4'd14
`define OR1200_ALUOP_MFSR       4'd15
`define OR1200_ALUOP_MFSR       4'd15

powered by: WebSVN 2.1.0

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