Line 159... |
Line 159... |
//
|
//
|
// Size/type of insn/data cache if implemented
|
// Size/type of insn/data cache if implemented
|
// (consider available FPGA memory resources)
|
// (consider available FPGA memory resources)
|
//
|
//
|
//`define OR1200_IC_1W_512B
|
//`define OR1200_IC_1W_512B
|
//`define OR1200_IC_1W_4KB
|
`define OR1200_IC_1W_4KB
|
//`define OR1200_IC_1W_8KB
|
//`define OR1200_IC_1W_8KB
|
`define OR1200_IC_1W_16KB
|
//`define OR1200_IC_1W_16KB
|
//`define OR1200_DC_1W_4KB
|
//`define OR1200_IC_1W_32KB
|
|
`define OR1200_DC_1W_4KB
|
//`define OR1200_DC_1W_8KB
|
//`define OR1200_DC_1W_8KB
|
`define OR1200_DC_1W_16KB
|
//`define OR1200_DC_1W_16KB
|
|
//`define OR1200_DC_1W_32KB
|
|
|
`endif
|
`endif
|
|
|
|
|
//////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////
|
Line 1219... |
Line 1221... |
/////////////////////////////////////////////////
|
/////////////////////////////////////////////////
|
//
|
//
|
// Insn cache (IC)
|
// Insn cache (IC)
|
//
|
//
|
|
|
// 3 for 8 bytes, 4 for 16 bytes etc
|
// 4 for 16 byte line, 5 for 32 byte lines.
|
|
`ifdef OR1200_IC_1W_32KB
|
|
`define OR1200_ICLS 5
|
|
`else
|
`define OR1200_ICLS 4
|
`define OR1200_ICLS 4
|
|
`endif
|
|
|
//
|
//
|
// IC configurations
|
// IC configurations
|
//
|
//
|
`ifdef OR1200_IC_1W_512B
|
`ifdef OR1200_IC_1W_512B
|
Line 1257... |
Line 1263... |
`define OR1200_ICINDXH `OR1200_ICSIZE-1 // 13
|
`define OR1200_ICINDXH `OR1200_ICSIZE-1 // 13
|
`define OR1200_ICTAGL `OR1200_ICINDXH+1 // 14
|
`define OR1200_ICTAGL `OR1200_ICINDXH+1 // 14
|
`define OR1200_ICTAG `OR1200_ICSIZE-`OR1200_ICLS // 10
|
`define OR1200_ICTAG `OR1200_ICSIZE-`OR1200_ICLS // 10
|
`define OR1200_ICTAG_W 19
|
`define OR1200_ICTAG_W 19
|
`endif
|
`endif
|
|
`ifdef OR1200_IC_1W_32KB
|
|
`define OR1200_ICSIZE 15 // 32768
|
|
`define OR1200_ICINDX `OR1200_ICSIZE-2 // 13
|
|
`define OR1200_ICINDXH `OR1200_ICSIZE-1 // 14
|
|
`define OR1200_ICTAGL `OR1200_ICINDXH+1 // 14
|
|
`define OR1200_ICTAG `OR1200_ICSIZE-`OR1200_ICLS // 10
|
|
`define OR1200_ICTAG_W 18
|
|
`endif
|
|
|
|
|
/////////////////////////////////////////////////
|
/////////////////////////////////////////////////
|
//
|
//
|
// Data cache (DC)
|
// Data cache (DC)
|
//
|
//
|
|
|
// 3 for 8 bytes, 4 for 16 bytes etc
|
// 4 for 16 bytes, 5 for 32 bytes
|
|
`ifdef OR1200_DC_1W_32KB
|
|
`define OR1200_DCLS 5
|
|
`else
|
`define OR1200_DCLS 4
|
`define OR1200_DCLS 4
|
|
`endif
|
|
|
// Define to enable default behavior of cache as write through
|
// Define to enable default behavior of cache as write through
|
// Turning this off enabled write back statergy
|
// Turning this off enabled write back statergy
|
//
|
//
|
`define OR1200_DC_WRITETHROUGH
|
`define OR1200_DC_WRITETHROUGH
|
Line 1313... |
Line 1331... |
`define OR1200_DCINDXH `OR1200_DCSIZE-1 // 13
|
`define OR1200_DCINDXH `OR1200_DCSIZE-1 // 13
|
`define OR1200_DCTAGL `OR1200_DCINDXH+1 // 14
|
`define OR1200_DCTAGL `OR1200_DCINDXH+1 // 14
|
`define OR1200_DCTAG `OR1200_DCSIZE-`OR1200_DCLS // 10
|
`define OR1200_DCTAG `OR1200_DCSIZE-`OR1200_DCLS // 10
|
`define OR1200_DCTAG_W 19
|
`define OR1200_DCTAG_W 19
|
`endif
|
`endif
|
|
`ifdef OR1200_DC_1W_32KB
|
|
`define OR1200_DCSIZE 15 // 32768
|
|
`define OR1200_DCINDX `OR1200_DCSIZE-2 // 13
|
|
`define OR1200_DCINDXH `OR1200_DCSIZE-1 // 14
|
|
`define OR1200_DCTAGL `OR1200_DCINDXH+1 // 15
|
|
`define OR1200_DCTAG `OR1200_DCSIZE-`OR1200_DCLS // 10
|
|
`define OR1200_DCTAG_W 18
|
|
`endif
|
|
|
|
|
/////////////////////////////////////////////////
|
/////////////////////////////////////////////////
|
//
|
//
|
// Store buffer (SB)
|
// Store buffer (SB)
|