| 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 | 219 | olivier.gi |            <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 32euro"  src="http://opencores.org/websvn,filedetails?repname=openmsp430&path=%2Fopenmsp430%2Ftrunk%2Fdoc%2Fhtml%2Fimages%2Fdonate_buttons%2Fchip_no_button_paypal_payment.png"  > </a> </td></tr>
 | 
      
         | 33 | 166 | olivier.gi |          </tbody>
 | 
      
         | 34 |  |  |          </table>
 | 
      
         | 35 |  |  |     </td>
 | 
      
         | 36 |  |  |   </tr>
 | 
      
         | 37 |  |  | </tbody>
 | 
      
         | 38 |  |  | </table>
 | 
      
         | 39 | 135 | olivier.gi | <br>
 | 
      
         | 40 | 50 | olivier.gi |  
 | 
      
         | 41 |  |  | <h1>Download</h1>
 | 
      
         | 42 |  |  | <h3>Design</h3>
 | 
      
         | 43 | 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>
 | 
      
         | 44 |  |  | <br>
 | 
      
         | 45 | 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>):
 | 
      
         | 46 | 135 | olivier.gi | <br><br>
 | 
      
         | 47 |  |  | <table border="0" cellpadding="0" cellspacing="4">
 | 
      
         | 48 |  |  | <tbody><tr>
 | 
      
         | 49 |  |  | <td width="35"><br>
 | 
      
         | 50 |  |  | </td>
 | 
      
         | 51 |  |  | <td bgcolor="#d0d0d0" width="3"><br>
 | 
      
         | 52 |  |  | </td>
 | 
      
         | 53 |  |  | <td width="15"><br>
 | 
      
         | 54 |  |  | </td>
 | 
      
         | 55 | 50 | olivier.gi | <td>
 | 
      
         | 56 |  |  |         <code>svn export http://opencores.org/ocsvn/openmsp430/openmsp430/trunk/ openmsp430</code>
 | 
      
         | 57 |  |  | </td>
 | 
      
         | 58 |  |  | </tr>
 | 
      
         | 59 | 135 | olivier.gi | </tbody></table>
 | 
      
         | 60 |  |  | <br>
 | 
      
         | 61 | 116 | olivier.gi | <h3>ChangeLog</h3>
 | 
      
         | 62 |  |  | <ul>
 | 
      
         | 63 | 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>
 | 
      
         | 64 |  |  |    <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>
 | 
      
         | 65 |  |  |    <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.
 | 
      
         | 66 |  |  | </li></ul>
 | 
      
         | 67 |  |  | <br>
 | 
      
         | 68 |  |  | <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>
 | 
      
         | 69 |  |  | 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>
 | 
      
         | 70 |  |  |  
 | 
      
         | 71 |  |  | <br>
 | 
      
         | 72 |  |  | <h1>Features & Limitations</h1>
 | 
      
         | 73 | 50 | olivier.gi | <h2>Features</h2>
 | 
      
         | 74 |  |  | <ul>
 | 
      
         | 75 |  |  |         <li><b>Core:</b>
 | 
      
         | 76 |  |  |         <ul>
 | 
      
         | 77 | 135 | olivier.gi |       <li>Full instruction set support.</li>
 | 
      
         | 78 | 195 | olivier.gi |       <li>Interrupts: IRQs (x14, x30 or x62), NMI (x1).</li>
 | 
      
         | 79 |  |  |       <li>Low Power Modes (LPMx).</li>
 | 
      
         | 80 | 50 | olivier.gi |       <li>Configurable memory size for both program and data.</li>
 | 
      
         | 81 | 116 | olivier.gi |       <li>Scalable peripheral address space.</li>
 | 
      
         | 82 | 202 | olivier.gi |       <li>DMA interface.</li>
 | 
      
         | 83 | 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>
 | 
      
         | 84 | 135 | olivier.gi |       <li>FPGA friendly (option for single clock domain, no clock gate).</li>
 | 
      
         | 85 |  |  |       <li>ASIC friendly (options for full power & clock management support).<br>
 | 
      
         | 86 |  |  |       </li>
 | 
      
         | 87 |  |  |  
 | 
      
         | 88 | 69 | olivier.gi |       <li>Small size (Xilinx: 1650 LUTs / Altera: 1550 LEs / ASIC: 8k gates).</li>
 | 
      
         | 89 | 50 | olivier.gi |         </ul>
 | 
      
         | 90 |  |  |         </li>
 | 
      
         | 91 | 219 | olivier.gi |         <br>
 | 
      
         | 92 | 50 | olivier.gi |         <li><b>Peripherals:</b>
 | 
      
         | 93 |  |  |         <ul>
 | 
      
         | 94 | 69 | olivier.gi |       <li>16x16 Hardware Multiplier.</li>
 | 
      
         | 95 | 50 | olivier.gi |       <li>Basic Clock Module.</li>
 | 
      
         | 96 |  |  |       <li>Watchdog.</li>
 | 
      
         | 97 | 135 | olivier.gi |       <li>Timer A (FPGA only).</li>
 | 
      
         | 98 |  |  |       <li>GPIOs (FPGA only).</li>
 | 
      
         | 99 |  |  |       <li>Templates for 8 and 16 bit peripherals.</li>
 | 
      
         | 100 | 222 | olivier.gi |       <li>Graphic Controller (<a href="http://opencores.org/project,opengfx430">openGFX430)</a></li>
 | 
      
         | 101 | 50 | olivier.gi |         </ul>
 | 
      
         | 102 |  |  |         </li>
 | 
      
         | 103 |  |  | </ul>
 | 
      
         | 104 |  |  | <h2>Limitations</h2>
 | 
      
         | 105 |  |  | <ul>
 | 
      
         | 106 |  |  |         <li><b>Core:</b>
 | 
      
         | 107 |  |  |         <ul>
 | 
      
         | 108 |  |  |       <li>Instructions can't be executed from the data memory.</li>
 | 
      
         | 109 |  |  |         </ul>
 | 
      
         | 110 |  |  |         </li>
 | 
      
         | 111 | 219 | olivier.gi |  
 | 
      
         | 112 | 50 | olivier.gi | </ul>
 | 
      
         | 113 | 135 | olivier.gi | <br><br>
 | 
      
         | 114 | 50 | olivier.gi | <h1>Links</h1>
 | 
      
         | 115 | 140 | olivier.gi | Follow on Google+:
 | 
      
         | 116 | 50 | olivier.gi | <ul>
 | 
      
         | 117 | 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>
 | 
      
         | 118 | 50 | olivier.gi | </ul>
 | 
      
         | 119 |  |  | Discussion group:
 | 
      
         | 120 |  |  | <ul>
 | 
      
         | 121 | 135 | olivier.gi |         <li><input name="hl" value="en" type="hidden">
 | 
      
         | 122 |  |  |        <table style="padding: 5px; background-color: rgb(255, 255, 255);" border="0" cellspacing="0">
 | 
      
         | 123 |  |  |        <tbody><tr><td>
 | 
      
         | 124 |  |  |        <img src="http://groups.google.com/intl/en/images/logos/groups_logo_sm.gif" alt="Google Groups" height="30" width="140">
 | 
      
         | 125 | 72 | olivier.gi |        </td></tr>
 | 
      
         | 126 | 135 | olivier.gi |        <tr><td style="padding-left: 5px;">
 | 
      
         | 127 | 72 | olivier.gi |        <b>Subscribe to openMSP430</b>
 | 
      
         | 128 |  |  |        </td></tr>
 | 
      
         | 129 | 135 | olivier.gi |        <form action="http://groups.google.com/group/discuss_openmsp430/boxsubscribe"></form>
 | 
      
         | 130 | 72 | olivier.gi |        <tr><td style="padding-left: 5px;">
 | 
      
         | 131 | 135 | olivier.gi |        Email: <input name="email" type="text">
 | 
      
         | 132 |  |  |        <input name="sub" value="Subscribe" type="submit">
 | 
      
         | 133 | 72 | olivier.gi |        </td></tr>
 | 
      
         | 134 | 219 | olivier.gi |  
 | 
      
         | 135 | 135 | olivier.gi |        <tr><td align="right">
 | 
      
         | 136 | 72 | olivier.gi |        <a href="http://groups.google.com/group/discuss_openmsp430?hl=en">Visit this group</a>
 | 
      
         | 137 |  |  |        </td></tr>
 | 
      
         | 138 | 135 | olivier.gi |        </tbody></table>
 | 
      
         | 139 | 72 | olivier.gi |    </li>
 | 
      
         | 140 | 50 | olivier.gi | </ul>
 | 
      
         | 141 | 140 | olivier.gi | Development has been performed using the following freely available (excellent) tools:
 | 
      
         | 142 |  |  | <ul>
 | 
      
         | 143 |  |  |         <li><a href="http://iverilog.icarus.com/">Icarus Verilog</a>  : Verilog simulator.</li>
 | 
      
         | 144 |  |  |         <li><a href="http://gtkwave.sourceforge.net/">GTKWave Analyzer</a>   : Waveform viewer.</li>
 | 
      
         | 145 |  |  |         <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>
 | 
      
         | 146 |  |  |         <li><a href="http://www.xilinx.com/ise/logic_design_prod/webpack.htm">ISE WebPACK</a>   : Xilinx's free FPGA synthesis tool.</li>
 | 
      
         | 147 |  |  | </ul>
 | 
      
         | 148 | 50 | olivier.gi | A few MSP430 links:
 | 
      
         | 149 |  |  | <ul>
 | 
      
         | 150 |  |  |         <li><a href="http://en.wikipedia.org/wiki/MSP430">Wikipedia: MSP430</a></li>
 | 
      
         | 151 |  |  |         <li><a href="http://www.ti.com/litv/pdf/slau049f">TI: MSP430x1xx Family User's Guide</a></li>
 | 
      
         | 152 | 135 | olivier.gi |   <li><a href="http://www.ti.com/lit/an/slaa205c/slaa205c.pdf">TI: MSP430 Competitive Benchmarking</a><br>
 | 
      
         | 153 |  |  |   </li>
 | 
      
         | 154 |  |  |  
 | 
      
         | 155 | 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>
 | 
      
         | 156 | 50 | olivier.gi | </ul>
 | 
      
         | 157 | 135 | olivier.gi | <br><br>
 | 
      
         | 158 |  |  | <h1>Legal information</h1>MSP430 is a trademark of Texas Instruments,
 | 
      
         | 159 |  |  | Inc. This project is not affiliated in any way with Texas Instruments.
 | 
      
         | 160 |  |  | All other product names are trademarks or registered trademarks of
 | 
      
         | 161 | 219 | olivier.gi | their respective owners. </body></html>
 |