Sat, 06 Aug 2011 01:32:07 +0100
Merge LM32 v3.8 into local mainline
Changes in this release:
FEATURE: Support for dynamically switching EBA to DEBA via a GPIO
BUGFIX: EA now reports instruction which caused the data abort, rather than the instruction following it
STYLE: Update comments to refer to latest Lattice license
1.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/jtag_cores.v 1.2 --- a/rtl/jtag_cores.v Tue Mar 08 09:59:34 2011 +0000 1.3 +++ b/rtl/jtag_cores.v Sat Aug 06 01:32:07 2011 +0100 1.4 @@ -1,66 +1,146 @@ 1.5 -// Modified by GSI to use simple positive edge clocking and the JTAG capture state 1.6 - 1.7 -module jtag_cores ( 1.8 - input [7:0] reg_d, 1.9 - input [2:0] reg_addr_d, 1.10 - output reg_update, 1.11 - output [7:0] reg_q, 1.12 - output [2:0] reg_addr_q, 1.13 - output jtck, 1.14 - output jrstn 1.15 -); 1.16 +// ================================================================== 1.17 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 1.18 +// ------------------------------------------------------------------ 1.19 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 1.20 +// ALL RIGHTS RESERVED 1.21 +// ------------------------------------------------------------------ 1.22 +// 1.23 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 1.24 +// 1.25 +// Permission: 1.26 +// 1.27 +// Lattice Semiconductor grants permission to use this code 1.28 +// pursuant to the terms of the Lattice Semiconductor Corporation 1.29 +// Open Source License Agreement. 1.30 +// 1.31 +// Disclaimer: 1.32 +// 1.33 +// Lattice Semiconductor provides no warranty regarding the use or 1.34 +// functionality of this code. It is the user's responsibility to 1.35 +// verify the user�s design for consistency and functionality through 1.36 +// the use of formal verification methods. 1.37 +// 1.38 +// -------------------------------------------------------------------- 1.39 +// 1.40 +// Lattice Semiconductor Corporation 1.41 +// 5555 NE Moore Court 1.42 +// Hillsboro, OR 97214 1.43 +// U.S.A 1.44 +// 1.45 +// TEL: 1-800-Lattice (USA and Canada) 1.46 +// 503-286-8001 (other locations) 1.47 +// 1.48 +// web: http://www.latticesemi.com/ 1.49 +// email: techsupport@latticesemi.com 1.50 +// 1.51 +// -------------------------------------------------------------------- 1.52 +// FILE DETAILS 1.53 +// Project : LatticeMico32 1.54 +// File : jtag_cores.v 1.55 +// Title : Instantiates all IP cores on JTAG chain. 1.56 +// Dependencies : system_conf.v 1.57 +// Version : 6.0.14 1.58 +// : modified to use jtagconn for LM32, 1.59 +// : all technologies 7/10/07 1.60 +// Version : 7.0SP2, 3.0 1.61 +// : No Change 1.62 +// Version : 3.1 1.63 +// : No Change 1.64 +// ============================================================================ 1.65 1.66 -wire tck; 1.67 -wire tdi; 1.68 -wire tdo; 1.69 -wire capture; 1.70 -wire shift; 1.71 -wire update; 1.72 -wire e1dr; 1.73 -wire reset; 1.74 +`include "system_conf.v" 1.75 + 1.76 +///////////////////////////////////////////////////// 1.77 +// jtagconn16 Module Definition 1.78 +///////////////////////////////////////////////////// 1.79 1.80 -jtag_tap jtag_tap ( 1.81 - .tck(tck), 1.82 - .tdi(tdi), 1.83 - .tdo(tdo), 1.84 - .capture(capture), 1.85 - .shift(shift), 1.86 - .e1dr(e1dr), 1.87 - .update(update), 1.88 - .reset(reset) 1.89 -); 1.90 +module jtagconn16 (er2_tdo, jtck, jtdi, jshift, jupdate, jrstn, jce2, ip_enable) ; 1.91 + input er2_tdo ; 1.92 + output jtck ; 1.93 + output jtdi ; 1.94 + output jshift ; 1.95 + output jupdate ; 1.96 + output jrstn ; 1.97 + output jce2 ; 1.98 + output ip_enable ; 1.99 +endmodule 1.100 + 1.101 +///////////////////////////////////////////////////// 1.102 +// Module interface 1.103 +///////////////////////////////////////////////////// 1.104 1.105 -reg [10:0] jtag_shift; 1.106 -reg [10:0] jtag_latched; 1.107 +(* syn_hier="hard" *) module jtag_cores ( 1.108 + // ----- Inputs ------- 1.109 + reg_d, 1.110 + reg_addr_d, 1.111 + // ----- Outputs ------- 1.112 + reg_update, 1.113 + reg_q, 1.114 + reg_addr_q, 1.115 + jtck, 1.116 + jrstn 1.117 + ); 1.118 + 1.119 +///////////////////////////////////////////////////// 1.120 +// Inputs 1.121 +///////////////////////////////////////////////////// 1.122 1.123 -always @(posedge tck) 1.124 -begin 1.125 - if(reset) 1.126 - jtag_shift <= 11'b0; 1.127 - else begin 1.128 - if (shift) 1.129 - jtag_shift <= {tdi, jtag_shift[10:1]}; 1.130 - else if (capture) 1.131 - jtag_shift <= {reg_d, reg_addr_d}; 1.132 - end 1.133 -end 1.134 +input [7:0] reg_d; 1.135 +input [2:0] reg_addr_d; 1.136 1.137 -assign tdo = jtag_shift[0]; 1.138 +///////////////////////////////////////////////////// 1.139 +// Outputs 1.140 +///////////////////////////////////////////////////// 1.141 + 1.142 +output reg_update; 1.143 +wire reg_update; 1.144 +output [7:0] reg_q; 1.145 +wire [7:0] reg_q; 1.146 +output [2:0] reg_addr_q; 1.147 +wire [2:0] reg_addr_q; 1.148 + 1.149 +output jtck; 1.150 +wire jtck; /* synthesis syn_keep=1 */ 1.151 +output jrstn; 1.152 +wire jrstn; /* synthesis syn_keep=1 */ 1.153 1.154 -always @(posedge tck) 1.155 -begin 1.156 - if(reset) 1.157 - jtag_latched <= 11'b0; 1.158 - else begin 1.159 - if (e1dr) 1.160 - jtag_latched <= jtag_shift; 1.161 - end 1.162 -end 1.163 +///////////////////////////////////////////////////// 1.164 +// Instantiations 1.165 +///////////////////////////////////////////////////// 1.166 1.167 -assign reg_update = update; 1.168 -assign reg_q = jtag_latched[10:3]; 1.169 -assign reg_addr_q = jtag_latched[2:0]; 1.170 -assign jtck = tck; 1.171 -assign jrstn = ~reset; 1.172 - 1.173 +wire jtdi; /* synthesis syn_keep=1 */ 1.174 +wire er2_tdo2; /* synthesis syn_keep=1 */ 1.175 +wire jshift; /* synthesis syn_keep=1 */ 1.176 +wire jupdate; /* synthesis syn_keep=1 */ 1.177 +wire jce2; /* synthesis syn_keep=1 */ 1.178 +wire ip_enable; /* synthesis syn_keep=1 */ 1.179 + 1.180 +(* JTAG_IP="LM32", IP_ID="0", HUB_ID="0", syn_noprune=1 *) jtagconn16 jtagconn16_lm32_inst ( 1.181 + .er2_tdo (er2_tdo2), 1.182 + .jtck (jtck), 1.183 + .jtdi (jtdi), 1.184 + .jshift (jshift), 1.185 + .jupdate (jupdate), 1.186 + .jrstn (jrstn), 1.187 + .jce2 (jce2), 1.188 + .ip_enable (ip_enable) 1.189 +); 1.190 + 1.191 +(* syn_noprune=1 *) jtag_lm32 jtag_lm32_inst ( 1.192 + .JTCK (jtck), 1.193 + .JTDI (jtdi), 1.194 + .JTDO2 (er2_tdo2), 1.195 + .JSHIFT (jshift), 1.196 + .JUPDATE (jupdate), 1.197 + .JRSTN (jrstn), 1.198 + .JCE2 (jce2), 1.199 + .JTAGREG_ENABLE (ip_enable), 1.200 + .CONTROL_DATAN (), 1.201 + .REG_UPDATE (reg_update), 1.202 + .REG_D (reg_d), 1.203 + .REG_ADDR_D (reg_addr_d), 1.204 + .REG_Q (reg_q), 1.205 + .REG_ADDR_Q (reg_addr_q) 1.206 + ); 1.207 + 1.208 endmodule
2.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_adder.v 2.2 --- a/rtl/lm32_adder.v Tue Mar 08 09:59:34 2011 +0000 2.3 +++ b/rtl/lm32_adder.v Sat Aug 06 01:32:07 2011 +0100 2.4 @@ -1,18 +1,39 @@ 2.5 -// ============================================================================= 2.6 -// COPYRIGHT NOTICE 2.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 2.8 -// ALL RIGHTS RESERVED 2.9 -// This confidential and proprietary software may be used only as authorised by 2.10 -// a licensing agreement from Lattice Semiconductor Corporation. 2.11 -// The entire notice above must be reproduced on all authorized copies and 2.12 -// copies may only be made to the extent permitted by a licensing agreement from 2.13 -// Lattice Semiconductor Corporation. 2.14 +// ================================================================== 2.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 2.16 +// ------------------------------------------------------------------ 2.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 2.18 +// ALL RIGHTS RESERVED 2.19 +// ------------------------------------------------------------------ 2.20 +// 2.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 2.22 +// 2.23 +// Permission: 2.24 +// 2.25 +// Lattice Semiconductor grants permission to use this code 2.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 2.27 +// Open Source License Agreement. 2.28 +// 2.29 +// Disclaimer: 2.30 // 2.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 2.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 2.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 2.34 -// U.S.A email: techsupport@latticesemi.com 2.35 -// ============================================================================/ 2.36 +// Lattice Semiconductor provides no warranty regarding the use or 2.37 +// functionality of this code. It is the user's responsibility to 2.38 +// verify the user’s design for consistency and functionality through 2.39 +// the use of formal verification methods. 2.40 +// 2.41 +// -------------------------------------------------------------------- 2.42 +// 2.43 +// Lattice Semiconductor Corporation 2.44 +// 5555 NE Moore Court 2.45 +// Hillsboro, OR 97214 2.46 +// U.S.A 2.47 +// 2.48 +// TEL: 1-800-Lattice (USA and Canada) 2.49 +// 503-286-8001 (other locations) 2.50 +// 2.51 +// web: http://www.latticesemi.com/ 2.52 +// email: techsupport@latticesemi.com 2.53 +// 2.54 +// -------------------------------------------------------------------- 2.55 // FILE DETAILS 2.56 // Project : LatticeMico32 2.57 // File : lm32_adder.v
3.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_addsub.v 3.2 --- a/rtl/lm32_addsub.v Tue Mar 08 09:59:34 2011 +0000 3.3 +++ b/rtl/lm32_addsub.v Sat Aug 06 01:32:07 2011 +0100 3.4 @@ -1,18 +1,39 @@ 3.5 -// ============================================================================= 3.6 -// COPYRIGHT NOTICE 3.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 3.8 -// ALL RIGHTS RESERVED 3.9 -// This confidential and proprietary software may be used only as authorised by 3.10 -// a licensing agreement from Lattice Semiconductor Corporation. 3.11 -// The entire notice above must be reproduced on all authorized copies and 3.12 -// copies may only be made to the extent permitted by a licensing agreement from 3.13 -// Lattice Semiconductor Corporation. 3.14 +// ================================================================== 3.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 3.16 +// ------------------------------------------------------------------ 3.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 3.18 +// ALL RIGHTS RESERVED 3.19 +// ------------------------------------------------------------------ 3.20 +// 3.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 3.22 +// 3.23 +// Permission: 3.24 +// 3.25 +// Lattice Semiconductor grants permission to use this code 3.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 3.27 +// Open Source License Agreement. 3.28 +// 3.29 +// Disclaimer: 3.30 // 3.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 3.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 3.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 3.34 -// U.S.A email: techsupport@latticesemi.com 3.35 -// =============================================================================/ 3.36 +// Lattice Semiconductor provides no warranty regarding the use or 3.37 +// functionality of this code. It is the user's responsibility to 3.38 +// verify the user’s design for consistency and functionality through 3.39 +// the use of formal verification methods. 3.40 +// 3.41 +// -------------------------------------------------------------------- 3.42 +// 3.43 +// Lattice Semiconductor Corporation 3.44 +// 5555 NE Moore Court 3.45 +// Hillsboro, OR 97214 3.46 +// U.S.A 3.47 +// 3.48 +// TEL: 1-800-Lattice (USA and Canada) 3.49 +// 503-286-8001 (other locations) 3.50 +// 3.51 +// web: http://www.latticesemi.com/ 3.52 +// email: techsupport@latticesemi.com 3.53 +// 3.54 +// -------------------------------------------------------------------- 3.55 // FILE DETAILS 3.56 // Project : LatticeMico32 3.57 // File : lm32_addsub.v
4.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_cpu.v 4.2 --- a/rtl/lm32_cpu.v Tue Mar 08 09:59:34 2011 +0000 4.3 +++ b/rtl/lm32_cpu.v Sat Aug 06 01:32:07 2011 +0100 4.4 @@ -1,24 +1,50 @@ 4.5 -// ============================================================================= 4.6 -// COPYRIGHT NOTICE 4.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 4.8 -// ALL RIGHTS RESERVED 4.9 -// This confidential and proprietary software may be used only as authorised by 4.10 -// a licensing agreement from Lattice Semiconductor Corporation. 4.11 -// The entire notice above must be reproduced on all authorized copies and 4.12 -// copies may only be made to the extent permitted by a licensing agreement from 4.13 -// Lattice Semiconductor Corporation. 4.14 +// ================================================================== 4.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 4.16 +// ------------------------------------------------------------------ 4.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 4.18 +// ALL RIGHTS RESERVED 4.19 +// ------------------------------------------------------------------ 4.20 +// 4.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 4.22 +// 4.23 +// Permission: 4.24 +// 4.25 +// Lattice Semiconductor grants permission to use this code 4.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 4.27 +// Open Source License Agreement. 4.28 +// 4.29 +// Disclaimer: 4.30 // 4.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 4.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 4.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 4.34 -// U.S.A email: techsupport@latticesemi.com 4.35 -// =============================================================================/ 4.36 +// Lattice Semiconductor provides no warranty regarding the use or 4.37 +// functionality of this code. It is the user's responsibility to 4.38 +// verify the user’s design for consistency and functionality through 4.39 +// the use of formal verification methods. 4.40 +// 4.41 +// -------------------------------------------------------------------- 4.42 +// 4.43 +// Lattice Semiconductor Corporation 4.44 +// 5555 NE Moore Court 4.45 +// Hillsboro, OR 97214 4.46 +// U.S.A 4.47 +// 4.48 +// TEL: 1-800-Lattice (USA and Canada) 4.49 +// 503-286-8001 (other locations) 4.50 +// 4.51 +// web: http://www.latticesemi.com/ 4.52 +// email: techsupport@latticesemi.com 4.53 +// 4.54 +// -------------------------------------------------------------------- 4.55 // FILE DETAILS 4.56 // Project : LatticeMico32 4.57 // File : lm32_cpu.v 4.58 // Title : Top-level of CPU. 4.59 // Dependencies : lm32_include.v 4.60 // 4.61 +// Version 3.8 4.62 +// 1. Feature: Support for dynamically switching EBA to DEBA via a GPIO. 4.63 +// 2. Bug: EA now reports instruction that caused the data abort, rather than 4.64 +// next instruction. 4.65 +// 4.66 // Version 3.4 4.67 // 1. Bug Fix: In a tight infinite loop (add, sw, bi) incoming interrupts were 4.68 // never serviced. 4.69 @@ -75,6 +101,11 @@ 4.70 clk_n_i, 4.71 `endif 4.72 rst_i, 4.73 +`ifdef CFG_DEBUG_ENABLED 4.74 + `ifdef CFG_ALTERNATE_EBA 4.75 + at_debug, 4.76 + `endif 4.77 +`endif 4.78 // From external devices 4.79 `ifdef CFG_INTERRUPTS_ENABLED 4.80 interrupt, 4.81 @@ -212,6 +243,12 @@ 4.82 `endif 4.83 input rst_i; // Reset 4.84 4.85 +`ifdef CFG_DEBUG_ENABLED 4.86 + `ifdef CFG_ALTERNATE_EBA 4.87 + input at_debug; // GPIO input that maps EBA to DEBA 4.88 + `endif 4.89 +`endif 4.90 + 4.91 `ifdef CFG_INTERRUPTS_ENABLED 4.92 input [`LM32_INTERRUPT_RNG] interrupt; // Interrupt pins 4.93 `endif 4.94 @@ -751,6 +788,11 @@ 4.95 // ----- Inputs ------- 4.96 .clk_i (clk_i), 4.97 .rst_i (rst_i), 4.98 +`ifdef CFG_DEBUG_ENABLED 4.99 + `ifdef CFG_ALTERNATE_EBA 4.100 + .at_debug (at_debug), 4.101 + `endif 4.102 +`endif 4.103 // From pipeline 4.104 .stall_a (stall_a), 4.105 .stall_f (stall_f), 4.106 @@ -2476,6 +2518,9 @@ 4.107 `ifdef CFG_DEBUG_ENABLED 4.108 if (exception_x == `TRUE) 4.109 if ((dc_re == `TRUE) 4.110 + `ifdef CFG_ALTERNATE_EBA 4.111 + || (at_debug == `TRUE) 4.112 + `endif 4.113 || ((debug_exception_x == `TRUE) 4.114 && (non_debug_exception_x == `FALSE))) 4.115 branch_target_m <= {deba, eid_x, {3{1'b0}}}; 4.116 @@ -2546,6 +2591,7 @@ 4.117 `endif 4.118 `ifdef CFG_BUS_ERRORS_ENABLED 4.119 if ( (stall_m == `FALSE) 4.120 + && (data_bus_error_exception == `FALSE) 4.121 && ( (load_q_m == `TRUE) 4.122 || (store_q_m == `TRUE) 4.123 )
5.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_dcache.v 5.2 --- a/rtl/lm32_dcache.v Tue Mar 08 09:59:34 2011 +0000 5.3 +++ b/rtl/lm32_dcache.v Sat Aug 06 01:32:07 2011 +0100 5.4 @@ -1,18 +1,39 @@ 5.5 -// ============================================================================= 5.6 -// COPYRIGHT NOTICE 5.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 5.8 -// ALL RIGHTS RESERVED 5.9 -// This confidential and proprietary software may be used only as authorised by 5.10 -// a licensing agreement from Lattice Semiconductor Corporation. 5.11 -// The entire notice above must be reproduced on all authorized copies and 5.12 -// copies may only be made to the extent permitted by a licensing agreement from 5.13 -// Lattice Semiconductor Corporation. 5.14 +// ================================================================== 5.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 5.16 +// ------------------------------------------------------------------ 5.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 5.18 +// ALL RIGHTS RESERVED 5.19 +// ------------------------------------------------------------------ 5.20 +// 5.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 5.22 +// 5.23 +// Permission: 5.24 +// 5.25 +// Lattice Semiconductor grants permission to use this code 5.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 5.27 +// Open Source License Agreement. 5.28 +// 5.29 +// Disclaimer: 5.30 // 5.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 5.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 5.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 5.34 -// U.S.A email: techsupport@latticesemi.com 5.35 -// =============================================================================/ 5.36 +// Lattice Semiconductor provides no warranty regarding the use or 5.37 +// functionality of this code. It is the user's responsibility to 5.38 +// verify the user’s design for consistency and functionality through 5.39 +// the use of formal verification methods. 5.40 +// 5.41 +// -------------------------------------------------------------------- 5.42 +// 5.43 +// Lattice Semiconductor Corporation 5.44 +// 5555 NE Moore Court 5.45 +// Hillsboro, OR 97214 5.46 +// U.S.A 5.47 +// 5.48 +// TEL: 1-800-Lattice (USA and Canada) 5.49 +// 503-286-8001 (other locations) 5.50 +// 5.51 +// web: http://www.latticesemi.com/ 5.52 +// email: techsupport@latticesemi.com 5.53 +// 5.54 +// -------------------------------------------------------------------- 5.55 // FILE DETAILS 5.56 // Project : LatticeMico32 5.57 // File : lm32_dcache.v
6.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_debug.v 6.2 --- a/rtl/lm32_debug.v Tue Mar 08 09:59:34 2011 +0000 6.3 +++ b/rtl/lm32_debug.v Sat Aug 06 01:32:07 2011 +0100 6.4 @@ -1,18 +1,39 @@ 6.5 -// ============================================================================= 6.6 -// COPYRIGHT NOTICE 6.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 6.8 -// ALL RIGHTS RESERVED 6.9 -// This confidential and proprietary software may be used only as authorised by 6.10 -// a licensing agreement from Lattice Semiconductor Corporation. 6.11 -// The entire notice above must be reproduced on all authorized copies and 6.12 -// copies may only be made to the extent permitted by a licensing agreement from 6.13 -// Lattice Semiconductor Corporation. 6.14 +// ================================================================== 6.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 6.16 +// ------------------------------------------------------------------ 6.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 6.18 +// ALL RIGHTS RESERVED 6.19 +// ------------------------------------------------------------------ 6.20 +// 6.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 6.22 +// 6.23 +// Permission: 6.24 +// 6.25 +// Lattice Semiconductor grants permission to use this code 6.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 6.27 +// Open Source License Agreement. 6.28 +// 6.29 +// Disclaimer: 6.30 // 6.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 6.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 6.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 6.34 -// U.S.A email: techsupport@latticesemi.com 6.35 -// =============================================================================/ 6.36 +// Lattice Semiconductor provides no warranty regarding the use or 6.37 +// functionality of this code. It is the user's responsibility to 6.38 +// verify the user’s design for consistency and functionality through 6.39 +// the use of formal verification methods. 6.40 +// 6.41 +// -------------------------------------------------------------------- 6.42 +// 6.43 +// Lattice Semiconductor Corporation 6.44 +// 5555 NE Moore Court 6.45 +// Hillsboro, OR 97214 6.46 +// U.S.A 6.47 +// 6.48 +// TEL: 1-800-Lattice (USA and Canada) 6.49 +// 503-286-8001 (other locations) 6.50 +// 6.51 +// web: http://www.latticesemi.com/ 6.52 +// email: techsupport@latticesemi.com 6.53 +// 6.54 +// -------------------------------------------------------------------- 6.55 // FILE DETAILS 6.56 // Project : LatticeMico32 6.57 // File : lm32_debug.v
7.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_decoder.v 7.2 --- a/rtl/lm32_decoder.v Tue Mar 08 09:59:34 2011 +0000 7.3 +++ b/rtl/lm32_decoder.v Sat Aug 06 01:32:07 2011 +0100 7.4 @@ -1,18 +1,39 @@ 7.5 -// ============================================================================= 7.6 -// COPYRIGHT NOTICE 7.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 7.8 -// ALL RIGHTS RESERVED 7.9 -// This confidential and proprietary software may be used only as authorised by 7.10 -// a licensing agreement from Lattice Semiconductor Corporation. 7.11 -// The entire notice above must be reproduced on all authorized copies and 7.12 -// copies may only be made to the extent permitted by a licensing agreement from 7.13 -// Lattice Semiconductor Corporation. 7.14 +// ================================================================== 7.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 7.16 +// ------------------------------------------------------------------ 7.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 7.18 +// ALL RIGHTS RESERVED 7.19 +// ------------------------------------------------------------------ 7.20 +// 7.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 7.22 +// 7.23 +// Permission: 7.24 +// 7.25 +// Lattice Semiconductor grants permission to use this code 7.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 7.27 +// Open Source License Agreement. 7.28 +// 7.29 +// Disclaimer: 7.30 // 7.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 7.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 7.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 7.34 -// U.S.A email: techsupport@latticesemi.com 7.35 -// =============================================================================/ 7.36 +// Lattice Semiconductor provides no warranty regarding the use or 7.37 +// functionality of this code. It is the user's responsibility to 7.38 +// verify the user’s design for consistency and functionality through 7.39 +// the use of formal verification methods. 7.40 +// 7.41 +// -------------------------------------------------------------------- 7.42 +// 7.43 +// Lattice Semiconductor Corporation 7.44 +// 5555 NE Moore Court 7.45 +// Hillsboro, OR 97214 7.46 +// U.S.A 7.47 +// 7.48 +// TEL: 1-800-Lattice (USA and Canada) 7.49 +// 503-286-8001 (other locations) 7.50 +// 7.51 +// web: http://www.latticesemi.com/ 7.52 +// email: techsupport@latticesemi.com 7.53 +// 7.54 +// -------------------------------------------------------------------- 7.55 // FILE DETAILS 7.56 // Project : LatticeMico32 7.57 // File : lm32_decoder.v
8.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_functions.v 8.2 --- a/rtl/lm32_functions.v Tue Mar 08 09:59:34 2011 +0000 8.3 +++ b/rtl/lm32_functions.v Sat Aug 06 01:32:07 2011 +0100 8.4 @@ -1,18 +1,39 @@ 8.5 -// ============================================================================= 8.6 -// COPYRIGHT NOTICE 8.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 8.8 -// ALL RIGHTS RESERVED 8.9 -// This confidential and proprietary software may be used only as authorised by 8.10 -// a licensing agreement from Lattice Semiconductor Corporation. 8.11 -// The entire notice above must be reproduced on all authorized copies and 8.12 -// copies may only be made to the extent permitted by a licensing agreement from 8.13 -// Lattice Semiconductor Corporation. 8.14 +// ================================================================== 8.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 8.16 +// ------------------------------------------------------------------ 8.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 8.18 +// ALL RIGHTS RESERVED 8.19 +// ------------------------------------------------------------------ 8.20 +// 8.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 8.22 +// 8.23 +// Permission: 8.24 +// 8.25 +// Lattice Semiconductor grants permission to use this code 8.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 8.27 +// Open Source License Agreement. 8.28 +// 8.29 +// Disclaimer: 8.30 // 8.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 8.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 8.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 8.34 -// U.S.A email: techsupport@latticesemi.com 8.35 -// =============================================================================/ 8.36 +// Lattice Semiconductor provides no warranty regarding the use or 8.37 +// functionality of this code. It is the user's responsibility to 8.38 +// verify the user’s design for consistency and functionality through 8.39 +// the use of formal verification methods. 8.40 +// 8.41 +// -------------------------------------------------------------------- 8.42 +// 8.43 +// Lattice Semiconductor Corporation 8.44 +// 5555 NE Moore Court 8.45 +// Hillsboro, OR 97214 8.46 +// U.S.A 8.47 +// 8.48 +// TEL: 1-800-Lattice (USA and Canada) 8.49 +// 503-286-8001 (other locations) 8.50 +// 8.51 +// web: http://www.latticesemi.com/ 8.52 +// email: techsupport@latticesemi.com 8.53 +// 8.54 +// -------------------------------------------------------------------- 8.55 // FILE DETAILS 8.56 // Project : LatticeMico32 8.57 // File : lm32_functions.v
9.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_icache.v 9.2 --- a/rtl/lm32_icache.v Tue Mar 08 09:59:34 2011 +0000 9.3 +++ b/rtl/lm32_icache.v Sat Aug 06 01:32:07 2011 +0100 9.4 @@ -1,18 +1,39 @@ 9.5 -// ============================================================================= 9.6 -// COPYRIGHT NOTICE 9.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 9.8 -// ALL RIGHTS RESERVED 9.9 -// This confidential and proprietary software may be used only as authorised by 9.10 -// a licensing agreement from Lattice Semiconductor Corporation. 9.11 -// The entire notice above must be reproduced on all authorized copies and 9.12 -// copies may only be made to the extent permitted by a licensing agreement from 9.13 -// Lattice Semiconductor Corporation. 9.14 +// ================================================================== 9.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 9.16 +// ------------------------------------------------------------------ 9.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 9.18 +// ALL RIGHTS RESERVED 9.19 +// ------------------------------------------------------------------ 9.20 +// 9.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 9.22 +// 9.23 +// Permission: 9.24 +// 9.25 +// Lattice Semiconductor grants permission to use this code 9.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 9.27 +// Open Source License Agreement. 9.28 +// 9.29 +// Disclaimer: 9.30 // 9.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 9.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 9.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 9.34 -// U.S.A email: techsupport@latticesemi.com 9.35 -// =============================================================================/ 9.36 +// Lattice Semiconductor provides no warranty regarding the use or 9.37 +// functionality of this code. It is the user's responsibility to 9.38 +// verify the user’s design for consistency and functionality through 9.39 +// the use of formal verification methods. 9.40 +// 9.41 +// -------------------------------------------------------------------- 9.42 +// 9.43 +// Lattice Semiconductor Corporation 9.44 +// 5555 NE Moore Court 9.45 +// Hillsboro, OR 97214 9.46 +// U.S.A 9.47 +// 9.48 +// TEL: 1-800-Lattice (USA and Canada) 9.49 +// 503-286-8001 (other locations) 9.50 +// 9.51 +// web: http://www.latticesemi.com/ 9.52 +// email: techsupport@latticesemi.com 9.53 +// 9.54 +// -------------------------------------------------------------------- 9.55 // FILE DETAILS 9.56 // Project : LatticeMico32 9.57 // File : lm32_icache.v
10.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_include.v 10.2 --- a/rtl/lm32_include.v Tue Mar 08 09:59:34 2011 +0000 10.3 +++ b/rtl/lm32_include.v Sat Aug 06 01:32:07 2011 +0100 10.4 @@ -1,18 +1,39 @@ 10.5 -// ============================================================================= 10.6 -// COPYRIGHT NOTICE 10.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 10.8 -// ALL RIGHTS RESERVED 10.9 -// This confidential and proprietary software may be used only as authorised by 10.10 -// a licensing agreement from Lattice Semiconductor Corporation. 10.11 -// The entire notice above must be reproduced on all authorized copies and 10.12 -// copies may only be made to the extent permitted by a licensing agreement from 10.13 -// Lattice Semiconductor Corporation. 10.14 +// ================================================================== 10.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 10.16 +// ------------------------------------------------------------------ 10.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 10.18 +// ALL RIGHTS RESERVED 10.19 +// ------------------------------------------------------------------ 10.20 +// 10.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 10.22 +// 10.23 +// Permission: 10.24 +// 10.25 +// Lattice Semiconductor grants permission to use this code 10.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 10.27 +// Open Source License Agreement. 10.28 +// 10.29 +// Disclaimer: 10.30 // 10.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 10.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 10.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 10.34 -// U.S.A email: techsupport@latticesemi.com 10.35 -// =============================================================================/ 10.36 +// Lattice Semiconductor provides no warranty regarding the use or 10.37 +// functionality of this code. It is the user's responsibility to 10.38 +// verify the user’s design for consistency and functionality through 10.39 +// the use of formal verification methods. 10.40 +// 10.41 +// -------------------------------------------------------------------- 10.42 +// 10.43 +// Lattice Semiconductor Corporation 10.44 +// 5555 NE Moore Court 10.45 +// Hillsboro, OR 97214 10.46 +// U.S.A 10.47 +// 10.48 +// TEL: 1-800-Lattice (USA and Canada) 10.49 +// 503-286-8001 (other locations) 10.50 +// 10.51 +// web: http://www.latticesemi.com/ 10.52 +// email: techsupport@latticesemi.com 10.53 +// 10.54 +// -------------------------------------------------------------------- 10.55 // FILE DETAILS 10.56 // Project : LatticeMico32 10.57 // File : lm32_include.v
11.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_instruction_unit.v 11.2 --- a/rtl/lm32_instruction_unit.v Tue Mar 08 09:59:34 2011 +0000 11.3 +++ b/rtl/lm32_instruction_unit.v Sat Aug 06 01:32:07 2011 +0100 11.4 @@ -1,18 +1,39 @@ 11.5 -// ============================================================================= 11.6 -// COPYRIGHT NOTICE 11.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 11.8 -// ALL RIGHTS RESERVED 11.9 -// This confidential and proprietary software may be used only as authorised by 11.10 -// a licensing agreement from Lattice Semiconductor Corporation. 11.11 -// The entire notice above must be reproduced on all authorized copies and 11.12 -// copies may only be made to the extent permitted by a licensing agreement from 11.13 -// Lattice Semiconductor Corporation. 11.14 +// ================================================================== 11.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 11.16 +// ------------------------------------------------------------------ 11.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 11.18 +// ALL RIGHTS RESERVED 11.19 +// ------------------------------------------------------------------ 11.20 +// 11.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 11.22 +// 11.23 +// Permission: 11.24 +// 11.25 +// Lattice Semiconductor grants permission to use this code 11.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 11.27 +// Open Source License Agreement. 11.28 +// 11.29 +// Disclaimer: 11.30 // 11.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 11.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 11.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 11.34 -// U.S.A email: techsupport@latticesemi.com 11.35 -// =============================================================================/ 11.36 +// Lattice Semiconductor provides no warranty regarding the use or 11.37 +// functionality of this code. It is the user's responsibility to 11.38 +// verify the user’s design for consistency and functionality through 11.39 +// the use of formal verification methods. 11.40 +// 11.41 +// -------------------------------------------------------------------- 11.42 +// 11.43 +// Lattice Semiconductor Corporation 11.44 +// 5555 NE Moore Court 11.45 +// Hillsboro, OR 97214 11.46 +// U.S.A 11.47 +// 11.48 +// TEL: 1-800-Lattice (USA and Canada) 11.49 +// 503-286-8001 (other locations) 11.50 +// 11.51 +// web: http://www.latticesemi.com/ 11.52 +// email: techsupport@latticesemi.com 11.53 +// 11.54 +// -------------------------------------------------------------------- 11.55 // FILE DETAILS 11.56 // Project : LatticeMico32 11.57 // File : lm32_instruction_unit.v 11.58 @@ -42,6 +63,9 @@ 11.59 // : instruction cache) to lock up in to an infinite loop due to a 11.60 // : instruction bus error when EBA was set to instruction inline 11.61 // : memory. 11.62 +// Version : 3.8 11.63 +// : Feature: Support for dynamically switching EBA to DEBA via a 11.64 +// : GPIO. 11.65 // ============================================================================= 11.66 11.67 `include "lm32_include.v" 11.68 @@ -54,6 +78,11 @@ 11.69 // ----- Inputs ------- 11.70 clk_i, 11.71 rst_i, 11.72 +`ifdef CFG_DEBUG_ENABLED 11.73 + `ifdef CFG_ALTERNATE_EBA 11.74 + at_debug, 11.75 + `endif 11.76 +`endif 11.77 // From pipeline 11.78 stall_a, 11.79 stall_f, 11.80 @@ -161,6 +190,12 @@ 11.81 input clk_i; // Clock 11.82 input rst_i; // Reset 11.83 11.84 +`ifdef CFG_DEBUG_ENABLED 11.85 + `ifdef CFG_ALTERNATE_EBA 11.86 + input at_debug; // GPIO input that maps EBA to DEBA 11.87 + `endif 11.88 +`endif 11.89 + 11.90 input stall_a; // Stall A stage instruction 11.91 input stall_f; // Stall F stage instruction 11.92 input stall_d; // Stall D stage instruction 11.93 @@ -334,6 +369,10 @@ 11.94 reg jtag_access; // Indicates if a JTAG WB access is in progress 11.95 `endif 11.96 11.97 +`ifdef CFG_ALTERNATE_EBA 11.98 + reg alternate_eba_taken; 11.99 +`endif 11.100 + 11.101 ///////////////////////////////////////////////////// 11.102 // Functions 11.103 ///////////////////////////////////////////////////// 11.104 @@ -381,8 +420,8 @@ 11.105 .ResetB (rst_i), 11.106 .DataInA ({32{1'b0}}), 11.107 .DataInB (irom_store_data_m), 11.108 - .AddressA (pc_a[(clogb2(`CFG_IROM_LIMIT/4-`CFG_IROM_BASE_ADDRESS/4+1)-1)+2-1:2]), 11.109 - .AddressB (irom_address_xm[(clogb2(`CFG_IROM_LIMIT/4-`CFG_IROM_BASE_ADDRESS/4+1)-1)+2-1:2]), 11.110 + .AddressA (pc_a[clogb2_v1(`CFG_IROM_LIMIT/4-`CFG_IROM_BASE_ADDRESS/4+1)+2-1:2]), 11.111 + .AddressB (irom_address_xm[clogb2_v1(`CFG_IROM_LIMIT/4-`CFG_IROM_BASE_ADDRESS/4+1)+2-1:2]), 11.112 .ClockEnA (!stall_a), 11.113 .ClockEnB (!stall_x || !stall_m), 11.114 .WrA (`FALSE), 11.115 @@ -469,7 +508,7 @@ 11.116 pc_a = restart_address; 11.117 else 11.118 `endif 11.119 - pc_a = pc_f + 1'b1; 11.120 + pc_a = pc_f + 1'b1; 11.121 end 11.122 11.123 // Select where instruction should be fetched from 11.124 @@ -542,28 +581,39 @@ 11.125 11.126 // PC 11.127 always @(posedge clk_i `CFG_RESET_SENSITIVITY) 11.128 -begin 11.129 - if (rst_i == `TRUE) 11.130 - begin 11.131 - pc_f <= (`CFG_EBA_RESET-4)/4; 11.132 - pc_d <= {`LM32_PC_WIDTH{1'b0}}; 11.133 - pc_x <= {`LM32_PC_WIDTH{1'b0}}; 11.134 - pc_m <= {`LM32_PC_WIDTH{1'b0}}; 11.135 - pc_w <= {`LM32_PC_WIDTH{1'b0}}; 11.136 - end 11.137 - else 11.138 - begin 11.139 - if (stall_f == `FALSE) 11.140 + begin 11.141 + if (rst_i == `TRUE) 11.142 + begin 11.143 +`ifdef CFG_DEBUG_ENABLED 11.144 + `ifdef CFG_ALTERNATE_EBA 11.145 + if (at_debug == `TRUE) 11.146 + pc_f <= (`CFG_DEBA_RESET-4)/4; 11.147 + else 11.148 + pc_f <= (`CFG_EBA_RESET-4)/4; 11.149 + `else 11.150 + pc_f <= (`CFG_EBA_RESET-4)/4; 11.151 + `endif 11.152 +`else 11.153 + pc_f <= (`CFG_EBA_RESET-4)/4; 11.154 +`endif 11.155 + pc_d <= {`LM32_PC_WIDTH{1'b0}}; 11.156 + pc_x <= {`LM32_PC_WIDTH{1'b0}}; 11.157 + pc_m <= {`LM32_PC_WIDTH{1'b0}}; 11.158 + pc_w <= {`LM32_PC_WIDTH{1'b0}}; 11.159 + end 11.160 + else 11.161 + begin 11.162 + if (stall_f == `FALSE) 11.163 pc_f <= pc_a; 11.164 - if (stall_d == `FALSE) 11.165 + if (stall_d == `FALSE) 11.166 pc_d <= pc_f; 11.167 - if (stall_x == `FALSE) 11.168 + if (stall_x == `FALSE) 11.169 pc_x <= pc_d; 11.170 - if (stall_m == `FALSE) 11.171 + if (stall_m == `FALSE) 11.172 pc_m <= pc_x; 11.173 - pc_w <= pc_m; 11.174 - end 11.175 -end 11.176 + pc_w <= pc_m; 11.177 + end 11.178 + end 11.179 11.180 `ifdef LM32_CACHE_ENABLED 11.181 // Address to restart from after a cache miss has been handled
12.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_interrupt.v 12.2 --- a/rtl/lm32_interrupt.v Tue Mar 08 09:59:34 2011 +0000 12.3 +++ b/rtl/lm32_interrupt.v Sat Aug 06 01:32:07 2011 +0100 12.4 @@ -1,18 +1,39 @@ 12.5 -// ============================================================================= 12.6 -// COPYRIGHT NOTICE 12.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 12.8 -// ALL RIGHTS RESERVED 12.9 -// This confidential and proprietary software may be used only as authorised by 12.10 -// a licensing agreement from Lattice Semiconductor Corporation. 12.11 -// The entire notice above must be reproduced on all authorized copies and 12.12 -// copies may only be made to the extent permitted by a licensing agreement from 12.13 -// Lattice Semiconductor Corporation. 12.14 +// ================================================================== 12.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 12.16 +// ------------------------------------------------------------------ 12.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 12.18 +// ALL RIGHTS RESERVED 12.19 +// ------------------------------------------------------------------ 12.20 +// 12.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 12.22 +// 12.23 +// Permission: 12.24 +// 12.25 +// Lattice Semiconductor grants permission to use this code 12.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 12.27 +// Open Source License Agreement. 12.28 +// 12.29 +// Disclaimer: 12.30 // 12.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 12.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 12.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 12.34 -// U.S.A email: techsupport@latticesemi.com 12.35 -// =============================================================================/ 12.36 +// Lattice Semiconductor provides no warranty regarding the use or 12.37 +// functionality of this code. It is the user's responsibility to 12.38 +// verify the user’s design for consistency and functionality through 12.39 +// the use of formal verification methods. 12.40 +// 12.41 +// -------------------------------------------------------------------- 12.42 +// 12.43 +// Lattice Semiconductor Corporation 12.44 +// 5555 NE Moore Court 12.45 +// Hillsboro, OR 97214 12.46 +// U.S.A 12.47 +// 12.48 +// TEL: 1-800-Lattice (USA and Canada) 12.49 +// 503-286-8001 (other locations) 12.50 +// 12.51 +// web: http://www.latticesemi.com/ 12.52 +// email: techsupport@latticesemi.com 12.53 +// 12.54 +// -------------------------------------------------------------------- 12.55 // FILE DETAILS 12.56 // Project : LatticeMico32 12.57 // File : lm32_interrupt.v
13.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_jtag.v 13.2 --- a/rtl/lm32_jtag.v Tue Mar 08 09:59:34 2011 +0000 13.3 +++ b/rtl/lm32_jtag.v Sat Aug 06 01:32:07 2011 +0100 13.4 @@ -1,18 +1,39 @@ 13.5 -// ============================================================================= 13.6 -// COPYRIGHT NOTICE 13.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 13.8 -// ALL RIGHTS RESERVED 13.9 -// This confidential and proprietary software may be used only as authorised by 13.10 -// a licensing agreement from Lattice Semiconductor Corporation. 13.11 -// The entire notice above must be reproduced on all authorized copies and 13.12 -// copies may only be made to the extent permitted by a licensing agreement from 13.13 -// Lattice Semiconductor Corporation. 13.14 +// ================================================================== 13.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 13.16 +// ------------------------------------------------------------------ 13.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 13.18 +// ALL RIGHTS RESERVED 13.19 +// ------------------------------------------------------------------ 13.20 +// 13.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 13.22 +// 13.23 +// Permission: 13.24 +// 13.25 +// Lattice Semiconductor grants permission to use this code 13.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 13.27 +// Open Source License Agreement. 13.28 +// 13.29 +// Disclaimer: 13.30 // 13.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 13.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 13.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 13.34 -// U.S.A email: techsupport@latticesemi.com 13.35 -// =============================================================================/ 13.36 +// Lattice Semiconductor provides no warranty regarding the use or 13.37 +// functionality of this code. It is the user's responsibility to 13.38 +// verify the user’s design for consistency and functionality through 13.39 +// the use of formal verification methods. 13.40 +// 13.41 +// -------------------------------------------------------------------- 13.42 +// 13.43 +// Lattice Semiconductor Corporation 13.44 +// 5555 NE Moore Court 13.45 +// Hillsboro, OR 97214 13.46 +// U.S.A 13.47 +// 13.48 +// TEL: 1-800-Lattice (USA and Canada) 13.49 +// 503-286-8001 (other locations) 13.50 +// 13.51 +// web: http://www.latticesemi.com/ 13.52 +// email: techsupport@latticesemi.com 13.53 +// 13.54 +// -------------------------------------------------------------------- 13.55 // FILE DETAILS 13.56 // Project : LatticeMico32 13.57 // File : lm32_jtag.v
14.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_load_store_unit.v 14.2 --- a/rtl/lm32_load_store_unit.v Tue Mar 08 09:59:34 2011 +0000 14.3 +++ b/rtl/lm32_load_store_unit.v Sat Aug 06 01:32:07 2011 +0100 14.4 @@ -1,18 +1,39 @@ 14.5 -// ============================================================================= 14.6 -// COPYRIGHT NOTICE 14.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 14.8 -// ALL RIGHTS RESERVED 14.9 -// This confidential and proprietary software may be used only as authorised by 14.10 -// a licensing agreement from Lattice Semiconductor Corporation. 14.11 -// The entire notice above must be reproduced on all authorized copies and 14.12 -// copies may only be made to the extent permitted by a licensing agreement from 14.13 -// Lattice Semiconductor Corporation. 14.14 +// ================================================================== 14.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 14.16 +// ------------------------------------------------------------------ 14.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 14.18 +// ALL RIGHTS RESERVED 14.19 +// ------------------------------------------------------------------ 14.20 +// 14.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 14.22 +// 14.23 +// Permission: 14.24 +// 14.25 +// Lattice Semiconductor grants permission to use this code 14.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 14.27 +// Open Source License Agreement. 14.28 +// 14.29 +// Disclaimer: 14.30 // 14.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 14.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 14.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 14.34 -// U.S.A email: techsupport@latticesemi.com 14.35 -// =============================================================================/ 14.36 +// Lattice Semiconductor provides no warranty regarding the use or 14.37 +// functionality of this code. It is the user's responsibility to 14.38 +// verify the user’s design for consistency and functionality through 14.39 +// the use of formal verification methods. 14.40 +// 14.41 +// -------------------------------------------------------------------- 14.42 +// 14.43 +// Lattice Semiconductor Corporation 14.44 +// 5555 NE Moore Court 14.45 +// Hillsboro, OR 97214 14.46 +// U.S.A 14.47 +// 14.48 +// TEL: 1-800-Lattice (USA and Canada) 14.49 +// 503-286-8001 (other locations) 14.50 +// 14.51 +// web: http://www.latticesemi.com/ 14.52 +// email: techsupport@latticesemi.com 14.53 +// 14.54 +// -------------------------------------------------------------------- 14.55 // FILE DETAILS 14.56 // Project : LatticeMico32 14.57 // File : lm32_load_store_unit.v 14.58 @@ -302,8 +323,8 @@ 14.59 .ResetB (rst_i), 14.60 .DataInA ({32{1'b0}}), 14.61 .DataInB (dram_store_data_m), 14.62 - .AddressA (load_store_address_x[(clogb2(`CFG_DRAM_LIMIT/4-`CFG_DRAM_BASE_ADDRESS/4+1)-1)+2-1:2]), 14.63 - .AddressB (load_store_address_m[(clogb2(`CFG_DRAM_LIMIT/4-`CFG_DRAM_BASE_ADDRESS/4+1)-1)+2-1:2]), 14.64 + .AddressA (load_store_address_x[clogb2_v1(`CFG_DRAM_LIMIT/4-`CFG_DRAM_BASE_ADDRESS/4+1)+2-1:2]), 14.65 + .AddressB (load_store_address_m[clogb2_v1(`CFG_DRAM_LIMIT/4-`CFG_DRAM_BASE_ADDRESS/4+1)+2-1:2]), 14.66 // .ClockEnA (!stall_x & (load_x | store_x)), 14.67 .ClockEnA (!stall_x), 14.68 .ClockEnB (!stall_m),
15.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_logic_op.v 15.2 --- a/rtl/lm32_logic_op.v Tue Mar 08 09:59:34 2011 +0000 15.3 +++ b/rtl/lm32_logic_op.v Sat Aug 06 01:32:07 2011 +0100 15.4 @@ -1,18 +1,39 @@ 15.5 -// ============================================================================= 15.6 -// COPYRIGHT NOTICE 15.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 15.8 -// ALL RIGHTS RESERVED 15.9 -// This confidential and proprietary software may be used only as authorised by 15.10 -// a licensing agreement from Lattice Semiconductor Corporation. 15.11 -// The entire notice above must be reproduced on all authorized copies and 15.12 -// copies may only be made to the extent permitted by a licensing agreement from 15.13 -// Lattice Semiconductor Corporation. 15.14 +// ================================================================== 15.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 15.16 +// ------------------------------------------------------------------ 15.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 15.18 +// ALL RIGHTS RESERVED 15.19 +// ------------------------------------------------------------------ 15.20 +// 15.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 15.22 +// 15.23 +// Permission: 15.24 +// 15.25 +// Lattice Semiconductor grants permission to use this code 15.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 15.27 +// Open Source License Agreement. 15.28 +// 15.29 +// Disclaimer: 15.30 // 15.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 15.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 15.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 15.34 -// U.S.A email: techsupport@latticesemi.com 15.35 -// =============================================================================/ 15.36 +// Lattice Semiconductor provides no warranty regarding the use or 15.37 +// functionality of this code. It is the user's responsibility to 15.38 +// verify the user’s design for consistency and functionality through 15.39 +// the use of formal verification methods. 15.40 +// 15.41 +// -------------------------------------------------------------------- 15.42 +// 15.43 +// Lattice Semiconductor Corporation 15.44 +// 5555 NE Moore Court 15.45 +// Hillsboro, OR 97214 15.46 +// U.S.A 15.47 +// 15.48 +// TEL: 1-800-Lattice (USA and Canada) 15.49 +// 503-286-8001 (other locations) 15.50 +// 15.51 +// web: http://www.latticesemi.com/ 15.52 +// email: techsupport@latticesemi.com 15.53 +// 15.54 +// -------------------------------------------------------------------- 15.55 // FILE DETAILS 15.56 // Project : LatticeMico32 15.57 // File : lm32_logic_op.v
16.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_mc_arithmetic.v 16.2 --- a/rtl/lm32_mc_arithmetic.v Tue Mar 08 09:59:34 2011 +0000 16.3 +++ b/rtl/lm32_mc_arithmetic.v Sat Aug 06 01:32:07 2011 +0100 16.4 @@ -1,18 +1,39 @@ 16.5 -// ============================================================================= 16.6 -// COPYRIGHT NOTICE 16.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 16.8 -// ALL RIGHTS RESERVED 16.9 -// This confidential and proprietary software may be used only as authorised by 16.10 -// a licensing agreement from Lattice Semiconductor Corporation. 16.11 -// The entire notice above must be reproduced on all authorized copies and 16.12 -// copies may only be made to the extent permitted by a licensing agreement from 16.13 -// Lattice Semiconductor Corporation. 16.14 +// ================================================================== 16.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 16.16 +// ------------------------------------------------------------------ 16.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 16.18 +// ALL RIGHTS RESERVED 16.19 +// ------------------------------------------------------------------ 16.20 +// 16.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 16.22 +// 16.23 +// Permission: 16.24 +// 16.25 +// Lattice Semiconductor grants permission to use this code 16.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 16.27 +// Open Source License Agreement. 16.28 +// 16.29 +// Disclaimer: 16.30 // 16.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 16.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 16.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 16.34 -// U.S.A email: techsupport@latticesemi.com 16.35 -// =============================================================================/ 16.36 +// Lattice Semiconductor provides no warranty regarding the use or 16.37 +// functionality of this code. It is the user's responsibility to 16.38 +// verify the user’s design for consistency and functionality through 16.39 +// the use of formal verification methods. 16.40 +// 16.41 +// -------------------------------------------------------------------- 16.42 +// 16.43 +// Lattice Semiconductor Corporation 16.44 +// 5555 NE Moore Court 16.45 +// Hillsboro, OR 97214 16.46 +// U.S.A 16.47 +// 16.48 +// TEL: 1-800-Lattice (USA and Canada) 16.49 +// 503-286-8001 (other locations) 16.50 +// 16.51 +// web: http://www.latticesemi.com/ 16.52 +// email: techsupport@latticesemi.com 16.53 +// 16.54 +// -------------------------------------------------------------------- 16.55 // FILE DETAILS 16.56 // Project : LatticeMico32 16.57 // File : lm_mc_arithmetic.v
17.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_multiplier.v 17.2 --- a/rtl/lm32_multiplier.v Tue Mar 08 09:59:34 2011 +0000 17.3 +++ b/rtl/lm32_multiplier.v Sat Aug 06 01:32:07 2011 +0100 17.4 @@ -1,18 +1,39 @@ 17.5 -// ============================================================================= 17.6 -// COPYRIGHT NOTICE 17.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 17.8 -// ALL RIGHTS RESERVED 17.9 -// This confidential and proprietary software may be used only as authorised by 17.10 -// a licensing agreement from Lattice Semiconductor Corporation. 17.11 -// The entire notice above must be reproduced on all authorized copies and 17.12 -// copies may only be made to the extent permitted by a licensing agreement from 17.13 -// Lattice Semiconductor Corporation. 17.14 +// ================================================================== 17.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 17.16 +// ------------------------------------------------------------------ 17.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 17.18 +// ALL RIGHTS RESERVED 17.19 +// ------------------------------------------------------------------ 17.20 +// 17.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 17.22 +// 17.23 +// Permission: 17.24 +// 17.25 +// Lattice Semiconductor grants permission to use this code 17.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 17.27 +// Open Source License Agreement. 17.28 +// 17.29 +// Disclaimer: 17.30 // 17.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 17.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 17.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 17.34 -// U.S.A email: techsupport@latticesemi.com 17.35 -// =============================================================================/ 17.36 +// Lattice Semiconductor provides no warranty regarding the use or 17.37 +// functionality of this code. It is the user's responsibility to 17.38 +// verify the user’s design for consistency and functionality through 17.39 +// the use of formal verification methods. 17.40 +// 17.41 +// -------------------------------------------------------------------- 17.42 +// 17.43 +// Lattice Semiconductor Corporation 17.44 +// 5555 NE Moore Court 17.45 +// Hillsboro, OR 97214 17.46 +// U.S.A 17.47 +// 17.48 +// TEL: 1-800-Lattice (USA and Canada) 17.49 +// 503-286-8001 (other locations) 17.50 +// 17.51 +// web: http://www.latticesemi.com/ 17.52 +// email: techsupport@latticesemi.com 17.53 +// 17.54 +// -------------------------------------------------------------------- 17.55 // FILE DETAILS 17.56 // Project : LatticeMico32 17.57 // File : lm32_multiplier.v
18.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_ram.v 18.2 --- a/rtl/lm32_ram.v Tue Mar 08 09:59:34 2011 +0000 18.3 +++ b/rtl/lm32_ram.v Sat Aug 06 01:32:07 2011 +0100 18.4 @@ -1,18 +1,39 @@ 18.5 -// ============================================================================= 18.6 -// COPYRIGHT NOTICE 18.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 18.8 -// ALL RIGHTS RESERVED 18.9 -// This confidential and proprietary software may be used only as authorised by 18.10 -// a licensing agreement from Lattice Semiconductor Corporation. 18.11 -// The entire notice above must be reproduced on all authorized copies and 18.12 -// copies may only be made to the extent permitted by a licensing agreement from 18.13 -// Lattice Semiconductor Corporation. 18.14 +// ================================================================== 18.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 18.16 +// ------------------------------------------------------------------ 18.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 18.18 +// ALL RIGHTS RESERVED 18.19 +// ------------------------------------------------------------------ 18.20 +// 18.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 18.22 +// 18.23 +// Permission: 18.24 +// 18.25 +// Lattice Semiconductor grants permission to use this code 18.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 18.27 +// Open Source License Agreement. 18.28 +// 18.29 +// Disclaimer: 18.30 // 18.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 18.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 18.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 18.34 -// U.S.A email: techsupport@latticesemi.com 18.35 -// =============================================================================/ 18.36 +// Lattice Semiconductor provides no warranty regarding the use or 18.37 +// functionality of this code. It is the user's responsibility to 18.38 +// verify the user’s design for consistency and functionality through 18.39 +// the use of formal verification methods. 18.40 +// 18.41 +// -------------------------------------------------------------------- 18.42 +// 18.43 +// Lattice Semiconductor Corporation 18.44 +// 5555 NE Moore Court 18.45 +// Hillsboro, OR 97214 18.46 +// U.S.A 18.47 +// 18.48 +// TEL: 1-800-Lattice (USA and Canada) 18.49 +// 503-286-8001 (other locations) 18.50 +// 18.51 +// web: http://www.latticesemi.com/ 18.52 +// email: techsupport@latticesemi.com 18.53 +// 18.54 +// -------------------------------------------------------------------- 18.55 // FILE DETAILS 18.56 // Project : LatticeMico32 18.57 // File : lm32_ram.v 18.58 @@ -173,13 +194,13 @@ 18.59 always @(posedge read_clk) 18.60 if (reset) 18.61 begin 18.62 - raw_data <= #1 0; 18.63 - raw <= #1 1'b0; 18.64 + raw_data <= 0; 18.65 + raw <= 1'b0; 18.66 end 18.67 else 18.68 begin 18.69 - raw_data <= #1 raw_data_nxt; 18.70 - raw <= #1 raw_nxt; 18.71 + raw_data <= raw_data_nxt; 18.72 + raw <= raw_nxt; 18.73 end 18.74 18.75 pmi_ram_dp_true
19.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_shifter.v 19.2 --- a/rtl/lm32_shifter.v Tue Mar 08 09:59:34 2011 +0000 19.3 +++ b/rtl/lm32_shifter.v Sat Aug 06 01:32:07 2011 +0100 19.4 @@ -1,18 +1,39 @@ 19.5 -// ============================================================================= 19.6 -// COPYRIGHT NOTICE 19.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 19.8 -// ALL RIGHTS RESERVED 19.9 -// This confidential and proprietary software may be used only as authorised by 19.10 -// a licensing agreement from Lattice Semiconductor Corporation. 19.11 -// The entire notice above must be reproduced on all authorized copies and 19.12 -// copies may only be made to the extent permitted by a licensing agreement from 19.13 -// Lattice Semiconductor Corporation. 19.14 +// ================================================================== 19.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 19.16 +// ------------------------------------------------------------------ 19.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 19.18 +// ALL RIGHTS RESERVED 19.19 +// ------------------------------------------------------------------ 19.20 +// 19.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 19.22 +// 19.23 +// Permission: 19.24 +// 19.25 +// Lattice Semiconductor grants permission to use this code 19.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 19.27 +// Open Source License Agreement. 19.28 +// 19.29 +// Disclaimer: 19.30 // 19.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 19.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 19.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 19.34 -// U.S.A email: techsupport@latticesemi.com 19.35 -// =============================================================================/ 19.36 +// Lattice Semiconductor provides no warranty regarding the use or 19.37 +// functionality of this code. It is the user's responsibility to 19.38 +// verify the user’s design for consistency and functionality through 19.39 +// the use of formal verification methods. 19.40 +// 19.41 +// -------------------------------------------------------------------- 19.42 +// 19.43 +// Lattice Semiconductor Corporation 19.44 +// 5555 NE Moore Court 19.45 +// Hillsboro, OR 97214 19.46 +// U.S.A 19.47 +// 19.48 +// TEL: 1-800-Lattice (USA and Canada) 19.49 +// 503-286-8001 (other locations) 19.50 +// 19.51 +// web: http://www.latticesemi.com/ 19.52 +// email: techsupport@latticesemi.com 19.53 +// 19.54 +// -------------------------------------------------------------------- 19.55 // FILE DETAILS 19.56 // Project : LatticeMico32 19.57 // File : lm32_shifter.v
20.1 diff -r 7422134cbfea -r da23ab8ef7b4 rtl/lm32_top.v 20.2 --- a/rtl/lm32_top.v Tue Mar 08 09:59:34 2011 +0000 20.3 +++ b/rtl/lm32_top.v Sat Aug 06 01:32:07 2011 +0100 20.4 @@ -1,18 +1,39 @@ 20.5 -// ============================================================================= 20.6 -// COPYRIGHT NOTICE 20.7 -// Copyright 2006 (c) Lattice Semiconductor Corporation 20.8 -// ALL RIGHTS RESERVED 20.9 -// This confidential and proprietary software may be used only as authorised by 20.10 -// a licensing agreement from Lattice Semiconductor Corporation. 20.11 -// The entire notice above must be reproduced on all authorized copies and 20.12 -// copies may only be made to the extent permitted by a licensing agreement from 20.13 -// Lattice Semiconductor Corporation. 20.14 +// ================================================================== 20.15 +// >>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<< 20.16 +// ------------------------------------------------------------------ 20.17 +// Copyright (c) 2006-2011 by Lattice Semiconductor Corporation 20.18 +// ALL RIGHTS RESERVED 20.19 +// ------------------------------------------------------------------ 20.20 +// 20.21 +// IMPORTANT: THIS FILE IS AUTO-GENERATED BY THE LATTICEMICO SYSTEM. 20.22 +// 20.23 +// Permission: 20.24 +// 20.25 +// Lattice Semiconductor grants permission to use this code 20.26 +// pursuant to the terms of the Lattice Semiconductor Corporation 20.27 +// Open Source License Agreement. 20.28 +// 20.29 +// Disclaimer: 20.30 // 20.31 -// Lattice Semiconductor Corporation TEL : 1-800-Lattice (USA and Canada) 20.32 -// 5555 NE Moore Court 408-826-6000 (other locations) 20.33 -// Hillsboro, OR 97124 web : http://www.latticesemi.com/ 20.34 -// U.S.A email: techsupport@latticesemi.com 20.35 -// =============================================================================/ 20.36 +// Lattice Semiconductor provides no warranty regarding the use or 20.37 +// functionality of this code. It is the user's responsibility to 20.38 +// verify the user’s design for consistency and functionality through 20.39 +// the use of formal verification methods. 20.40 +// 20.41 +// -------------------------------------------------------------------- 20.42 +// 20.43 +// Lattice Semiconductor Corporation 20.44 +// 5555 NE Moore Court 20.45 +// Hillsboro, OR 97214 20.46 +// U.S.A 20.47 +// 20.48 +// TEL: 1-800-Lattice (USA and Canada) 20.49 +// 503-286-8001 (other locations) 20.50 +// 20.51 +// web: http://www.latticesemi.com/ 20.52 +// email: techsupport@latticesemi.com 20.53 +// 20.54 +// -------------------------------------------------------------------- 20.55 // FILE DETAILS 20.56 // Project : LatticeMico32 20.57 // File : lm32_top.v 20.58 @@ -36,6 +57,11 @@ 20.59 // ----- Inputs ------- 20.60 clk_i, 20.61 rst_i, 20.62 +`ifdef CFG_DEBUG_ENABLED 20.63 + `ifdef CFG_ALTERNATE_EBA 20.64 + at_debug, 20.65 + `endif 20.66 +`endif 20.67 // From external devices 20.68 `ifdef CFG_INTERRUPTS_ENABLED 20.69 interrupt, 20.70 @@ -95,6 +121,12 @@ 20.71 input clk_i; // Clock 20.72 input rst_i; // Reset 20.73 20.74 +`ifdef CFG_DEBUG_ENABLED 20.75 + `ifdef CFG_ALTERNATE_EBA 20.76 + input at_debug; // GPIO input that maps EBA to DEBA 20.77 + `endif 20.78 +`endif 20.79 + 20.80 `ifdef CFG_INTERRUPTS_ENABLED 20.81 input [`LM32_INTERRUPT_RNG] interrupt; // Interrupt pins 20.82 `endif 20.83 @@ -216,6 +248,11 @@ 20.84 .clk_n_i (clk_n), 20.85 `endif 20.86 .rst_i (rst_i), 20.87 +`ifdef CFG_DEBUG_ENABLED 20.88 + `ifdef CFG_ALTERNATE_EBA 20.89 + .at_debug (at_debug), 20.90 + `endif 20.91 +`endif 20.92 // From external devices 20.93 `ifdef CFG_INTERRUPTS_ENABLED 20.94 .interrupt (interrupt),