mirror of https://github.com/YosysHQ/yosys.git
733 lines
13 KiB
Coq
733 lines
13 KiB
Coq
|
//----------------------------------------------------------------------------
|
||
|
// Copyright (C) 2009 , Olivier Girard
|
||
|
//
|
||
|
// Redistribution and use in source and binary forms, with or without
|
||
|
// modification, are permitted provided that the following conditions
|
||
|
// are met:
|
||
|
// * Redistributions of source code must retain the above copyright
|
||
|
// notice, this list of conditions and the following disclaimer.
|
||
|
// * Redistributions in binary form must reproduce the above copyright
|
||
|
// notice, this list of conditions and the following disclaimer in the
|
||
|
// documentation and/or other materials provided with the distribution.
|
||
|
// * Neither the name of the authors nor the names of its contributors
|
||
|
// may be used to endorse or promote products derived from this software
|
||
|
// without specific prior written permission.
|
||
|
//
|
||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||
|
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
|
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||
|
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
||
|
// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||
|
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||
|
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||
|
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
|
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
||
|
// THE POSSIBILITY OF SUCH DAMAGE
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
//
|
||
|
// *File Name: openMSP430_undefines.v
|
||
|
//
|
||
|
// *Module Description:
|
||
|
// openMSP430 Verilog `undef file
|
||
|
//
|
||
|
// *Author(s):
|
||
|
// - Olivier Girard, olgirard@gmail.com
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
// $Rev: 23 $
|
||
|
// $LastChangedBy: olivier.girard $
|
||
|
// $LastChangedDate: 2009-08-30 18:39:26 +0200 (Sun, 30 Aug 2009) $
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// BASIC SYSTEM CONFIGURATION
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
// Program Memory sizes
|
||
|
`ifdef PMEM_SIZE_59_KB
|
||
|
`undef PMEM_SIZE_59_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_55_KB
|
||
|
`undef PMEM_SIZE_55_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_54_KB
|
||
|
`undef PMEM_SIZE_54_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_51_KB
|
||
|
`undef PMEM_SIZE_51_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_48_KB
|
||
|
`undef PMEM_SIZE_48_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_41_KB
|
||
|
`undef PMEM_SIZE_41_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_32_KB
|
||
|
`undef PMEM_SIZE_32_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_24_KB
|
||
|
`undef PMEM_SIZE_24_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_16_KB
|
||
|
`undef PMEM_SIZE_16_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_12_KB
|
||
|
`undef PMEM_SIZE_12_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_8_KB
|
||
|
`undef PMEM_SIZE_8_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_4_KB
|
||
|
`undef PMEM_SIZE_4_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_2_KB
|
||
|
`undef PMEM_SIZE_2_KB
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE_1_KB
|
||
|
`undef PMEM_SIZE_1_KB
|
||
|
`endif
|
||
|
|
||
|
// Data Memory sizes
|
||
|
`ifdef DMEM_SIZE_32_KB
|
||
|
`undef DMEM_SIZE_32_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_24_KB
|
||
|
`undef DMEM_SIZE_24_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_16_KB
|
||
|
`undef DMEM_SIZE_16_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_10_KB
|
||
|
`undef DMEM_SIZE_10_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_8_KB
|
||
|
`undef DMEM_SIZE_8_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_5_KB
|
||
|
`undef DMEM_SIZE_5_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_4_KB
|
||
|
`undef DMEM_SIZE_4_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_2p5_KB
|
||
|
`undef DMEM_SIZE_2p5_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_2_KB
|
||
|
`undef DMEM_SIZE_2_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_1_KB
|
||
|
`undef DMEM_SIZE_1_KB
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_512_B
|
||
|
`undef DMEM_SIZE_512_B
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_256_B
|
||
|
`undef DMEM_SIZE_256_B
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE_128_B
|
||
|
`undef DMEM_SIZE_128_B
|
||
|
`endif
|
||
|
|
||
|
// Include/Exclude Hardware Multiplier
|
||
|
`ifdef MULTIPLIER
|
||
|
`undef MULTIPLIER
|
||
|
`endif
|
||
|
|
||
|
// Include Debug interface
|
||
|
`ifdef DBG_EN
|
||
|
`undef DBG_EN
|
||
|
`endif
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// ADVANCED SYSTEM CONFIGURATION (FOR EXPERIENCED USERS)
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
// Peripheral Memory Space:
|
||
|
`ifdef PER_SIZE_32_KB
|
||
|
`undef PER_SIZE_32_KB
|
||
|
`endif
|
||
|
`ifdef PER_SIZE_16_KB
|
||
|
`undef PER_SIZE_16_KB
|
||
|
`endif
|
||
|
`ifdef PER_SIZE_8_KB
|
||
|
`undef PER_SIZE_8_KB
|
||
|
`endif
|
||
|
`ifdef PER_SIZE_4_KB
|
||
|
`undef PER_SIZE_4_KB
|
||
|
`endif
|
||
|
`ifdef PER_SIZE_2_KB
|
||
|
`undef PER_SIZE_2_KB
|
||
|
`endif
|
||
|
`ifdef PER_SIZE_1_KB
|
||
|
`undef PER_SIZE_1_KB
|
||
|
`endif
|
||
|
`ifdef PER_SIZE_512_B
|
||
|
`undef PER_SIZE_512_B
|
||
|
`endif
|
||
|
|
||
|
// Let the CPU break after a PUC occurrence by default
|
||
|
`ifdef DBG_RST_BRK_EN
|
||
|
`undef DBG_RST_BRK_EN
|
||
|
`endif
|
||
|
|
||
|
// Custom user version number
|
||
|
`ifdef USER_VERSION
|
||
|
`undef USER_VERSION
|
||
|
`endif
|
||
|
|
||
|
// Include/Exclude Watchdog timer
|
||
|
`ifdef WATCHDOG
|
||
|
`undef WATCHDOG
|
||
|
`endif
|
||
|
|
||
|
// Include/Exclude Non-Maskable-Interrupt support
|
||
|
`ifdef NMI
|
||
|
`undef NMI
|
||
|
`endif
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// EXPERT SYSTEM CONFIGURATION ( !!!! EXPERTS ONLY !!!! )
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
// Number of hardware breakpoint units
|
||
|
`ifdef DBG_HWBRK_0
|
||
|
`undef DBG_HWBRK_0
|
||
|
`endif
|
||
|
`ifdef DBG_HWBRK_1
|
||
|
`undef DBG_HWBRK_1
|
||
|
`endif
|
||
|
`ifdef DBG_HWBRK_2
|
||
|
`undef DBG_HWBRK_2
|
||
|
`endif
|
||
|
`ifdef DBG_HWBRK_3
|
||
|
`undef DBG_HWBRK_3
|
||
|
`endif
|
||
|
|
||
|
// Enable/Disable the hardware breakpoint RANGE mode
|
||
|
`ifdef DBG_HWBRK_RANGE
|
||
|
`undef DBG_HWBRK_RANGE
|
||
|
`endif
|
||
|
|
||
|
// Input synchronizers
|
||
|
`ifdef SYNC_CPU_EN
|
||
|
`undef SYNC_CPU_EN
|
||
|
`endif
|
||
|
`ifdef SYNC_DBG_EN
|
||
|
`undef SYNC_DBG_EN
|
||
|
`endif
|
||
|
`ifdef SYNC_DBG_UART_RXD
|
||
|
`undef SYNC_DBG_UART_RXD
|
||
|
`endif
|
||
|
`ifdef SYNC_NMI
|
||
|
`undef SYNC_NMI
|
||
|
`endif
|
||
|
|
||
|
// ASIC version
|
||
|
`ifdef ASIC
|
||
|
`undef ASIC
|
||
|
`endif
|
||
|
|
||
|
|
||
|
//----------------------------------------------------------------------------
|
||
|
// ASIC SYSTEM CONFIGURATION ( !!!! EXPERTS ONLY !!!! )
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
// Fine grained clock gating
|
||
|
`ifdef CLOCK_GATING
|
||
|
`undef CLOCK_GATING
|
||
|
`endif
|
||
|
|
||
|
// LFXT clock domain
|
||
|
`ifdef LFXT_DOMAIN
|
||
|
`undef LFXT_DOMAIN
|
||
|
`endif
|
||
|
|
||
|
// MCLK: Clock Mux
|
||
|
`ifdef MCLK_MUX
|
||
|
`undef MCLK_MUX
|
||
|
`endif
|
||
|
|
||
|
// SMCLK: Clock Mux
|
||
|
`ifdef SMCLK_MUX
|
||
|
`undef SMCLK_MUX
|
||
|
`endif
|
||
|
|
||
|
// WATCHDOG: Clock Mux
|
||
|
`ifdef WATCHDOG_MUX
|
||
|
`undef WATCHDOG_MUX
|
||
|
`endif
|
||
|
|
||
|
// MCLK: Clock divider
|
||
|
`ifdef MCLK_DIVIDER
|
||
|
`undef MCLK_DIVIDER
|
||
|
`endif
|
||
|
|
||
|
// SMCLK: Clock divider (/1/2/4/8)
|
||
|
`ifdef SMCLK_DIVIDER
|
||
|
`undef SMCLK_DIVIDER
|
||
|
`endif
|
||
|
|
||
|
// ACLK: Clock divider (/1/2/4/8)
|
||
|
`ifdef ACLK_DIVIDER
|
||
|
`undef ACLK_DIVIDER
|
||
|
`endif
|
||
|
|
||
|
// LOW POWER MODE: CPUOFF
|
||
|
`ifdef CPUOFF_EN
|
||
|
`undef CPUOFF_EN
|
||
|
`endif
|
||
|
|
||
|
// LOW POWER MODE: OSCOFF
|
||
|
`ifdef OSCOFF_EN
|
||
|
`undef OSCOFF_EN
|
||
|
`endif
|
||
|
|
||
|
// LOW POWER MODE: SCG0
|
||
|
`ifdef SCG0_EN
|
||
|
`undef SCG0_EN
|
||
|
`endif
|
||
|
|
||
|
// LOW POWER MODE: SCG1
|
||
|
`ifdef SCG1_EN
|
||
|
`undef SCG1_EN
|
||
|
`endif
|
||
|
|
||
|
|
||
|
//==========================================================================//
|
||
|
//==========================================================================//
|
||
|
//==========================================================================//
|
||
|
//==========================================================================//
|
||
|
//===== SYSTEM CONSTANTS --- !!!!!!!! DO NOT EDIT !!!!!!!! =====//
|
||
|
//==========================================================================//
|
||
|
//==========================================================================//
|
||
|
//==========================================================================//
|
||
|
//==========================================================================//
|
||
|
|
||
|
// Program Memory Size
|
||
|
`ifdef PMEM_AWIDTH
|
||
|
`undef PMEM_AWIDTH
|
||
|
`endif
|
||
|
`ifdef PMEM_SIZE
|
||
|
`undef PMEM_SIZE
|
||
|
`endif
|
||
|
|
||
|
// Data Memory Size
|
||
|
`ifdef DMEM_AWIDTH
|
||
|
`undef DMEM_AWIDTH
|
||
|
`endif
|
||
|
`ifdef DMEM_SIZE
|
||
|
`undef DMEM_SIZE
|
||
|
`endif
|
||
|
|
||
|
// Peripheral Memory Size
|
||
|
`ifdef PER_AWIDTH
|
||
|
`undef PER_AWIDTH
|
||
|
`endif
|
||
|
`ifdef PER_SIZE
|
||
|
`undef PER_SIZE
|
||
|
`endif
|
||
|
|
||
|
// Data Memory Base Adresses
|
||
|
`ifdef DMEM_BASE
|
||
|
`undef DMEM_BASE
|
||
|
`endif
|
||
|
|
||
|
// Program & Data Memory most significant address bit (for 16 bit words)
|
||
|
`ifdef PMEM_MSB
|
||
|
`undef PMEM_MSB
|
||
|
`endif
|
||
|
`ifdef DMEM_MSB
|
||
|
`undef DMEM_MSB
|
||
|
`endif
|
||
|
`ifdef PER_MSB
|
||
|
`undef PER_MSB
|
||
|
`endif
|
||
|
|
||
|
// Instructions type
|
||
|
`ifdef INST_SO
|
||
|
`undef INST_SO
|
||
|
`endif
|
||
|
`ifdef INST_JMP
|
||
|
`undef INST_JMP
|
||
|
`endif
|
||
|
`ifdef INST_TO
|
||
|
`undef INST_TO
|
||
|
`endif
|
||
|
|
||
|
// Single-operand arithmetic
|
||
|
`ifdef RRC
|
||
|
`undef RRC
|
||
|
`endif
|
||
|
`ifdef SWPB
|
||
|
`undef SWPB
|
||
|
`endif
|
||
|
`ifdef RRA
|
||
|
`undef RRA
|
||
|
`endif
|
||
|
`ifdef SXT
|
||
|
`undef SXT
|
||
|
`endif
|
||
|
`ifdef PUSH
|
||
|
`undef PUSH
|
||
|
`endif
|
||
|
`ifdef CALL
|
||
|
`undef CALL
|
||
|
`endif
|
||
|
`ifdef RETI
|
||
|
`undef RETI
|
||
|
`endif
|
||
|
`ifdef IRQ
|
||
|
`undef IRQ
|
||
|
`endif
|
||
|
|
||
|
// Conditional jump
|
||
|
`ifdef JNE
|
||
|
`undef JNE
|
||
|
`endif
|
||
|
`ifdef JEQ
|
||
|
`undef JEQ
|
||
|
`endif
|
||
|
`ifdef JNC
|
||
|
`undef JNC
|
||
|
`endif
|
||
|
`ifdef JC
|
||
|
`undef JC
|
||
|
`endif
|
||
|
`ifdef JN
|
||
|
`undef JN
|
||
|
`endif
|
||
|
`ifdef JGE
|
||
|
`undef JGE
|
||
|
`endif
|
||
|
`ifdef JL
|
||
|
`undef JL
|
||
|
`endif
|
||
|
`ifdef JMP
|
||
|
`undef JMP
|
||
|
`endif
|
||
|
|
||
|
// Two-operand arithmetic
|
||
|
`ifdef MOV
|
||
|
`undef MOV
|
||
|
`endif
|
||
|
`ifdef ADD
|
||
|
`undef ADD
|
||
|
`endif
|
||
|
`ifdef ADDC
|
||
|
`undef ADDC
|
||
|
`endif
|
||
|
`ifdef SUBC
|
||
|
`undef SUBC
|
||
|
`endif
|
||
|
`ifdef SUB
|
||
|
`undef SUB
|
||
|
`endif
|
||
|
`ifdef CMP
|
||
|
`undef CMP
|
||
|
`endif
|
||
|
`ifdef DADD
|
||
|
`undef DADD
|
||
|
`endif
|
||
|
`ifdef BIT
|
||
|
`undef BIT
|
||
|
`endif
|
||
|
`ifdef BIC
|
||
|
`undef BIC
|
||
|
`endif
|
||
|
`ifdef BIS
|
||
|
`undef BIS
|
||
|
`endif
|
||
|
`ifdef XOR
|
||
|
`undef XOR
|
||
|
`endif
|
||
|
`ifdef AND
|
||
|
`undef AND
|
||
|
`endif
|
||
|
|
||
|
// Addressing modes
|
||
|
`ifdef DIR
|
||
|
`undef DIR
|
||
|
`endif
|
||
|
`ifdef IDX
|
||
|
`undef IDX
|
||
|
`endif
|
||
|
`ifdef INDIR
|
||
|
`undef INDIR
|
||
|
`endif
|
||
|
`ifdef INDIR_I
|
||
|
`undef INDIR_I
|
||
|
`endif
|
||
|
`ifdef SYMB
|
||
|
`undef SYMB
|
||
|
`endif
|
||
|
`ifdef IMM
|
||
|
`undef IMM
|
||
|
`endif
|
||
|
`ifdef ABS
|
||
|
`undef ABS
|
||
|
`endif
|
||
|
`ifdef CONST
|
||
|
`undef CONST
|
||
|
`endif
|
||
|
|
||
|
// Instruction state machine
|
||
|
`ifdef I_IRQ_FETCH
|
||
|
`undef I_IRQ_FETCH
|
||
|
`endif
|
||
|
`ifdef I_IRQ_DONE
|
||
|
`undef I_IRQ_DONE
|
||
|
`endif
|
||
|
`ifdef I_DEC
|
||
|
`undef I_DEC
|
||
|
`endif
|
||
|
`ifdef I_EXT1
|
||
|
`undef I_EXT1
|
||
|
`endif
|
||
|
`ifdef I_EXT2
|
||
|
`undef I_EXT2
|
||
|
`endif
|
||
|
`ifdef I_IDLE
|
||
|
`undef I_IDLE
|
||
|
`endif
|
||
|
|
||
|
// Execution state machine
|
||
|
`ifdef E_IRQ_0
|
||
|
`undef E_IRQ_0
|
||
|
`endif
|
||
|
`ifdef E_IRQ_1
|
||
|
`undef E_IRQ_1
|
||
|
`endif
|
||
|
`ifdef E_IRQ_2
|
||
|
`undef E_IRQ_2
|
||
|
`endif
|
||
|
`ifdef E_IRQ_3
|
||
|
`undef E_IRQ_3
|
||
|
`endif
|
||
|
`ifdef E_IRQ_4
|
||
|
`undef E_IRQ_4
|
||
|
`endif
|
||
|
`ifdef E_SRC_AD
|
||
|
`undef E_SRC_AD
|
||
|
`endif
|
||
|
`ifdef E_SRC_RD
|
||
|
`undef E_SRC_RD
|
||
|
`endif
|
||
|
`ifdef E_SRC_WR
|
||
|
`undef E_SRC_WR
|
||
|
`endif
|
||
|
`ifdef E_DST_AD
|
||
|
`undef E_DST_AD
|
||
|
`endif
|
||
|
`ifdef E_DST_RD
|
||
|
`undef E_DST_RD
|
||
|
`endif
|
||
|
`ifdef E_DST_WR
|
||
|
`undef E_DST_WR
|
||
|
`endif
|
||
|
`ifdef E_EXEC
|
||
|
`undef E_EXEC
|
||
|
`endif
|
||
|
`ifdef E_JUMP
|
||
|
`undef E_JUMP
|
||
|
`endif
|
||
|
`ifdef E_IDLE
|
||
|
`undef E_IDLE
|
||
|
`endif
|
||
|
|
||
|
// ALU control signals
|
||
|
`ifdef ALU_SRC_INV
|
||
|
`undef ALU_SRC_INV
|
||
|
`endif
|
||
|
`ifdef ALU_INC
|
||
|
`undef ALU_INC
|
||
|
`endif
|
||
|
`ifdef ALU_INC_C
|
||
|
`undef ALU_INC_C
|
||
|
`endif
|
||
|
`ifdef ALU_ADD
|
||
|
`undef ALU_ADD
|
||
|
`endif
|
||
|
`ifdef ALU_AND
|
||
|
`undef ALU_AND
|
||
|
`endif
|
||
|
`ifdef ALU_OR
|
||
|
`undef ALU_OR
|
||
|
`endif
|
||
|
`ifdef ALU_XOR
|
||
|
`undef ALU_XOR
|
||
|
`endif
|
||
|
`ifdef ALU_DADD
|
||
|
`undef ALU_DADD
|
||
|
`endif
|
||
|
`ifdef ALU_STAT_7
|
||
|
`undef ALU_STAT_7
|
||
|
`endif
|
||
|
`ifdef ALU_STAT_F
|
||
|
`undef ALU_STAT_F
|
||
|
`endif
|
||
|
`ifdef ALU_SHIFT
|
||
|
`undef ALU_SHIFT
|
||
|
`endif
|
||
|
`ifdef EXEC_NO_WR
|
||
|
`undef EXEC_NO_WR
|
||
|
`endif
|
||
|
|
||
|
// Debug interface
|
||
|
`ifdef DBG_UART_WR
|
||
|
`undef DBG_UART_WR
|
||
|
`endif
|
||
|
`ifdef DBG_UART_BW
|
||
|
`undef DBG_UART_BW
|
||
|
`endif
|
||
|
`ifdef DBG_UART_ADDR
|
||
|
`undef DBG_UART_ADDR
|
||
|
`endif
|
||
|
|
||
|
// Debug interface CPU_CTL register
|
||
|
`ifdef HALT
|
||
|
`undef HALT
|
||
|
`endif
|
||
|
`ifdef RUN
|
||
|
`undef RUN
|
||
|
`endif
|
||
|
`ifdef ISTEP
|
||
|
`undef ISTEP
|
||
|
`endif
|
||
|
`ifdef SW_BRK_EN
|
||
|
`undef SW_BRK_EN
|
||
|
`endif
|
||
|
`ifdef FRZ_BRK_EN
|
||
|
`undef FRZ_BRK_EN
|
||
|
`endif
|
||
|
`ifdef RST_BRK_EN
|
||
|
`undef RST_BRK_EN
|
||
|
`endif
|
||
|
`ifdef CPU_RST
|
||
|
`undef CPU_RST
|
||
|
`endif
|
||
|
|
||
|
// Debug interface CPU_STAT register
|
||
|
`ifdef HALT_RUN
|
||
|
`undef HALT_RUN
|
||
|
`endif
|
||
|
`ifdef PUC_PND
|
||
|
`undef PUC_PND
|
||
|
`endif
|
||
|
`ifdef SWBRK_PND
|
||
|
`undef SWBRK_PND
|
||
|
`endif
|
||
|
`ifdef HWBRK0_PND
|
||
|
`undef HWBRK0_PND
|
||
|
`endif
|
||
|
`ifdef HWBRK1_PND
|
||
|
`undef HWBRK1_PND
|
||
|
`endif
|
||
|
|
||
|
// Debug interface BRKx_CTL register
|
||
|
`ifdef BRK_MODE_RD
|
||
|
`undef BRK_MODE_RD
|
||
|
`endif
|
||
|
`ifdef BRK_MODE_WR
|
||
|
`undef BRK_MODE_WR
|
||
|
`endif
|
||
|
`ifdef BRK_MODE
|
||
|
`undef BRK_MODE
|
||
|
`endif
|
||
|
`ifdef BRK_EN
|
||
|
`undef BRK_EN
|
||
|
`endif
|
||
|
`ifdef BRK_I_EN
|
||
|
`undef BRK_I_EN
|
||
|
`endif
|
||
|
`ifdef BRK_RANGE
|
||
|
`undef BRK_RANGE
|
||
|
`endif
|
||
|
|
||
|
// Basic clock module: BCSCTL1 Control Register
|
||
|
`ifdef DIVAx
|
||
|
`undef DIVAx
|
||
|
`endif
|
||
|
|
||
|
// Basic clock module: BCSCTL2 Control Register
|
||
|
`ifdef SELMx
|
||
|
`undef SELMx
|
||
|
`endif
|
||
|
`ifdef DIVMx
|
||
|
`undef DIVMx
|
||
|
`endif
|
||
|
`ifdef SELS
|
||
|
`undef SELS
|
||
|
`endif
|
||
|
`ifdef DIVSx
|
||
|
`undef DIVSx
|
||
|
`endif
|
||
|
|
||
|
// MCLK Clock gate
|
||
|
`ifdef MCLK_CGATE
|
||
|
`undef MCLK_CGATE
|
||
|
`endif
|
||
|
|
||
|
// SMCLK Clock gate
|
||
|
`ifdef SMCLK_CGATE
|
||
|
`undef SMCLK_CGATE
|
||
|
`endif
|
||
|
|
||
|
//
|
||
|
// DEBUG INTERFACE EXTRA CONFIGURATION
|
||
|
//======================================
|
||
|
|
||
|
// Debug interface: CPU version
|
||
|
`ifdef CPU_VERSION
|
||
|
`undef CPU_VERSION
|
||
|
`endif
|
||
|
|
||
|
// Debug interface: Software breakpoint opcode
|
||
|
`ifdef DBG_SWBRK_OP
|
||
|
`undef DBG_SWBRK_OP
|
||
|
`endif
|
||
|
|
||
|
// Debug UART interface auto data synchronization
|
||
|
`ifdef DBG_UART_AUTO_SYNC
|
||
|
`undef DBG_UART_AUTO_SYNC
|
||
|
`endif
|
||
|
|
||
|
// Debug UART interface data rate
|
||
|
`ifdef DBG_UART_BAUD
|
||
|
`undef DBG_UART_BAUD
|
||
|
`endif
|
||
|
`ifdef DBG_DCO_FREQ
|
||
|
`undef DBG_DCO_FREQ
|
||
|
`endif
|
||
|
`ifdef DBG_UART_CNT
|
||
|
`undef DBG_UART_CNT
|
||
|
`endif
|
||
|
|
||
|
// Debug interface selection
|
||
|
`ifdef DBG_UART
|
||
|
`undef DBG_UART
|
||
|
`endif
|
||
|
`ifdef DBG_JTAG
|
||
|
`undef DBG_JTAG
|
||
|
`endif
|
||
|
|
||
|
// Enable/Disable the hardware breakpoint RANGE mode
|
||
|
`ifdef HWBRK_RANGE
|
||
|
`undef HWBRK_RANGE
|
||
|
`endif
|
||
|
|
||
|
// Counter width for the debug interface UART
|
||
|
`ifdef DBG_UART_XFER_CNT_W
|
||
|
`undef DBG_UART_XFER_CNT_W
|
||
|
`endif
|
||
|
|
||
|
//
|
||
|
// MULTIPLIER CONFIGURATION
|
||
|
//======================================
|
||
|
|
||
|
`ifdef MPY_16x16
|
||
|
`undef MPY_16x16
|
||
|
`endif
|