1 |
50 |
olivier.gi |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2 |
166 |
olivier.gi |
<html><head><title>openMSP430 Overview</title></head>
|
3 |
|
|
<body>
|
4 |
|
|
<table style="text-align: left; width: 100%;" border="0" cellpadding="0" cellspacing="0">
|
5 |
|
|
<tbody>
|
6 |
|
|
<tr>
|
7 |
|
|
<td style="vertical-align: top;">
|
8 |
|
|
<h1>Introduction</h1>
|
9 |
|
|
The openMSP430 is a synthesizable 16bit microcontroller core written in Verilog. It is
|
10 |
|
|
compatible with Texas Instruments' <b><a href="http://www.ti.com/litv/pdf/slau049f">MSP430 microcontroller
|
11 |
|
|
family</a></b> and can execute the code generated by any MSP430 toolchain in a near cycle accurate way.<br>
|
12 |
|
|
<br>
|
13 |
|
|
The core comes with some peripherals (<b>16x16 Hardware Multiplier, </b>Watchdog,
|
14 |
202 |
olivier.gi |
GPIO, TimerA, generic templates), with a DMA interface, and most notably with a two-wire <b>Serial
|
15 |
166 |
olivier.gi |
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
|
16 |
|
|
software debugging. <br>
|
17 |
|
|
<br>
|
18 |
|
|
While being fully FPGA friendly, this design is also particularly
|
19 |
|
|
suited for ASIC implementations (typically mixed signal ICs with strong area and low-power requirements).<br>
|
20 |
|
|
In a nutshell, the openMSP430 brings with it:<br>
|
21 |
|
|
<ul>
|
22 |
|
|
<li>Low area (8k-Gates), without hidden extra infrastructure overhead (memory backbone, IRQ controller and watchdog timer are already included).</li>
|
23 |
|
|
<li>Excellent code density.</li>
|
24 |
|
|
<li>Good performances.</li>
|
25 |
|
|
<li>Build-in power and clock managment options.</li>
|
26 |
195 |
olivier.gi |
<li>Multiple times <span style="font-weight: bold;">Silicon Proven</span>.</li>
|
27 |
166 |
olivier.gi |
</ul>
|
28 |
|
|
</td>
|
29 |
|
|
<td style="vertical-align: top;">
|
30 |
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
31 |
|
|
<tbody>
|
32 |
|
|
<tr><td style="vertical-align: top;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QVSEARCQD88FQ"><img alt="donate 8euro" src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2F008_amount_button.png" > </a> </td></tr>
|
33 |
|
|
<tr><td style="vertical-align: top;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SD9F58JAMB8XA"><img alt="donate 16euro" src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2F016_amount_button.png" > </a> </td></tr>
|
34 |
|
|
<tr><td style="vertical-align: top;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=K2VBGQU7C4ZQY"><img alt="donate 32euro" src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2F032_chip_button_paypal.png" > </a> </td></tr>
|
35 |
|
|
<tr><td style="vertical-align: top;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=6CQD25UJLD2CY"><img alt="donate 64euro" src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2F064_amount_button.png" > </a> </td></tr>
|
36 |
|
|
<tr><td style="vertical-align: top;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=EQFEFFJZFCXBW"><img alt="donate 128euro" src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2F128_amount_button.png" > </a> </td></tr>
|
37 |
|
|
<tr><td style="vertical-align: top;"><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MG8M87BXDL3K8"><img alt="donate XXXeuro" src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2F000_amount_button.png" > </a> </td></tr>
|
38 |
|
|
</tbody>
|
39 |
|
|
</table>
|
40 |
|
|
</td>
|
41 |
|
|
</tr>
|
42 |
|
|
</tbody>
|
43 |
|
|
</table>
|
44 |
135 |
olivier.gi |
<br>
|
45 |
50 |
olivier.gi |
|
46 |
|
|
<h1>Download</h1>
|
47 |
|
|
<h3>Design</h3>
|
48 |
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>
|
49 |
|
|
<br>
|
50 |
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>):
|
51 |
135 |
olivier.gi |
<br><br>
|
52 |
|
|
<table border="0" cellpadding="0" cellspacing="4">
|
53 |
|
|
<tbody><tr>
|
54 |
|
|
<td width="35"><br>
|
55 |
|
|
</td>
|
56 |
|
|
<td bgcolor="#d0d0d0" width="3"><br>
|
57 |
|
|
</td>
|
58 |
|
|
<td width="15"><br>
|
59 |
|
|
</td>
|
60 |
50 |
olivier.gi |
<td>
|
61 |
|
|
<code>svn export http://opencores.org/ocsvn/openmsp430/openmsp430/trunk/ openmsp430</code>
|
62 |
|
|
</td>
|
63 |
|
|
</tr>
|
64 |
135 |
olivier.gi |
</tbody></table>
|
65 |
|
|
<br>
|
66 |
116 |
olivier.gi |
<h3>ChangeLog</h3>
|
67 |
|
|
<ul>
|
68 |
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>
|
69 |
|
|
<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>
|
70 |
|
|
<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.
|
71 |
|
|
</li></ul>
|
72 |
|
|
<br>
|
73 |
|
|
<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>
|
74 |
|
|
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>
|
75 |
|
|
|
76 |
|
|
<br>
|
77 |
|
|
<h1>Features & Limitations</h1>
|
78 |
50 |
olivier.gi |
<h2>Features</h2>
|
79 |
|
|
<ul>
|
80 |
|
|
<li><b>Core:</b>
|
81 |
|
|
<ul>
|
82 |
135 |
olivier.gi |
<li>Full instruction set support.</li>
|
83 |
195 |
olivier.gi |
<li>Interrupts: IRQs (x14, x30 or x62), NMI (x1).</li>
|
84 |
|
|
<li>Low Power Modes (LPMx).</li>
|
85 |
50 |
olivier.gi |
<li>Configurable memory size for both program and data.</li>
|
86 |
116 |
olivier.gi |
<li>Scalable peripheral address space.</li>
|
87 |
202 |
olivier.gi |
<li>DMA interface.</li>
|
88 |
195 |
olivier.gi |
<li>Two-wire Serial Debug Interface (I<sup>2</sup>C or UART based) with GDB support (Nexus class 3, w/o trace).</li>
|
89 |
135 |
olivier.gi |
<li>FPGA friendly (option for single clock domain, no clock gate).</li>
|
90 |
|
|
<li>ASIC friendly (options for full power & clock management support).<br>
|
91 |
|
|
</li>
|
92 |
|
|
|
93 |
69 |
olivier.gi |
<li>Small size (Xilinx: 1650 LUTs / Altera: 1550 LEs / ASIC: 8k gates).</li>
|
94 |
50 |
olivier.gi |
</ul>
|
95 |
|
|
</li>
|
96 |
135 |
olivier.gi |
<br>
|
97 |
50 |
olivier.gi |
<li><b>Peripherals:</b>
|
98 |
|
|
<ul>
|
99 |
69 |
olivier.gi |
<li>16x16 Hardware Multiplier.</li>
|
100 |
50 |
olivier.gi |
<li>Basic Clock Module.</li>
|
101 |
|
|
<li>Watchdog.</li>
|
102 |
135 |
olivier.gi |
<li>Timer A (FPGA only).</li>
|
103 |
|
|
<li>GPIOs (FPGA only).</li>
|
104 |
|
|
<li>Templates for 8 and 16 bit peripherals.</li>
|
105 |
50 |
olivier.gi |
</ul>
|
106 |
|
|
</li>
|
107 |
|
|
</ul>
|
108 |
|
|
<h2>Limitations</h2>
|
109 |
|
|
<ul>
|
110 |
|
|
<li><b>Core:</b>
|
111 |
|
|
<ul>
|
112 |
|
|
<li>Instructions can't be executed from the data memory.</li>
|
113 |
|
|
</ul>
|
114 |
|
|
</li>
|
115 |
135 |
olivier.gi |
|
116 |
50 |
olivier.gi |
</ul>
|
117 |
135 |
olivier.gi |
<br><br>
|
118 |
50 |
olivier.gi |
<h1>Links</h1>
|
119 |
140 |
olivier.gi |
Follow on Google+:
|
120 |
50 |
olivier.gi |
<ul>
|
121 |
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>
|
122 |
50 |
olivier.gi |
</ul>
|
123 |
|
|
Discussion group:
|
124 |
|
|
<ul>
|
125 |
135 |
olivier.gi |
<li><input name="hl" value="en" type="hidden">
|
126 |
|
|
<table style="padding: 5px; background-color: rgb(255, 255, 255);" border="0" cellspacing="0">
|
127 |
|
|
<tbody><tr><td>
|
128 |
|
|
<img src="http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif" alt="Google Groups" height="30" width="140">
|
129 |
72 |
olivier.gi |
</td></tr>
|
130 |
135 |
olivier.gi |
<tr><td style="padding-left: 5px;">
|
131 |
72 |
olivier.gi |
<b>Subscribe to openMSP430</b>
|
132 |
|
|
</td></tr>
|
133 |
135 |
olivier.gi |
<form action="http://groups.google.com/group/discuss_openmsp430/boxsubscribe"></form>
|
134 |
72 |
olivier.gi |
<tr><td style="padding-left: 5px;">
|
135 |
135 |
olivier.gi |
Email: <input name="email" type="text">
|
136 |
|
|
<input name="sub" value="Subscribe" type="submit">
|
137 |
72 |
olivier.gi |
</td></tr>
|
138 |
135 |
olivier.gi |
|
139 |
|
|
<tr><td align="right">
|
140 |
72 |
olivier.gi |
<a href="http://groups.google.com/group/discuss_openmsp430?hl=en">Visit this group</a>
|
141 |
|
|
</td></tr>
|
142 |
135 |
olivier.gi |
</tbody></table>
|
143 |
72 |
olivier.gi |
</li>
|
144 |
50 |
olivier.gi |
</ul>
|
145 |
140 |
olivier.gi |
Development has been performed using the following freely available (excellent) tools:
|
146 |
|
|
<ul>
|
147 |
|
|
<li><a href="http://iverilog.icarus.com/">Icarus Verilog</a> : Verilog simulator.</li>
|
148 |
|
|
<li><a href="http://gtkwave.sourceforge.net/">GTKWave Analyzer</a> : Waveform viewer.</li>
|
149 |
|
|
<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>
|
150 |
|
|
<li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE WebPACK</a> : Xilinx's free FPGA synthesis tool.</li>
|
151 |
|
|
</ul>
|
152 |
50 |
olivier.gi |
A few MSP430 links:
|
153 |
|
|
<ul>
|
154 |
|
|
<li><a href="http://en.wikipedia.org/wiki/MSP430">Wikipedia: MSP430</a></li>
|
155 |
|
|
<li><a href="http://www.ti.com/litv/pdf/slau049f">TI: MSP430x1xx Family User's Guide</a></li>
|
156 |
135 |
olivier.gi |
<li><a href="http://www.ti.com/lit/an/slaa205c/slaa205c.pdf">TI: MSP430 Competitive Benchmarking</a><br>
|
157 |
|
|
</li>
|
158 |
|
|
|
159 |
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>
|
160 |
50 |
olivier.gi |
</ul>
|
161 |
135 |
olivier.gi |
<br><br>
|
162 |
|
|
<h1>Legal information</h1>MSP430 is a trademark of Texas Instruments,
|
163 |
|
|
Inc. This project is not affiliated in any way with Texas Instruments.
|
164 |
|
|
All other product names are trademarks or registered trademarks of
|
165 |
|
|
their respective owners. </body></html>
|