| 1 |
213 |
olivier.gi |
2015-11-17 [r211]
|
| 2 |
|
|
|
| 3 |
|
|
* Add custom printf function to reduce program memory footprint
|
| 4 |
|
|
(the TI/RH GCC version is huge). Note that this function was
|
| 5 |
|
|
created by DJ Delorie ( http://www.delorie.com/ )
|
| 6 |
|
|
|
| 7 |
209 |
olivier.gi |
2015-10-20 [r207]
|
| 8 |
|
|
|
| 9 |
|
|
* Simulation now works seamlessly under Linux, OS-X and Windows
|
| 10 |
|
|
(Cygwin)
|
| 11 |
|
|
|
| 12 |
206 |
olivier.gi |
2015-07-15 [r205]
|
| 13 |
|
|
|
| 14 |
|
|
* Thanks again to Johan W. good feedback, the following updates are
|
| 15 |
|
|
implemented: - Change code to fix delta cycle issues on some
|
| 16 |
|
|
simulators in mixed VHDL/Verilog environment. - Update
|
| 17 |
|
|
oscillators enable generation to relax a critical timing paths in
|
| 18 |
|
|
the ASIC version. - Add option to scan fix inverted clocks in the
|
| 19 |
|
|
ASIC version (disabled by default as this is supported by most
|
| 20 |
|
|
tools).
|
| 21 |
|
|
|
| 22 |
|
|
2015-07-08 [r204]
|
| 23 |
|
|
|
| 24 |
|
|
* Fix DMA interface RTL merge problem (defines got wrong values).
|
| 25 |
|
|
Fix CDC issue with the timerA (thanks to Johan for catching
|
| 26 |
|
|
that).
|
| 27 |
|
|
|
| 28 |
203 |
olivier.gi |
2015-07-01 [r202]
|
| 29 |
|
|
|
| 30 |
|
|
* Add DMA interface support + LINT cleanup
|
| 31 |
|
|
|
| 32 |
201 |
olivier.gi |
2015-01-21 [r200]
|
| 33 |
|
|
|
| 34 |
|
|
* Major verificaiton and benchmark update to support both MSPGCC
|
| 35 |
|
|
and RedHat/TI GCC toolchains.
|
| 36 |
|
|
|
| 37 |
196 |
olivier.gi |
2013-12-17 [r192]
|
| 38 |
|
|
|
| 39 |
|
|
* Number of supported IRQs is now configurable to 14 (default), 30
|
| 40 |
|
|
or 62.
|
| 41 |
|
|
|
| 42 |
191 |
olivier.gi |
2013-07-30 [r190]
|
| 43 |
|
|
|
| 44 |
|
|
* Remove dummy memory read access for CMP and BIT instructions.
|
| 45 |
|
|
|
| 46 |
189 |
olivier.gi |
2013-07-18 [r188]
|
| 47 |
|
|
|
| 48 |
|
|
* Add missing include commands for the define and undefine files in
|
| 49 |
|
|
the wakeup_cell and in dbg_i2c.
|
| 50 |
|
|
|
| 51 |
187 |
olivier.gi |
2013-04-08 [r186]
|
| 52 |
|
|
|
| 53 |
|
|
* Fixed Hardware Multiplier byte operations bug:
|
| 54 |
|
|
http://opencores.org/bug,assign,2247
|
| 55 |
|
|
|
| 56 |
183 |
olivier.gi |
2013-02-25 [r180]
|
| 57 |
|
|
|
| 58 |
|
|
* Add new ASIC_CLOCKING configuration option to allow ASIC
|
| 59 |
|
|
implementations with FPGA clocking scheme. Thanks to Sebastien
|
| 60 |
|
|
Van Cauwenberghe's contribution :-)
|
| 61 |
|
|
|
| 62 |
|
|
2013-02-16 [r178]
|
| 63 |
|
|
|
| 64 |
|
|
* Update all linker scripts with a simplified version. Thanks to
|
| 65 |
|
|
Mihai M. for this one :-)
|
| 66 |
|
|
|
| 67 |
177 |
olivier.gi |
2013-01-30 [r175]
|
| 68 |
|
|
|
| 69 |
|
|
* Update hardware breakpoint unit with the followings: - fixed
|
| 70 |
|
|
hardware breakpoint bug with CALL instructions. - modified data
|
| 71 |
|
|
read watchpoint behavior to also trigger with read/modify/write
|
| 72 |
|
|
instructions. - removed unused ports.
|
| 73 |
|
|
|
| 74 |
|
|
2013-01-30 [r174]
|
| 75 |
|
|
|
| 76 |
|
|
* Cleanup dmem_wr generation logic. Important note: this is not a
|
| 77 |
|
|
bug fix, only beautification.
|
| 78 |
|
|
|
| 79 |
160 |
olivier.gi |
2012-10-15 [r154]
|
| 80 |
|
|
|
| 81 |
|
|
* The serial debug interface now supports the I2C protocol (in
|
| 82 |
|
|
addition to the UART)
|
| 83 |
|
|
|
| 84 |
152 |
olivier.gi |
2012-07-22 [r151]
|
| 85 |
|
|
|
| 86 |
|
|
* Add possibility to configure custom Program, Data and Peripheral
|
| 87 |
|
|
memory sizes.
|
| 88 |
|
|
|
| 89 |
150 |
olivier.gi |
2012-07-19 [r149]
|
| 90 |
|
|
|
| 91 |
|
|
* Update simulation regression result parser. Fixed failing SFR
|
| 92 |
|
|
test (due to newer MSPGCC version). Implement request
|
| 93 |
|
|
http://opencores.org/bug,view,2171 (burst accesses through the
|
| 94 |
|
|
serial debug interface)
|
| 95 |
|
|
|
| 96 |
146 |
olivier.gi |
2012-05-30 [r145]
|
| 97 |
|
|
|
| 98 |
|
|
* Add Dhrystone and CoreMark benchmarks to the simulation
|
| 99 |
|
|
environment.
|
| 100 |
|
|
|
| 101 |
144 |
olivier.gi |
2012-05-09 [r142]
|
| 102 |
|
|
|
| 103 |
|
|
* Beautify the linker script examples.
|
| 104 |
|
|
|
| 105 |
|
|
2012-05-05 [r141]
|
| 106 |
|
|
|
| 107 |
|
|
* Update verification environment to support MSPGCC Uniarch (based
|
| 108 |
|
|
on GCC 4.5 and later)
|
| 109 |
|
|
|
| 110 |
140 |
olivier.gi |
2012-04-23 [r139]
|
| 111 |
|
|
|
| 112 |
|
|
* Add some SVN ignore patterns
|
| 113 |
|
|
|
| 114 |
|
|
2012-04-23 [r138]
|
| 115 |
|
|
|
| 116 |
|
|
* Update simulation scripts to support Cygwin out of the box for
|
| 117 |
|
|
Windows users.
|
| 118 |
|
|
|
| 119 |
137 |
olivier.gi |
2012-03-22 [r134]
|
| 120 |
|
|
|
| 121 |
|
|
* Add full ASIC support (low-power modes, DFT, ...). Improved
|
| 122 |
|
|
serial debug interface reliability.
|
| 123 |
|
|
|
| 124 |
|
|
2012-03-09 [r132]
|
| 125 |
|
|
|
| 126 |
|
|
* Update FPGA examples with the POP.B bug fix
|
| 127 |
|
|
|
| 128 |
131 |
olivier.gi |
2012-03-01 [r130]
|
| 129 |
|
|
|
| 130 |
|
|
* Fixed POP.B bug (see Bugtracker
|
| 131 |
|
|
http://opencores.org/bug,assign,2137 )
|
| 132 |
|
|
|
| 133 |
129 |
olivier.gi |
2011-12-16 [r128]
|
| 134 |
|
|
|
| 135 |
|
|
* Fixed CALL x(SR) bug (see Bugtracker
|
| 136 |
|
|
http://opencores.org/bug,view,2111 )
|
| 137 |
|
|
|
| 138 |
123 |
olivier.gi |
2011-10-05 [r122]
|
| 139 |
|
|
|
| 140 |
|
|
* Add coverage report generation (NCVERILOG only) Add support for
|
| 141 |
|
|
the ISIM Xilinx simulator.
|
| 142 |
|
|
|
| 143 |
118 |
olivier.gi |
2011-06-23 [r117]
|
| 144 |
|
|
|
| 145 |
|
|
* To facilitate commercial adoption of the openMSP430, the core has
|
| 146 |
|
|
moved to a modified BSD license.
|
| 147 |
|
|
|
| 148 |
116 |
olivier.gi |
2011-05-29 [r115]
|
| 149 |
|
|
|
| 150 |
|
|
* Add linker script example.
|
| 151 |
|
|
|
| 152 |
113 |
olivier.gi |
2011-05-21 [r112]
|
| 153 |
|
|
|
| 154 |
|
|
* Modified comment.
|
| 155 |
|
|
|
| 156 |
|
|
2011-05-20 [r111]
|
| 157 |
|
|
|
| 158 |
|
|
* Re-organized the "openMSP430_defines.v" file. Re-defined the
|
| 159 |
|
|
CPU_ID register of the debug interface (in particular to support
|
| 160 |
|
|
custom user versioning). Added RTL configuration possibility to
|
| 161 |
|
|
expand the peripheral address space from 512B (0x0000 to 0x0200)
|
| 162 |
|
|
to up to 32kB (0x0000 to 0x8000). As a consequence the per_addr
|
| 163 |
|
|
bus width goes from 8 to 14 bits and the peripherals address
|
| 164 |
|
|
decoders have been updated accordingly.
|
| 165 |
|
|
|
| 166 |
|
|
2011-03-25 [r106]
|
| 167 |
|
|
|
| 168 |
|
|
* Separated the Timer A defines from the openMSP430 ones. Added the
|
| 169 |
|
|
"dbg_en" port in order to allow a separate reset of the debug
|
| 170 |
|
|
interface. Added the "core_en" port (when cleared, the CPU will
|
| 171 |
|
|
stop execution, the dbg_freeze signal will be set and the aclk &
|
| 172 |
|
|
smclk will be stopped). Renamed "per_wen" to "per_we" to prevent
|
| 173 |
|
|
confusion with active low signals. Removed to missing unused
|
| 174 |
|
|
flops when the DBG_EN is not defined (thanks to Mihai
|
| 175 |
|
|
contribution).
|
| 176 |
|
|
|
| 177 |
|
|
2011-03-10 [r105]
|
| 178 |
|
|
|
| 179 |
|
|
* Removed dummy memory read access for the MOV/PUSH/CALL/RETI
|
| 180 |
|
|
instructions. These were not problematic but this is simply
|
| 181 |
|
|
cleaner that way.
|
| 182 |
|
|
|
| 183 |
|
|
2011-03-05 [r103]
|
| 184 |
|
|
|
| 185 |
|
|
* Removed the timescale from all RTL files. Added possibility to
|
| 186 |
|
|
exclude the "includes" statements from the RTL.
|
| 187 |
|
|
|
| 188 |
|
|
2011-03-04 [r102]
|
| 189 |
|
|
|
| 190 |
|
|
* Fixed bug reported by Mihai ( http://opencores.org/bug,view,1955
|
| 191 |
|
|
). The following PUSH instructions are now working as expected: -
|
| 192 |
|
|
indexed mode: PUSH x(R1) - indirect register mode: PUSH @R1 -
|
| 193 |
|
|
indirect autoincrement: PUSH @R1+
|
| 194 |
|
|
|
| 195 |
|
|
2011-03-04 [r101]
|
| 196 |
|
|
|
| 197 |
|
|
* Cosmetic change in order to prevent an X propagation whenever
|
| 198 |
|
|
executing a byte instruction with an uninitialized memory
|
| 199 |
|
|
location as source.
|
| 200 |
|
|
|
| 201 |
|
|
2011-02-28 [r99]
|
| 202 |
|
|
|
| 203 |
|
|
* Small fix for CVER simulator support.
|
| 204 |
|
|
|
| 205 |
|
|
2011-02-28 [r98]
|
| 206 |
|
|
|
| 207 |
|
|
* Added support for VCS verilog simulator. VPD and TRN waveforms
|
| 208 |
|
|
can now be generated.
|
| 209 |
|
|
|
| 210 |
|
|
2011-02-24 [r95]
|
| 211 |
|
|
|
| 212 |
|
|
* Update some test patterns for the additional simulator supports.
|
| 213 |
|
|
|
| 214 |
|
|
2011-02-24 [r94]
|
| 215 |
|
|
|
| 216 |
|
|
* Thanks to Mihai-Costin Manolescu's contribution, the simulation
|
| 217 |
|
|
scripts now support the following simulators: - Icarus Verilog -
|
| 218 |
|
|
Cver - Verilog-XL - NCVerilog - Modelsim
|
| 219 |
|
|
|
| 220 |
|
|
2011-02-20 [r91]
|
| 221 |
|
|
|
| 222 |
|
|
* Fixed bug when an IRQ arrives while CPU is halted through the
|
| 223 |
|
|
serial debug interface. This bug is CRITICAL for people using
|
| 224 |
|
|
working with interrupts and the Serial Debug Interface.
|
| 225 |
|
|
|
| 226 |
|
|
2011-01-28 [r86]
|
| 227 |
|
|
|
| 228 |
|
|
* Update serial debug interface test patterns to make them work
|
| 229 |
|
|
with all program memory configurations.
|
| 230 |
|
|
|
| 231 |
|
|
2011-01-28 [r85]
|
| 232 |
|
|
|
| 233 |
|
|
* Diverse RTL cosmetic updates.
|
| 234 |
|
|
|
| 235 |
|
|
2011-01-23 [r84]
|
| 236 |
|
|
|
| 237 |
|
|
* Update SRAM model in the core testbench to prevent the IEEE
|
| 238 |
|
|
warning when running simulations. Update watchdog to fix NMI
|
| 239 |
|
|
synchronisation problem. Add synchronizers for the PUC signal in
|
| 240 |
|
|
the debug interface.
|
| 241 |
|
|
|
| 242 |
|
|
2010-12-05 [r80]
|
| 243 |
|
|
|
| 244 |
|
|
* Create initial version of the Actel FPGA implementation example.
|
| 245 |
|
|
|
| 246 |
|
|
2010-11-23 [r79]
|
| 247 |
|
|
|
| 248 |
|
|
* Update the GPIO peripheral to fix a potential synchronization
|
| 249 |
|
|
issue.
|
| 250 |
|
|
|
| 251 |
|
|
2010-11-18 [r76]
|
| 252 |
|
|
|
| 253 |
|
|
* Add possibility to simulate C code within the "core" environment.
|
| 254 |
|
|
|
| 255 |
|
|
2010-08-28 [r74]
|
| 256 |
|
|
|
| 257 |
|
|
* Update serial debug interface to support memories with a size
|
| 258 |
|
|
which is not a power of 2. Update the software tools accordingly.
|
| 259 |
|
|
|
| 260 |
|
|
2010-08-03 [r73]
|
| 261 |
|
|
|
| 262 |
|
|
* Update all bash scripts headers with "#!/bin/bash" instead of
|
| 263 |
|
|
"#!/bin/sh". This will prevent compatibility problems in systems
|
| 264 |
|
|
where bash isn't the default shell.
|
| 265 |
|
|
|
| 266 |
|
|
2010-08-01 [r72]
|
| 267 |
|
|
|
| 268 |
|
|
* Expand configurability options of the program and data memory
|
| 269 |
|
|
sizes.
|
| 270 |
|
|
|
| 271 |
|
|
2010-03-07 [r67-68]
|
| 272 |
|
|
|
| 273 |
|
|
* Update synthesis scripts with the hardware multiplier support.
|
| 274 |
|
|
|
| 275 |
|
|
* Added 16x16 Hardware Multiplier.
|
| 276 |
|
|
|
| 277 |
|
|
2010-03-07 [r66]
|
| 278 |
|
|
|
| 279 |
|
|
* The peripheral templates are now under BSD license. Developers of
|
| 280 |
|
|
new peripherals based on these templates won't have to disclose
|
| 281 |
|
|
their code.
|
| 282 |
|
|
|
| 283 |
|
|
2010-02-24 [r65]
|
| 284 |
|
|
|
| 285 |
|
|
* Add possibility to disable waveform dumping by setting the
|
| 286 |
|
|
OMSP_NODUMP environment variable to 1.
|
| 287 |
|
|
|
| 288 |
|
|
2010-02-14 [r64]
|
| 289 |
|
|
|
| 290 |
|
|
* Add Actel synthesis environment for size and speed analysis.
|
| 291 |
|
|
|
| 292 |
|
|
2010-02-14 [r63]
|
| 293 |
|
|
|
| 294 |
|
|
* Add Altera synthesis environment for size and speed analysis.
|
| 295 |
|
|
|
| 296 |
|
|
2010-02-14 [r62]
|
| 297 |
|
|
|
| 298 |
|
|
* Add Xilinx synthesis environment for size&speed analysis.
|
| 299 |
|
|
|
| 300 |
|
|
2010-02-03 [r60]
|
| 301 |
|
|
|
| 302 |
|
|
* Cleanup of the PC (R0) generation logic. Formal equivalence was
|
| 303 |
|
|
shown between the new and old code with Synopsys' Formality (to
|
| 304 |
|
|
make sure that nothing has been broken :-P ).
|
| 305 |
|
|
|
| 306 |
|
|
2010-02-01 [r58]
|
| 307 |
|
|
|
| 308 |
|
|
* Update the debug hardware breakpoint verification patterns to
|
| 309 |
|
|
reflect the latest design updates.
|
| 310 |
|
|
|
| 311 |
|
|
2010-02-01 [r57]
|
| 312 |
|
|
|
| 313 |
|
|
* Update design to exclude the range mode from the debug hardware
|
| 314 |
|
|
breakpoint units. As this feature is not used by GDB, it has been
|
| 315 |
|
|
disabled in order to improve the timings and save a bit of
|
| 316 |
|
|
area/utilisation. Note that if required, this feature can be
|
| 317 |
|
|
re-enabled through the `HWBRK_RANGE define located in the
|
| 318 |
|
|
"openMSP430_defines.v" file.
|
| 319 |
|
|
|
| 320 |
|
|
2010-01-28 [r56]
|
| 321 |
|
|
|
| 322 |
|
|
* Update Design Compiler Synthesis scripts.
|
| 323 |
|
|
|
| 324 |
|
|
2010-01-27 [r55]
|
| 325 |
|
|
|
| 326 |
|
|
* Add a "sandbox" test pattern to play around with the simulation
|
| 327 |
|
|
:-P
|
| 328 |
|
|
|
| 329 |
|
|
2010-01-27 [r54]
|
| 330 |
|
|
|
| 331 |
|
|
* Update FPGA projects with the combinatorial loop fixed.
|
| 332 |
|
|
|
| 333 |
|
|
2010-01-27 [r53]
|
| 334 |
|
|
|
| 335 |
|
|
* Fixed the following combinatorial timing loop: 1- irq_detect
|
| 336 |
|
|
(omsp_frontend) 2- decode (omsp_frontend) 3- dbg_swbrk (omsp_dbg)
|
| 337 |
|
|
4- halt_flag_set (omsp_dbg) 6- dbg_halt_cmd (omsp_dbg) 7-
|
| 338 |
|
|
irq_detect (omsp_frontend) Without this fix, problem could occur
|
| 339 |
|
|
whenever an IRQ request arrives during a software breakpoint
|
| 340 |
|
|
instruction fetch.
|
| 341 |
|
|
|
| 342 |
|
|
2009-12-29 [r34]
|
| 343 |
|
|
|
| 344 |
|
|
* To avoid potential conflicts with other Verilog modules in bigger
|
| 345 |
|
|
projects, the openMSP430 sub-modules have all been renamed with
|
| 346 |
|
|
the "omsp_" prefix.
|
| 347 |
|
|
|
| 348 |
|
|
2009-12-29 [r33]
|
| 349 |
|
|
|
| 350 |
|
|
* In order to avoid confusion, the following changes have been
|
| 351 |
|
|
implemented to the Verilog code: - renamed the "rom_*" ports and
|
| 352 |
|
|
defines to "pmem_*" (program memory). - renamed the "ram_*" ports
|
| 353 |
|
|
and defines to "dmem_*" (data memory). In addition, in order to
|
| 354 |
|
|
prevent potential conflicts with the Verilog defines of other
|
| 355 |
|
|
IPs, a Verilog undefine file has been created.
|
| 356 |
|
|
|
| 357 |
|
|
2009-08-30 [r23]
|
| 358 |
|
|
|
| 359 |
|
|
* Renamed the "openMSP430.inc" file to "openMSP430_defines.v" &
|
| 360 |
|
|
added the "timescale.v" file. In order to follow the same
|
| 361 |
|
|
structure as other OpenCores projects, the timescale and the
|
| 362 |
|
|
defines are now included from within the Verilog files (using the
|
| 363 |
|
|
`include construct).
|
| 364 |
|
|
|
| 365 |
|
|
2009-08-04 [r19]
|
| 366 |
|
|
|
| 367 |
|
|
* added SVN property for keywords
|
| 368 |
|
|
|
| 369 |
|
|
2009-08-04 [r18]
|
| 370 |
|
|
|
| 371 |
|
|
* Updated headers with SVN info
|
| 372 |
|
|
|
| 373 |
|
|
2009-08-04 [r17]
|
| 374 |
|
|
|
| 375 |
|
|
* Updated header with SVN info
|
| 376 |
|
|
|
| 377 |
|
|
2009-07-13 [r6]
|
| 378 |
|
|
|
| 379 |
|
|
* Some more SVN ignore properties...
|
| 380 |
|
|
|
| 381 |
|
|
2009-06-30 [r2]
|
| 382 |
|
|
|
| 383 |
|
|
* Upload complete openMSP430 project to the SVN repository
|
| 384 |
|
|
|