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

Subversion Repositories rf6809

[/] [rf6809/] [trunk/] [rtl/] [cpu/] [rf6809_pkg.sv] - Diff between revs 21 and 22

Show entire file | Details | Blame | View Log

Rev 21 Rev 22
Line 2... Line 2...
package rf6809_pkg;
package rf6809_pkg;
 
 
typedef logic [23:0] Address;
typedef logic [23:0] Address;
typedef logic [11:0] Data;
typedef logic [11:0] Data;
 
 
 
// Breakpoint Control Register
 
// One for each breakpoint address register
 
typedef struct packed
 
{
 
        logic hit;
 
        logic [2:0] pad;
 
        logic en;
 
        logic trace_en;
 
        logic [1:0] match_type;
 
        logic [3:0] amask;
 
} brkCtrl;
 
 
 
// Breakpoint match types
 
parameter BMT_IA = 2'd0;
 
parameter BMT_DS = 2'd1;
 
parameter BMT_LS = 2'd3;
 
 
parameter bitsPerByte = $bits(Data);
parameter bitsPerByte = $bits(Data);
parameter BPB = bitsPerByte;
parameter BPB = bitsPerByte;
parameter BPBM1 =       BPB-1;
parameter BPBM1 =       BPB-1;
parameter BPBX2M1 =     BPB*2-1;
parameter BPBX2M1 =     BPB*2-1;
 
 
// The following adds support for many 6309 instructions.
// The following adds support for many 6309 instructions.
//`define SUPPORT_6309
`define SUPPORT_6309    1
 
// Support BCD arithmetic mode and the decimal mode flag
 
`define SUPPORT_BCD             1
 
// Support divide operations
 
`define SUPPORT_DIVIDE 1
 
 
 
`define SUPPORT_DEBUG_REG       1
 
 
// The following allows asynchronous reads for icache updating.
// The following allows asynchronous reads for icache updating.
// It increases the size of the core.
// It increases the size of the core.
//`define SUPPORT_AREAD 1
//`define SUPPORT_AREAD 1
 
 
Line 29... Line 52...
`ifdef EIGHTBIT
`ifdef EIGHTBIT
`define LOBYTE  7:0
`define LOBYTE  7:0
`define HIBYTE  15:8
`define HIBYTE  15:8
`define DBLBYTE 15:0
`define DBLBYTE 15:0
`define TRPBYTE         23:0
`define TRPBYTE         23:0
 
`define QUADBYTE        31:0
`define BYTE1           7:0
`define BYTE1           7:0
`define BYTE2           15:8
`define BYTE2           15:8
`define BYTE3           23:16
`define BYTE3           23:16
`define BYTE4           31:24
`define BYTE4           31:24
`define BYTE5           39:32
`define BYTE5           39:32
Line 46... Line 70...
`ifdef TWELVEBIT
`ifdef TWELVEBIT
`define LOBYTE  11:0
`define LOBYTE  11:0
`define HIBYTE  23:12
`define HIBYTE  23:12
`define DBLBYTE 23:0
`define DBLBYTE 23:0
`define TRPBYTE         35:0
`define TRPBYTE         35:0
 
`define QUADBYTE        47:0
`define BYTE1           11:0
`define BYTE1           11:0
`define BYTE2           23:12
`define BYTE2           23:12
`define BYTE3           35:24
`define BYTE3           35:24
`define BYTE4           47:36
`define BYTE4           47:36
`define BYTE5           59:48
`define BYTE5           59:48
Line 68... Line 93...
`define SWI_VECT        24'hFFFFFA
`define SWI_VECT        24'hFFFFFA
`define IRQ_VECT        24'hFFFFF8
`define IRQ_VECT        24'hFFFFF8
`define FIRQ_VECT       24'hFFFFF6
`define FIRQ_VECT       24'hFFFFF6
`define SWI2_VECT       24'hFFFFF4
`define SWI2_VECT       24'hFFFFF4
`define SWI3_VECT       24'hFFFFF2
`define SWI3_VECT       24'hFFFFF2
`define RESV_VECT       24'hFFFFF0
`define IOP_VECT        24'hFFFFF0
 
`define IPL7_VECT       24'hFFFFEE
 
`define IPL6_VECT 24'hFFFFEC
 
`define IPL5_VECT 24'hFFFFEA
 
`define IPL4_VECT       24'hFFFFE8
 
`define IPL3_VECT 24'hFFFFE6
 
`define IPL2_VECT 24'hFFFFE4
 
`define IPL1_VECT       24'hFFFFE2
 
`define DBG_VECT        24'hFFFFE0
 
 
 
`define MSCOUNT         24'hFFFF14
 
`define CHKPOINT        24'hFFFF11
 
`define CORENO          24'hFFFF10
 
 
 
`define BRKCTRL3        24'hFFFF0B
 
`define BRKCTRL2        24'hFFFF0A
 
`define BRKCTRL1        24'hFFFF09
 
`define BRKCTRL0        24'hFFFF08
 
`define BRKAD3          24'hFFFF06
 
`define BRKAD2          24'hFFFF04
 
`define BRKAD1          24'hFFFF02
 
`define BRKAD0          24'hFFFF00
 
 
 
 
`define NEG_DP          12'h000
`define NEG_DP          12'h000
`define OIM_DP          12'h001
`define OIM_DP          12'h001
`define AIM_DP          12'h002
`define AIM_DP          12'h002
`define COM_DP          12'h003
`define COM_DP          12'h003
Line 446... Line 493...
`define STS_NDX         12'h1EF
`define STS_NDX         12'h1EF
`define LDQ_EXT         12'h1FC
`define LDQ_EXT         12'h1FC
`define STQ_EXT         12'h1FD
`define STQ_EXT         12'h1FD
`define LDS_EXT         12'h1FE
`define LDS_EXT         12'h1FE
`define STS_EXT         12'h1FF
`define STS_EXT         12'h1FF
 
`define BITMD           12'h23C
`define LDMD            12'h23D
`define LDMD            12'h23D
`define SWI3            12'h23F
`define SWI3            12'h23F
`define COME            12'h243
`define COME            12'h243
`define DECE            12'h24A
`define DECE            12'h24A
`define INCE            12'h24C
`define INCE            12'h24C
Line 463... Line 511...
`define SUBE_IMM        12'h280
`define SUBE_IMM        12'h280
`define CMPU_IMM        12'h283
`define CMPU_IMM        12'h283
`define LDE_IMM         12'h286
`define LDE_IMM         12'h286
`define ADDE_IMM        12'h28B
`define ADDE_IMM        12'h28B
`define DIVD_IMM        12'h28D
`define DIVD_IMM        12'h28D
 
`define DIVQ_IMM        12'h28E
 
`define MULD_IMM        12'h28F
`define SUBE_DP         12'h290
`define SUBE_DP         12'h290
`define LDE_DP          12'h296
`define LDE_DP          12'h296
`define ADDE_DP         12'h29B
`define ADDE_DP         12'h29B
`define DIVD_DP         12'h29D
`define DIVD_DP         12'h29D
 
`define DIVQ_DP         12'h29E
 
`define MULD_DP         12'h29F
`define SUBE_NDX        12'h2A0
`define SUBE_NDX        12'h2A0
`define LDE_NDX         12'h2A6
`define LDE_NDX         12'h2A6
`define ADDE_NDX        12'h2AB
`define ADDE_NDX        12'h2AB
`define DIVD_NDX        12'h2AD
`define DIVD_NDX        12'h2AD
 
`define DIVQ_NDX        12'h2AE
 
`define MULD_NDX        12'h2AF
`define SUBE_EXT        12'h2B0
`define SUBE_EXT        12'h2B0
`define LDE_EXT         12'h2B6
`define LDE_EXT         12'h2B6
`define ADDE_EXT        12'h2BB
`define ADDE_EXT        12'h2BB
`define DIVD_EXT        12'h2BD
`define DIVD_EXT        12'h2BD
 
`define DIVQ_EXT        12'h2BE
 
`define MULD_EXT        12'h2BF
`define SUBF_IMM        12'h2C0
`define SUBF_IMM        12'h2C0
`define LDF_IMM         12'h2C6
`define LDF_IMM         12'h2C6
`define ADDF_IMM        12'h2CB
`define ADDF_IMM        12'h2CB
`define SUBF_DP         12'h2D0
`define SUBF_DP         12'h2D0
`define LDF_DP          12'h2D6
`define LDF_DP          12'h2D6

powered by: WebSVN 2.1.0

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