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

Subversion Repositories or1k

[/] [or1k/] [branches/] [mp3_stable/] [or1200/] [rtl/] [verilog/] [defines.v] - Rev 170

Go to most recent revision | Compare with Previous | Blame | View Log

//////////////////////////////////////////////////////////////////////
////                                                              ////
////  OR1200's definitions                                        ////
////                                                              ////
////  This file is part of the OpenRISC 1200 project              ////
////  http://www.opencores.org/cores/or1k/                        ////
////                                                              ////
////  Description                                                 ////
////  Parameters of the OR1200 core                               ////
////                                                              ////
////  To Do:                                                      ////
////   - add parameters that are missing                          ////
////                                                              ////
////  Author(s):                                                  ////
////      - Damjan Lampret, lampret@opencores.org                 ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
////                                                              ////
//// Copyright (C) 2000 Authors and OPENCORES.ORG                 ////
////                                                              ////
//// This source file may be used and distributed without         ////
//// restriction provided that this copyright statement is not    ////
//// removed from the file and that any derivative work contains  ////
//// the original copyright notice and the associated disclaimer. ////
////                                                              ////
//// This source file is free software; you can redistribute it   ////
//// and/or modify it under the terms of the GNU Lesser General   ////
//// Public License as published by the Free Software Foundation; ////
//// either version 2.1 of the License, or (at your option) any   ////
//// later version.                                               ////
////                                                              ////
//// This source is distributed in the hope that it will be       ////
//// useful, but WITHOUT ANY WARRANTY; without even the implied   ////
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      ////
//// PURPOSE.  See the GNU Lesser General Public License for more ////
//// details.                                                     ////
////                                                              ////
//// You should have received a copy of the GNU Lesser General    ////
//// Public License along with this source; if not, download it   ////
//// from http://www.opencores.org/lgpl.shtml                     ////
////                                                              ////
//////////////////////////////////////////////////////////////////////
//
// CVS Revision History
//
// $Log: not supported by cvs2svn $
// Revision 1.1  2001/08/09 13:39:33  lampret
// Major clean-up.
//
// Revision 1.2  2001/07/22 03:31:54  lampret
// Fixed RAM's oen bug. Cache bypass under development.
//
// Revision 1.1  2001/07/20 00:46:03  lampret
// Development version of RTL. Libraries are missing.
//
//
 
`define ARTISAN_SSP
//`define ARTISAN_STP
 
// Dump VCD
`define VCD_DUMP
 
//
// Implement rotate in the ALU
//
`define IMPL_ALU_ROTATE
 
//
// Which type of compare to implement
//
//`define IMPL_ALU_COMP1
`define IMPL_ALU_COMP2
 
//
// Simulate l.div and l.divu
//
`define SIM_ALU_DIV
`define SIM_ALU_DIVU
 
`define ALUOP_NOP	4'd0
 
/* Order defined by arith insns that have two source operands both in regs
   (see binutils/include/opcode/or32.h) */
`define ALUOP_ADD	4'd0
`define ALUOP_ADDC	4'd1
`define ALUOP_SUB	4'd2
`define ALUOP_AND	4'd3
`define ALUOP_OR	4'd4
`define ALUOP_XOR	4'd5
`define ALUOP_MUL	4'd6
`define ALUOP_MAC	4'd7
`define ALUOP_SHROT	4'd8
`define ALUOP_DIV	4'd9
`define ALUOP_DIVU	4'd10
 
/* Order not specifically defined. */
`define ALUOP_IMM	4'd11
`define ALUOP_MOVHI	4'd12
`define ALUOP_COMP	4'd13
`define ALUOP_MTSR	4'd14
`define ALUOP_MFSR	4'd15
 
`define ALUOP_WIDTH	4
 
/* Shift/rotate macros. */
`define SHROTOP_NOP	2'd0
`define SHROTOP_SLL	2'd0
`define SHROTOP_SRL	2'd1
`define SHROTOP_SRA	2'd2
`define SHROTOP_ROR	2'd3
 
`define SHROTOP_WIDTH	2
 
 
// 3 for 8 bytes, 4 for 16 bytes etc
`define IC_LINESIZE		4
 
// Insn cache specific
`define ICSIZE			13		// 8192
`define ICINDX			`ICSIZE-2	// 11
`define ICINDXH			`ICSIZE-1	// 12
`define ICTAGL			`ICINDXH+1	// 13
 
`define OPERAND_WIDTH		32
`define REGFILE_ADDR_WIDTH	5
`define off	0
`define on 	1
 
// Use fast (and bigger) version of mem2reg aligner
`define MEM2REG_FAST 
 
// SHROT_OP position in machine word
`define SHROTOP_POS		7:6
 
// ALU instructions multicycle field in machine word
`define ALUMCYC_POS		9:8
 
// Execution cycles per instruction
`define MULTICYCLE_WIDTH	2
`define ONE_CYCLE		2'd0
`define TWO_CYCLES		2'd1
 
// Operand MUX selects
`define SEL_WIDTH		2
`define SEL_RF			2'd0
`define SEL_IMM			2'd1
`define SEL_EX_FORW		2'd2
`define SEL_WB_FORW		2'd3
 
// Branch ops
`define BRANCHOP_WIDTH		3
`define BRANCHOP_NOP		3'd0
`define BRANCHOP_J		3'd1
`define BRANCHOP_JR		3'd2
`define BRANCHOP_BAL		3'd3
`define BRANCHOP_BF		3'd4
`define BRANCHOP_BNF		3'd5
`define BRANCHOP_RFE		3'd6
 
// Bit 0: sign extend
// Bits 1-2: 00 doubleword, 01 byte, 10 halfword, 11 singleword
// Bit 3: 0 load, 1 store
`define LSUOP_WIDTH		4
`define LSUOP_NOP		4'b0000
`define LSUOP_LBZ		4'b0010
`define LSUOP_LBS		4'b0011
`define LSUOP_LHZ		4'b0100
`define LSUOP_LHS		4'b0101
`define LSUOP_LWZ		4'b0110
`define LSUOP_LWS		4'b0111
`define LSUOP_LD		4'b0001
`define LSUOP_SD		4'b1000
`define LSUOP_SB		4'b1010
`define LSUOP_SH		4'b1100
`define LSUOP_SW		4'b1110
 
// Fetch ops
`define FETCHOP_WIDTH		1
`define FETCHOP_NOP		1'b0
`define FETCHOP_LW		1'b1
 
// Bit 0: register file write enable
// Bits 2-1: write-back mux selects
`define RFWBOP_WIDTH		3
`define RFWBOP_NOP		3'b000
`define RFWBOP_ALU		3'b001
`define RFWBOP_LSU		3'b011
`define RFWBOP_SPRS		3'b101
`define RFWBOP_LR		3'b111
 
// Compare instructions
`define COP_SFEQ       'b000
`define COP_SFNE       'b001
`define COP_SFGT       'b010
`define COP_SFGE       'b011
`define COP_SFLT       'b100
`define COP_SFLE       'b101
`define COP_X          'b0111
`define SIGNED_COMPARE 'd3
`define COMPOP_WIDTH	4
 
`define LSUOP_WIDTH	4
 
`define PAGEINDX_WIDTH		13
`define ITLBADDR_WIDTH		7
 
// Exceptions
`define EXCEPT_WIDTH 4
 
`define EXCEPT_DTLBMISS		`EXCEPT_WIDTH'd7
`define EXCEPT_DMMUFAULT	`EXCEPT_WIDTH'd6
`define EXCEPT_INTHIGH		`EXCEPT_WIDTH'd5
`define EXCEPT_SYSCALL		`EXCEPT_WIDTH'd4
`define EXCEPT_ITLBMISS		`EXCEPT_WIDTH'd3
`define EXCEPT_IMMUFAULT	`EXCEPT_WIDTH'd2
`define EXCEPT_RESET		`EXCEPT_WIDTH'd1
`define EXCEPT_NONE		`EXCEPT_WIDTH'd0
 
// BIU Control 1 register
`define BCTRL1_WIDTH     30
`define BCTRL1_T0_CS0	3:0
`define BCTRL1_T0_CS0B	4
`define BCTRL1_T0_CS1	8:5
`define BCTRL1_T0_CS1B	9
`define BCTRL1_T0_CS2	13:10
`define BCTRL1_T0_CS2B	14
`define BCTRL1_T0_CS3	18:15
`define BCTRL1_T0_CS3B	19
`define BCTRL1_T0_CS4	23:20
`define BCTRL1_T0_CS4B	24
`define BCTRL1_T0_CS5	28:25
`define BCTRL1_T0_CS5B	29
 
// BIU Control 2 register
`define BCTRL2_WIDTH	28
`define BCTRL2_T0_CS6	3:0
`define BCTRL2_T0_CS6B	4
`define BCTRL2_T0_CS7	8:5
`define BCTRL2_T0_CS7B	9
`define BCTRL2_T1_CS0	13:10
`define BCTRL2_T1_CS0B	14
`define BCTRL2_T0_PARK2	15
`define BCTRL2_T0_PARK1	16
`define BCTRL2_T0_PARK0	17
`define BCTRL2_T1_PARK2	18
`define BCTRL2_T1_PARK1	19
`define BCTRL2_T1_PARK0	20
`define BCTRL2_I0_B	21
`define BCTRL2_I1_B	22
`define BCTRL2_I2_B	23
`define BCTRL2_I3_B	24
`define BCTRL2_I4_B	25
`define BCTRL2_I5_B	26
`define BCTRL2_CLKDIVBY2 27
 
`define PCTRL_WIDTH     29
// Peripheral Control register bits
`define PCTRL_RTC_RST   0
`define PCTRL_UART1_RST 1
`define PCTRL_UART2_RST 2
`define PCTRL_TC1_RST   3
`define PCTRL_TC2_RST   4
`define PCTRL_ETH1_RST  5
`define PCTRL_ETH2_RST  6
`define PCTRL_RTC_TM    7
`define PCTRL_VID_RST   8
`define PCTRL_GPIO_RST  9
`define PCTRL_TDM_RST   10
`define PCTRL_PLL_F	19:11
`define PCTRL_PLL_R	24:20
`define PCTRL_PLL_OD	26:25
`define PCTRL_PLL_PD	27
`define PCTRL_PLL_BP	28
 
`define SR_WIDTH 9
// SR bits (no CID)
`define SR_SUPV 0
`define SR_EXR  1
`define SR_EIR  2
`define SR_DCE  3
`define SR_ICE  4
`define SR_DME  5
`define SR_IME  6
`define SR_LEE  7
`define SR_CF   8
 
// Trace port
`define TP1W_WIDTH	23
`define TP1W_RF_TAA	4:0
`define TP1W_RF_TCENA	5
`define TP1W_RF_TOENA	6
`define TP1W_RF_TQOENA	7
`define TP1W_RF_TISA	8
`define TP1W_RF_TMSA	9
`define TP1W_RF_TAB	14:10
`define TP1W_RF_TCENB	15
`define TP1W_RF_TISB	16
`define TP1W_RF_TMSB	17
`define TP1W_RF_DSIB	18
`define TP1W_RF_SMSB	19
`define TP1W_MUXSEL	22:20
 
`define TP1R_WIDTH	14
`define TP1R_RF_DSOB	0
`define TP1R_RF_CENSQB	1
`define TP1R_RF_QSQA	2
`define TP1R_RF_OENSQA	3
`define TP1R_RF_ASQB	8:4
`define TP1R_RF_ASQA	13:9
 
 
`define TP2W_WIDTH	32
`define TP2W_DCR_TIS	0
`define TP2W_DCR_TMS	1
`define TP2W_DCR_TCEN	2
`define TP2W_DCR_TOEN	3
`define TP2W_DCR_TQOEN	4
`define TP2W_DCR_TWEN	5
`define TP2W_DCR_TA	16:6
`define TP2W_DCT_TIS	17
`define TP2W_DCT_TMS	18
`define TP2W_DCT_TCEN	19
`define TP2W_DCT_TOEN	20
`define TP2W_DCT_TQOEN	21
`define TP2W_DCT_TWEN	22
`define TP2W_DCT_TA	31:23
 
`define TP2R_WIDTH	26
`define TP2R_DCR_CENSQ	0
`define TP2R_DCR_OENSQ	1
`define TP2R_DCR_WENSQ	2
`define TP2R_DCR_ASQ	13:3
`define TP2R_DCT_CENSQ	14
`define TP2R_DCT_OENSQ	15
`define TP2R_DCT_WENSQ	16
`define TP2R_DCT_ASQ	25:17
 
 
`define TP3W_WIDTH	13
`define TP3W_DMT_TIS	0
`define TP3W_DMT_TMS	1
`define TP3W_DMT_TCEN	2
`define TP3W_DMT_TOEN	3
`define TP3W_DMT_TQOEN	4
`define TP3W_DMT_TWEN	5
`define TP3W_DMT_TA	12:6
 
`define TP3R_WIDTH	10
`define TP3R_DMT_CENSQ	0
`define TP3R_DMT_OENSQ	1
`define TP3R_DMT_WENSQ	2
`define TP3R_DMT_ASQ	9:3
 
 
`define TP4W_WIDTH	28
`define TP4W_IMT_TIS	0
`define TP4W_IMT_TMS	1
`define TP4W_IMT_TCEN	2
`define TP4W_IMT_TOEN	3
`define TP4W_IMT_TQOEN	4
`define TP4W_IMT_TWEN	5
`define TP4W_IMT_TA	12:6
`define TP4W_ICT_TIS	13
`define TP4W_ICT_TMS	14
`define TP4W_ICT_TCEN	15
`define TP4W_ICT_TOEN	16
`define TP4W_ICT_TQOEN	17
`define TP4W_ICT_TWEN	18
`define TP4W_ICT_TA	27:19
 
`define TP4R_WIDTH	22
`define TP4R_IMT_CENSQ	0
`define TP4R_IMT_OENSQ	1
`define TP4R_IMT_WENSQ	2
`define TP4R_IMT_ASQ	9:3
`define TP4R_ICT_CENSQ	10
`define TP4R_ICT_OENSQ	11
`define TP4R_ICT_WENSQ	12
`define TP4R_ICT_ASQ	21:13
 
// Access types
`define ACCESS_WIDTH		2
`define ACCESS_USER_READ	2'b00
`define ACCESS_USER_WRITE	2'b01
`define ACCESS_SUPV_READ	2'b10
`define ACCESS_SUPV_WRITE	2'b11
 
// SPRS
`define SPR_GROUP_BITS	31:27
`define SPR_GROUP_WIDTH 5
`define SPR_GROUP_SYS	5'd0
`define SPR_GROUP_PM    5'd8
`define SPR_GROUP_PIC   5'd9
`define SPR_GROUP_TT    5'd10
`define SPR_GROUP_ITLB	5'd28
`define SPR_GROUP_MODA	5'd29
`define SPR_GROUP_MODD	5'd30
`define SPR_GROUP_DTLB	5'd31
 
`define SPR_CFGR	3'd0
`define SPR_SR		7'd16
`define SPR_EPCR	7'd32
`define SPR_EEAR	7'd48
`define SPR_ESR		7'd64
 
 
// Bits that define the group
`define SPRGRP_BITS 15:11
 
// Bits that define offset inside the group
`define SPROFS_BITS 10:0
 
//
// Power Management
//
 
// Define it if you want PM implemented
`define PM_IMPLEMENTED
 
// Bit positions inside PMR (don't change)
`define PM_PMR_SDF 3:0
`define PM_PMR_DME 4
`define PM_PMR_SME 5
`define PM_PMR_DCGE 6
`define PM_PMR_UNUSED 31:7
 
// PMR offset inside PM group of registers
`define PM_OFS_PMR 11'b0
 
// PM group
`define SPRGRP_PM 5'd8
 
// Define if PMR can be read/written at any address inside PM group
`define PM_PARTIAL_DECODING
 
// Define if reading PMR is allowed
`define PM_READREGS
 
// Define if unused PMR bits should be zero
// `define PM_UNUSED_ZERO
 
//
// Programmable Interrupt Controller
//
 
// Define it if you want PIC implemented
`define PIC_IMPLEMENTED
 
// Define number of interrupt inputs (2-31)
`define PIC_INTS 20
 
// Address offsets of PIC registers inside PIC group
`define PIC_OFS_PICMR 2'd0
`define PIC_OFS_PICPR 2'd1
`define PIC_OFS_PICSR 2'd2
 
// Position of offset bits inside SPR address
`define PICOFS_BITS 1:0
 
// Define if you want these PIC registers to be implemented
`define PIC_PICMR
`define PIC_PICPR
`define PIC_PICSR
 
// Define if reading PIC registers is allowed
`define PIC_READREGS
 
// Define if unused PIC register bits should be zero
`define PIC_UNUSED_ZERO
 
//
// Tick Timer
//
 
// Define it if you want TT implemented
`define TT_IMPLEMENTED
 
// Address offsets of TT registers inside TT group
`define TT_OFS_TTMR 1'd0
`define TT_OFS_TTCR 1'd1
 
// Position of offset bits inside SPR group
`define TTOFS_BITS 0
 
// Define if you want these TT registers to be implemented
`define TT_TTMR
`define TT_TTCR
 
// TTMR bits
`define TT_TTMR_TP 27:0
`define TT_TTMR_IP 28
`define TT_TTMR_IE 29
`define TT_TTMR_M 31:30
 
// Define if reading TT registers is allowed
`define TT_READREGS
 
 
//
// VR, UPR and Configuration Registers
//
 
// Define if you want configuration registers implemented
`define CFGR_IMPLEMENTED
 
// Define if you want full address decode inside SYS group
`define SYS_FULL_DECODE
 
// Offsets of VR, UPR and CFGR registers
`define SPRGRP_SYS_VR		4'h0
`define SPRGRP_SYS_UPR		4'h1
`define SPRGRP_SYS_CPUCFGR	4'h2
`define SPRGRP_SYS_DMMUCFGR	4'h3
`define SPRGRP_SYS_IMMUCFGR	4'h4
`define SPRGRP_SYS_DCCFGR	4'h5
`define SPRGRP_SYS_ICCFGR	4'h6
`define SPRGRP_SYS_DCFGR	4'h7
 
// VR fields
`define VR_REV_BITS		5:0
`define VR_RES1_BITS		15:6
`define VR_CFG_BITS		23:16
`define VR_VER_BITS		31:24
 
// VR values
`define VR_REV			6'h00
`define VR_RES1			10'h000
`define VR_CFG			8'h00
`define VR_VER			8'h12
 
// UPR fields
`define UPR_UP_BITS		0
`define UPR_DCP_BITS		1
`define UPR_ICP_BITS		2
`define UPR_DMP_BITS		3
`define UPR_IMP_BITS		4
`define UPR_MP_BITS		5
`define UPR_DUP_BITS		6
`define UPR_PCUP_BITS		7
`define UPR_PMP_BITS		8
`define UPR_PICP_BITS		9
`define UPR_TTP_BITS		10
`define UPR_RES1_BITS		23:11
`define UPR_CUP_BITS		31:24
 
// UPR values
`define UPR_UP			1'b1
`define UPR_DCP			1'b1
`define UPR_ICP			1'b1
`define UPR_DMP			1'b1
`define UPR_IMP			1'b1
`define UPR_MP			1'b1
`define UPR_DUP			1'b1
`define UPR_PCUP		1'b0
`define UPR_PMP			1'b1
`define UPR_PICP		1'b1
`define UPR_TTP			1'b1
`define UPR_RES1		13'h0000
`define UPR_CUP			8'h00
 
// CPUCFGR fields
`define CPUCFGR_NSGF_BITS	3:0
`define CPUCFGR_HGF_BITS	4
`define CPUCFGR_OB32S_BITS	5
`define CPUCFGR_OB64S_BITS	6
`define CPUCFGR_OF32S_BITS	7
`define CPUCFGR_OF64S_BITS	8
`define CPUCFGR_OV64S_BITS	9
`define CPUCFGR_RES1_BITS	31:10
 
// CPUCFGR values
`define CPUCFGR_NSGF		4'h0
`define CPUCFGR_HGF		1'b0
`define CPUCFGR_OB32S		1'b1
`define CPUCFGR_OB64S		1'b0
`define CPUCFGR_OF32S		1'b0
`define CPUCFGR_OF64S		1'b0
`define CPUCFGR_OV64S		1'b0
`define CPUCFGR_RES1		22'h000000
 
// DMMUCFGR fields
`define DMMUCFGR_NTW_BITS	1:0
`define DMMUCFGR_NTS_BITS	4:2
`define DMMUCFGR_NAE_BITS	7:5
`define DMMUCFGR_CRI_BITS	8
`define DMMUCFGR_PRI_BITS	9
`define DMMUCFGR_TEIRI_BITS	10
`define DMMUCFGR_HTR_BITS	11
`define DMMUCFGR_RES1_BITS	31:12
 
// DMMUCFGR values
`define DMMUCFGR_NTW		2'h0
`define DMMUCFGR_NTS		3'h5
`define DMMUCFGR_NAE		3'h0
`define DMMUCFGR_CRI		1'b0
`define DMMUCFGR_PRI		1'b0
`define DMMUCFGR_TEIRI		1'b1
`define DMMUCFGR_HTR		1'b0
`define DMMUCFGR_RES1		20'h00000
 
// IMMUCFGR fields
`define IMMUCFGR_NTW_BITS	1:0
`define IMMUCFGR_NTS_BITS	4:2
`define IMMUCFGR_NAE_BITS	7:5
`define IMMUCFGR_CRI_BITS	8
`define IMMUCFGR_PRI_BITS	9
`define IMMUCFGR_TEIRI_BITS	10
`define IMMUCFGR_HTR_BITS	11
`define IMMUCFGR_RES1_BITS	31:12
 
// IMMUCFGR values
`define IMMUCFGR_NTW		2'h0
`define IMMUCFGR_NTS		3'h5
`define IMMUCFGR_NAE		3'h0
`define IMMUCFGR_CRI		1'b0
`define IMMUCFGR_PRI		1'b0
`define IMMUCFGR_TEIRI		1'b1
`define IMMUCFGR_HTR		1'b0
`define IMMUCFGR_RES1		20'h00000
 
// DCCFGR fields
`define DCCFGR_NCW_BITS		2:0
`define DCCFGR_NCS_BITS		6:3
`define DCCFGR_CBS_BITS		7
`define DCCFGR_CWS_BITS		8
`define DCCFGR_CCRI_BITS	9
`define DCCFGR_CBIRI_BITS	10
`define DCCFGR_CBPRI_BITS	11
`define DCCFGR_CBLRI_BITS	12
`define DCCFGR_CBFRI_BITS	13
`define DCCFGR_CBWBRI_BITS	14
`define DCCFGR_RES1_BITS	31:15
 
// DCCFGR values
`define DCCFGR_NCW		3'h0
`define DCCFGR_NCS		4'h5
`define DCCFGR_CBS		1'b0
`define DCCFGR_CWS		1'b0
`define DCCFGR_CCRI		1'b1
`define DCCFGR_CBIRI		1'b1
`define DCCFGR_CBPRI		1'b0
`define DCCFGR_CBLRI		1'b0
`define DCCFGR_CBFRI		1'b0
`define DCCFGR_CBWBRI		1'b1
`define DCCFGR_RES1		17'h00000
 
// ICCFGR fields
`define ICCFGR_NCW_BITS		2:0
`define ICCFGR_NCS_BITS		6:3
`define ICCFGR_CBS_BITS		7
`define ICCFGR_CWS_BITS		8
`define ICCFGR_CCRI_BITS	9
`define ICCFGR_CBIRI_BITS	10
`define ICCFGR_CBPRI_BITS	11
`define ICCFGR_CBLRI_BITS	12
`define ICCFGR_CBFRI_BITS	13
`define ICCFGR_CBWBRI_BITS	14
`define ICCFGR_RES1_BITS	31:15
 
// ICCFGR values
`define ICCFGR_NCW		3'h0
`define ICCFGR_NCS		4'h5
`define ICCFGR_CBS		1'b0
`define ICCFGR_CWS		1'b0
`define ICCFGR_CCRI		1'b1
`define ICCFGR_CBIRI		1'b1
`define ICCFGR_CBPRI		1'b0
`define ICCFGR_CBLRI		1'b0
`define ICCFGR_CBFRI		1'b0
`define ICCFGR_CBWBRI		1'b1
`define ICCFGR_RES1		17'h00000
 
// DCFGR fields
`define DCFGR_NDP_BITS		2:0
`define DCFGR_WPCI_BITS		3
`define DCFGR_RES1_BITS		31:4
 
// DCFGR values
`define DCFGR_NDP		3'h0
`define DCFGR_WPCI		1'b0
`define DCFGR_RES1		28'h0000000
 
 
// Instruction opcode groups (basic)
`define OR32_J                 6'b000000
`define OR32_JAL               6'b000001
`define OR32_BNF               6'b000011
`define OR32_BF                6'b000100
`define OR32_NOP               6'b000101
`define OR32_MOVHI             6'b000110
`define OR32_MFSPR             6'b000111
`define OR32_XSYNC             6'b001000
`define OR32_RFE               6'b001001
 
`define OR32_MTSPR             6'b010000
`define OR32_JR                6'b010001
`define OR32_JALR              6'b010010
 
`define OR32_LWZ               6'b100001
`define OR32_LBZ               6'b100011
`define OR32_LBS               6'b100100
`define OR32_LHZ               6'b100101
`define OR32_LHS               6'b100110
`define OR32_ADDI              6'b100111
`define OR32_ADDIC             6'b101000
`define OR32_ANDI              6'b101001
`define OR32_ORI               6'b101010
`define OR32_XORI              6'b101011
`define OR32_MULI              6'b101100
`define OR32_MACI              6'b101101
`define OR32_SH_ROTI 	       6'b101110
`define OR32_SFXXI             6'b101111
 
`define OR32_SW                6'b110101
`define OR32_SB                6'b110110
`define OR32_SH                6'b110111
`define OR32_ALU               6'b111000
`define OR32_SFXX              6'b111001
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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