1 |
50 |
olivier.gi |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2 |
135 |
olivier.gi |
<html><head><title>openMSP430 Overview</title></head><body>
|
3 |
|
|
<br>
|
4 |
50 |
olivier.gi |
<h1>Introduction</h1>
|
5 |
|
|
|
6 |
135 |
olivier.gi |
The openMSP430 is a synthesizable 16bit microcontroller core written in Verilog. It is compatible with Texas Instruments' <b><a href="http://www.ti.com/litv/pdf/slau049f">MSP430 microcontroller family</a></b> and can execute the code generated by any MSP430 toolchain in a near cycle accurate way.<br><br>
|
7 |
|
|
The core comes with some peripherals (<b>16x16 Hardware Multiplier, </b>Watchdog, GPIO, TimerA, generic templates) and most notably with a two-wire <b>Serial Debug Interface</b> supporting the<b> <a href="http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=MSPGCC_Wiki" target="_blank">MSPGCC</a> GNU Debugger</b> (GDB) for in-system software debugging.
|
8 |
|
|
<br><br>
|
9 |
|
|
While being fully FPGA friendly, this design is also particularly
|
10 |
|
|
suited for ASIC implementations (typically mixed signal ICs with strong area
|
11 |
|
|
and low-power requirements).<br>
|
12 |
|
|
In a nutshell, the openMSP430 brings with it:<br>
|
13 |
|
|
<ul>
|
14 |
|
|
|
15 |
|
|
<li>Low area (8k-Gates), without hidden extra infrastructure
|
16 |
|
|
overhead (memory backbone, IRQ controller and watchdog timer are already
|
17 |
|
|
included).</li>
|
18 |
|
|
|
19 |
|
|
<li>Excellent code density.</li>
|
20 |
|
|
<li>Good performances.</li>
|
21 |
|
|
|
22 |
|
|
<li>Build-in power and clock managment options.</li>
|
23 |
|
|
<li>Multiple time <span style="font-weight: bold;">Silicon Proven</span>.<br>
|
24 |
|
|
</li>
|
25 |
|
|
</ul>
|
26 |
|
|
|
27 |
50 |
olivier.gi |
<h1>Download</h1>
|
28 |
|
|
<h3>Design</h3>
|
29 |
135 |
olivier.gi |
The complete tar archive of the project can be downloaded <a href="http://www.opencores.org/download,openmsp430">here</a> (OpenCores account required).<br>
|
30 |
|
|
<br>
|
31 |
50 |
olivier.gi |
The following SVN command can be run from a console (or <a href="http://www.syntevo.com/smartsvn/index.html">GUI</a>):
|
32 |
135 |
olivier.gi |
<br><br>
|
33 |
|
|
<table border="0" cellpadding="0" cellspacing="4">
|
34 |
|
|
<tbody><tr>
|
35 |
|
|
<td width="35"><br>
|
36 |
|
|
</td>
|
37 |
|
|
<td bgcolor="#d0d0d0" width="3"><br>
|
38 |
|
|
</td>
|
39 |
|
|
<td width="15"><br>
|
40 |
|
|
</td>
|
41 |
50 |
olivier.gi |
<td>
|
42 |
|
|
<code>svn export http://opencores.org/ocsvn/openmsp430/openmsp430/trunk/ openmsp430</code>
|
43 |
|
|
</td>
|
44 |
|
|
</tr>
|
45 |
135 |
olivier.gi |
</tbody></table>
|
46 |
|
|
<br>
|
47 |
116 |
olivier.gi |
<h3>ChangeLog</h3>
|
48 |
|
|
<ul>
|
49 |
135 |
olivier.gi |
<li>The <a href="http://opencores.org/websvn,filedetails?repname=openmsp430&path=/openmsp430/trunk/ChangeLog_core.txt">Core's ChangeLog</a> lists the CPU updates.</li>
|
50 |
|
|
<li>The <a href="http://opencores.org/websvn,filedetails?repname=openmsp430&path=/openmsp430/trunk/ChangeLog_tools.txt">Tools' ChangeLog</a> lists the Software development tools updates.</li>
|
51 |
|
|
<li>Subscribe to the following <a href="http://opencores.org/websvn,rss?repname=openmsp430&path=/openmsp430/&isdir=1">RSS</a> feed to keep yourself informed about ALL updates.
|
52 |
|
|
</li></ul>
|
53 |
|
|
<br>
|
54 |
|
|
<h3>Documentation</h3>Being fully compatible with the original MSP430 architecture, TI's official documentation is applicable: <a href="http://www.ti.com/lit/ug/slau049f/slau049f.pdf">SLAU049F.PDF</a><br><br>
|
55 |
|
|
In addition, the openMSP430 online documentation is also available in <a href="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2FopenMSP430.pdf" title="openMSP430 PDF Doc. R1.9">pdf</a>.<br>
|
56 |
|
|
|
57 |
|
|
<br>
|
58 |
|
|
<h1>Features & Limitations</h1>
|
59 |
50 |
olivier.gi |
<h2>Features</h2>
|
60 |
|
|
<ul>
|
61 |
|
|
<li><b>Core:</b>
|
62 |
|
|
<ul>
|
63 |
135 |
olivier.gi |
<li>Full instruction set support.</li>
|
64 |
116 |
olivier.gi |
<li>Interrupts: IRQs (x14), NMI (x1).</li>
|
65 |
135 |
olivier.gi |
<li>Power saving modes.</li>
|
66 |
50 |
olivier.gi |
<li>Configurable memory size for both program and data.</li>
|
67 |
116 |
olivier.gi |
<li>Scalable peripheral address space.</li>
|
68 |
135 |
olivier.gi |
<li>Two-wire Serial Debug Interface (Nexus class 3, w/o trace) with GDB support.</li>
|
69 |
|
|
<li>FPGA friendly (option for single clock domain, no clock gate).</li>
|
70 |
|
|
<li>ASIC friendly (options for full power & clock management support).<br>
|
71 |
|
|
</li>
|
72 |
|
|
|
73 |
69 |
olivier.gi |
<li>Small size (Xilinx: 1650 LUTs / Altera: 1550 LEs / ASIC: 8k gates).</li>
|
74 |
50 |
olivier.gi |
</ul>
|
75 |
|
|
</li>
|
76 |
135 |
olivier.gi |
<br>
|
77 |
50 |
olivier.gi |
<li><b>Peripherals:</b>
|
78 |
|
|
<ul>
|
79 |
69 |
olivier.gi |
<li>16x16 Hardware Multiplier.</li>
|
80 |
50 |
olivier.gi |
<li>Basic Clock Module.</li>
|
81 |
|
|
<li>Watchdog.</li>
|
82 |
135 |
olivier.gi |
<li>Timer A (FPGA only).</li>
|
83 |
|
|
<li>GPIOs (FPGA only).</li>
|
84 |
|
|
<li>Templates for 8 and 16 bit peripherals.</li>
|
85 |
50 |
olivier.gi |
</ul>
|
86 |
|
|
</li>
|
87 |
|
|
</ul>
|
88 |
|
|
<h2>Limitations</h2>
|
89 |
|
|
<ul>
|
90 |
|
|
<li><b>Core:</b>
|
91 |
|
|
<ul>
|
92 |
|
|
<li>Instructions can't be executed from the data memory.</li>
|
93 |
|
|
</ul>
|
94 |
|
|
</li>
|
95 |
135 |
olivier.gi |
|
96 |
50 |
olivier.gi |
</ul>
|
97 |
135 |
olivier.gi |
<br><br>
|
98 |
50 |
olivier.gi |
<h1>Links</h1>
|
99 |
140 |
olivier.gi |
Follow on Google+:
|
100 |
50 |
olivier.gi |
<ul>
|
101 |
140 |
olivier.gi |
<li><a href="https://plus.google.com/109638736286636311338"><img style="border: 0px solid ; width: 39px; height: 39px;" alt="g+" src="https://lh6.googleusercontent.com/-0wq_FOg_8y8/Tu9AkzyXeOI/AAAAAAAAa1Y/QdtmEyJCPrA/google-plus-pages-logo.png"></a></li>
|
102 |
50 |
olivier.gi |
</ul>
|
103 |
|
|
Discussion group:
|
104 |
|
|
<ul>
|
105 |
135 |
olivier.gi |
<li><input name="hl" value="en" type="hidden">
|
106 |
|
|
<table style="padding: 5px; background-color: rgb(255, 255, 255);" border="0" cellspacing="0">
|
107 |
|
|
<tbody><tr><td>
|
108 |
|
|
<img src="http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif" alt="Google Groups" height="30" width="140">
|
109 |
72 |
olivier.gi |
</td></tr>
|
110 |
135 |
olivier.gi |
<tr><td style="padding-left: 5px;">
|
111 |
72 |
olivier.gi |
<b>Subscribe to openMSP430</b>
|
112 |
|
|
</td></tr>
|
113 |
135 |
olivier.gi |
<form action="http://groups.google.com/group/discuss_openmsp430/boxsubscribe"></form>
|
114 |
72 |
olivier.gi |
<tr><td style="padding-left: 5px;">
|
115 |
135 |
olivier.gi |
Email: <input name="email" type="text">
|
116 |
|
|
<input name="sub" value="Subscribe" type="submit">
|
117 |
72 |
olivier.gi |
</td></tr>
|
118 |
135 |
olivier.gi |
|
119 |
|
|
<tr><td align="right">
|
120 |
72 |
olivier.gi |
<a href="http://groups.google.com/group/discuss_openmsp430?hl=en">Visit this group</a>
|
121 |
|
|
</td></tr>
|
122 |
135 |
olivier.gi |
</tbody></table>
|
123 |
72 |
olivier.gi |
</li>
|
124 |
50 |
olivier.gi |
</ul>
|
125 |
140 |
olivier.gi |
Development has been performed using the following freely available (excellent) tools:
|
126 |
|
|
<ul>
|
127 |
|
|
<li><a href="http://iverilog.icarus.com/">Icarus Verilog</a> : Verilog simulator.</li>
|
128 |
|
|
<li><a href="http://gtkwave.sourceforge.net/">GTKWave Analyzer</a> : Waveform viewer.</li>
|
129 |
|
|
<li><a href="http://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=MSPGCC_Wiki">MSPGCC</a> : GCC toolchain for the Texas Instruments MSP430 MCUs.</li>
|
130 |
|
|
<li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE WebPACK</a> : Xilinx's free FPGA synthesis tool.</li>
|
131 |
|
|
</ul>
|
132 |
50 |
olivier.gi |
A few MSP430 links:
|
133 |
|
|
<ul>
|
134 |
|
|
<li><a href="http://en.wikipedia.org/wiki/MSP430">Wikipedia: MSP430</a></li>
|
135 |
|
|
<li><a href="http://www.ti.com/litv/pdf/slau049f">TI: MSP430x1xx Family User's Guide</a></li>
|
136 |
135 |
olivier.gi |
<li><a href="http://www.ti.com/lit/an/slaa205c/slaa205c.pdf">TI: MSP430 Competitive Benchmarking</a><br>
|
137 |
|
|
</li>
|
138 |
|
|
|
139 |
72 |
olivier.gi |
<li><a href="http://processors.wiki.ti.com/index.php/Open_Source_Projects_-_MSP430">TI: a list of available MSP430 Open Source projects out there on the web today.</a></li>
|
140 |
50 |
olivier.gi |
</ul>
|
141 |
135 |
olivier.gi |
<br><br>
|
142 |
|
|
<h1>Legal information</h1>MSP430 is a trademark of Texas Instruments,
|
143 |
|
|
Inc. This project is not affiliated in any way with Texas Instruments.
|
144 |
|
|
All other product names are trademarks or registered trademarks of
|
145 |
|
|
their respective owners. </body></html>
|