Line 29... |
Line 29... |
//
|
//
|
// *Author(s):
|
// *Author(s):
|
// - Olivier Girard, olgirard@gmail.com
|
// - Olivier Girard, olgirard@gmail.com
|
//
|
//
|
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
// $Rev: 71 $
|
// $Rev: 72 $
|
// $LastChangedBy: olivier.girard $
|
// $LastChangedBy: olivier.girard $
|
// $LastChangedDate: 2010-03-07 21:14:33 +0100 (Sun, 07 Mar 2010) $
|
// $LastChangedDate: 2010-08-01 20:54:37 +0200 (Sun, 01 Aug 2010) $
|
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
`include "openMSP430_undefines.v"
|
`include "openMSP430_undefines.v"
|
|
|
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
// SYSTEM CONFIGURATION
|
// SYSTEM CONFIGURATION
|
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
|
//
|
|
// Note: the sum of both program and data memories should not exceed 63.5 kB
|
|
//
|
|
|
// Program Memory Size:
|
// Program Memory Size:
|
// 9 -> 1 kB
|
// Uncomment the required memory size
|
// 10 -> 2 kB
|
//-------------------------------------------------------
|
// 11 -> 4 kB
|
//`define PMEM_SIZE_59_KB
|
// 12 -> 8 kB
|
//`define PMEM_SIZE_55_KB
|
// 13 -> 16 kB
|
//`define PMEM_SIZE_54_KB
|
// 14 -> 32 kB
|
//`define PMEM_SIZE_51_KB
|
`define PMEM_AWIDTH 11
|
//`define PMEM_SIZE_48_KB
|
|
//`define PMEM_SIZE_41_KB
|
|
//`define PMEM_SIZE_32_KB
|
|
//`define PMEM_SIZE_24_KB
|
|
//`define PMEM_SIZE_16_KB
|
|
//`define PMEM_SIZE_12_KB
|
|
//`define PMEM_SIZE_8_KB
|
|
`define PMEM_SIZE_4_KB
|
|
//`define PMEM_SIZE_2_KB
|
|
//`define PMEM_SIZE_1_KB
|
|
|
// Data Memory Size:
|
// Data Memory Size:
|
// 6 -> 128 B
|
// Uncomment the required memory size
|
// 7 -> 256 B
|
//-------------------------------------------------------
|
// 8 -> 512 B
|
//`define DMEM_SIZE_32_KB
|
// 9 -> 1 kB
|
//`define DMEM_SIZE_24_KB
|
// 10 -> 2 kB
|
//`define DMEM_SIZE_16_KB
|
// 11 -> 4 kB
|
//`define DMEM_SIZE_10_KB
|
// 12 -> 8 kB
|
//`define DMEM_SIZE_8_KB
|
// 13 -> 16 kB
|
//`define DMEM_SIZE_5_KB
|
// 14 -> 32 kB
|
//`define DMEM_SIZE_4_KB
|
`define DMEM_AWIDTH 9
|
//`define DMEM_SIZE_2p5_KB
|
|
//`define DMEM_SIZE_2_KB
|
|
`define DMEM_SIZE_1_KB
|
|
//`define DMEM_SIZE_512_B
|
|
//`define DMEM_SIZE_256_B
|
|
//`define DMEM_SIZE_128_B
|
|
|
|
|
// Include/Exclude Hardware Multiplier
|
// Include/Exclude Hardware Multiplier
|
`define MULTIPLIER
|
`define MULTIPLIER
|
|
|
|
|
Line 100... |
Line 118... |
//==========================================================================//
|
//==========================================================================//
|
//==========================================================================//
|
//==========================================================================//
|
//==========================================================================//
|
//==========================================================================//
|
//==========================================================================//
|
//==========================================================================//
|
|
|
// Program and Data Memory sizes
|
//
|
`define PMEM_SIZE (2 << `PMEM_AWIDTH)
|
// PROGRAM & DATA MEMORY CONFIGURATION
|
`define DMEM_SIZE (2 << `DMEM_AWIDTH)
|
//======================================
|
|
|
|
// Program Memory Size
|
|
`ifdef PMEM_SIZE_59_KB
|
|
`define PMEM_AWIDTH 15
|
|
`define PMEM_SIZE 60416
|
|
`endif
|
|
`ifdef PMEM_SIZE_55_KB
|
|
`define PMEM_AWIDTH 15
|
|
`define PMEM_SIZE 56320
|
|
`endif
|
|
`ifdef PMEM_SIZE_54_KB
|
|
`define PMEM_AWIDTH 15
|
|
`define PMEM_SIZE 55296
|
|
`endif
|
|
`ifdef PMEM_SIZE_51_KB
|
|
`define PMEM_AWIDTH 15
|
|
`define PMEM_SIZE 52224
|
|
`endif
|
|
`ifdef PMEM_SIZE_48_KB
|
|
`define PMEM_AWIDTH 15
|
|
`define PMEM_SIZE 49152
|
|
`endif
|
|
`ifdef PMEM_SIZE_41_KB
|
|
`define PMEM_AWIDTH 15
|
|
`define PMEM_SIZE 41984
|
|
`endif
|
|
`ifdef PMEM_SIZE_32_KB
|
|
`define PMEM_AWIDTH 14
|
|
`define PMEM_SIZE 32768
|
|
`endif
|
|
`ifdef PMEM_SIZE_24_KB
|
|
`define PMEM_AWIDTH 14
|
|
`define PMEM_SIZE 24576
|
|
`endif
|
|
`ifdef PMEM_SIZE_16_KB
|
|
`define PMEM_AWIDTH 13
|
|
`define PMEM_SIZE 16384
|
|
`endif
|
|
`ifdef PMEM_SIZE_12_KB
|
|
`define PMEM_AWIDTH 13
|
|
`define PMEM_SIZE 12288
|
|
`endif
|
|
`ifdef PMEM_SIZE_8_KB
|
|
`define PMEM_AWIDTH 12
|
|
`define PMEM_SIZE 8192
|
|
`endif
|
|
`ifdef PMEM_SIZE_4_KB
|
|
`define PMEM_AWIDTH 11
|
|
`define PMEM_SIZE 4096
|
|
`endif
|
|
`ifdef PMEM_SIZE_2_KB
|
|
`define PMEM_AWIDTH 10
|
|
`define PMEM_SIZE 2048
|
|
`endif
|
|
`ifdef PMEM_SIZE_1_KB
|
|
`define PMEM_AWIDTH 9
|
|
`define PMEM_SIZE 1024
|
|
`endif
|
|
|
|
// Data Memory Size
|
|
`ifdef DMEM_SIZE_32_KB
|
|
`define DMEM_AWIDTH 14
|
|
`define DMEM_SIZE 32768
|
|
`endif
|
|
`ifdef DMEM_SIZE_24_KB
|
|
`define DMEM_AWIDTH 14
|
|
`define DMEM_SIZE 24576
|
|
`endif
|
|
`ifdef DMEM_SIZE_16_KB
|
|
`define DMEM_AWIDTH 13
|
|
`define DMEM_SIZE 16384
|
|
`endif
|
|
`ifdef DMEM_SIZE_10_KB
|
|
`define DMEM_AWIDTH 13
|
|
`define DMEM_SIZE 10240
|
|
`endif
|
|
`ifdef DMEM_SIZE_8_KB
|
|
`define DMEM_AWIDTH 12
|
|
`define DMEM_SIZE 8192
|
|
`endif
|
|
`ifdef DMEM_SIZE_5_KB
|
|
`define DMEM_AWIDTH 12
|
|
`define DMEM_SIZE 5120
|
|
`endif
|
|
`ifdef DMEM_SIZE_4_KB
|
|
`define DMEM_AWIDTH 11
|
|
`define DMEM_SIZE 4096
|
|
`endif
|
|
`ifdef DMEM_SIZE_2p5_KB
|
|
`define DMEM_AWIDTH 11
|
|
`define DMEM_SIZE 2560
|
|
`endif
|
|
`ifdef DMEM_SIZE_2_KB
|
|
`define DMEM_AWIDTH 10
|
|
`define DMEM_SIZE 2048
|
|
`endif
|
|
`ifdef DMEM_SIZE_1_KB
|
|
`define DMEM_AWIDTH 9
|
|
`define DMEM_SIZE 1024
|
|
`endif
|
|
`ifdef DMEM_SIZE_512_B
|
|
`define DMEM_AWIDTH 8
|
|
`define DMEM_SIZE 512
|
|
`endif
|
|
`ifdef DMEM_SIZE_256_B
|
|
`define DMEM_AWIDTH 7
|
|
`define DMEM_SIZE 256
|
|
`endif
|
|
`ifdef DMEM_SIZE_128_B
|
|
`define DMEM_AWIDTH 6
|
|
`define DMEM_SIZE 128
|
|
`endif
|
|
|
// Data Memory Base Adresses
|
// Data Memory Base Adresses
|
`define DMEM_BASE 16'h0200
|
`define DMEM_BASE 16'h0200
|
|
|
// Program & Data Memory most significant address bit (for 16 bit words)
|
// Program & Data Memory most significant address bit (for 16 bit words)
|
`define PMEM_MSB `PMEM_AWIDTH-1
|
`define PMEM_MSB `PMEM_AWIDTH-1
|
`define DMEM_MSB `DMEM_AWIDTH-1
|
`define DMEM_MSB `DMEM_AWIDTH-1
|
|
|
|
//
|
|
// STATES, REGISTER FIELDS, ...
|
|
//======================================
|
|
|
// Instructions type
|
// Instructions type
|
`define INST_SO 0
|
`define INST_SO 0
|
`define INST_JMP 1
|
`define INST_JMP 1
|
`define INST_TO 2
|
`define INST_TO 2
|
Line 248... |
Line 381... |
`define TACCI 3
|
`define TACCI 3
|
`define TAOUT 2
|
`define TAOUT 2
|
`define TACOV 1
|
`define TACOV 1
|
`define TACCIFG 0
|
`define TACCIFG 0
|
|
|
|
|
//
|
//
|
// DEBUG INTERFACE EXTRA CONFIGURATION
|
// DEBUG INTERFACE EXTRA CONFIGURATION
|
//======================================
|
//======================================
|
|
|
// Debug interface: Software breakpoint opcode
|
// Debug interface: Software breakpoint opcode
|