Line 90... |
Line 90... |
<td><font size="-1"> 1</font></td><td><font size="-1"> 0</font></td>
|
<td><font size="-1"> 1</font></td><td><font size="-1"> 0</font></td>
|
</tr>
|
</tr>
|
<tr align="center">
|
<tr align="center">
|
<td><font size="-1"><a href="#2.2.1 CPU_ID">CPU_ID_LO</a></font></td>
|
<td><font size="-1"><a href="#2.2.1 CPU_ID">CPU_ID_LO</a></font></td>
|
<td><font size="-1">0x00</font></td>
|
<td><font size="-1">0x00</font></td>
|
<td colspan="16"><font size="-5">DMEM_AWIDTH</font></td>
|
<td colspan="7"><font size="-5">PER_SPACE</font></td>
|
|
<td colspan="5"><font size="-5">USER_VERSION</font></td>
|
|
<td colspan="1"><font size="-5">ASIC</font></td>
|
|
<td colspan="3"><font size="-5">CPU_VERSION</font></td>
|
</tr>
|
</tr>
|
<tr align="center">
|
<tr align="center">
|
<td><font size="-1"><a href="#2.2.1 CPU_ID">CPU_ID_HI</a></font></td>
|
<td><font size="-1"><a href="#2.2.1 CPU_ID">CPU_ID_HI</a></font></td>
|
<td><font size="-1">0x01</font></td>
|
<td><font size="-1">0x01</font></td>
|
<td colspan="16"><font size="-5">PMEM_AWIDTH</font></td>
|
<td colspan="6"><font size="-5">PMEM_SIZE</font></td>
|
|
<td colspan="9"><font size="-5">DMEM_SIZE</font></td>
|
|
<td colspan="1"><font size="-5">MPY</font></td>
|
</tr>
|
</tr>
|
<tr align="center">
|
<tr align="center">
|
<td><font size="-1"><a href="#2.2.2 CPU_CTL">CPU_CTL</a></font></td>
|
<td><font size="-1"><a href="#2.2.2 CPU_CTL">CPU_CTL</a></font></td>
|
<td><font size="-1">0x02</font></td>
|
<td><font size="-1">0x02</font></td>
|
<td colspan="9"><font size="-5">Reserved</font></td>
|
<td colspan="9"><font size="-5">Reserved</font></td>
|
Line 295... |
Line 300... |
<td><font size="-1"> 1</font></td><td><font size="-1"> 0</font></td>
|
<td><font size="-1"> 1</font></td><td><font size="-1"> 0</font></td>
|
</tr>
|
</tr>
|
<tr align="center">
|
<tr align="center">
|
<td><font size="-1">CPU_ID_LO</font></td>
|
<td><font size="-1">CPU_ID_LO</font></td>
|
<td><font size="-1">0x00</font></td>
|
<td><font size="-1">0x00</font></td>
|
<td colspan="16"><font size="-5">DMEM_AWIDTH</font></td>
|
<td colspan="7"><font size="-5">PER_SPACE</font></td>
|
|
<td colspan="5"><font size="-5">USER_VERSION</font></td>
|
|
<td colspan="1"><font size="-5">ASIC</font></td>
|
|
<td colspan="3"><font size="-5">CPU_VERSION</font></td>
|
</tr>
|
</tr>
|
<tr align="center">
|
<tr align="center">
|
<td><font size="-1">CPU_ID_HI</font></td>
|
<td><font size="-1">CPU_ID_HI</font></td>
|
<td><font size="-1">0x01</font></td>
|
<td><font size="-1">0x01</font></td>
|
<td colspan="16"><font size="-5">PMEM_AWIDTH</font></td>
|
<td colspan="6"><font size="-5">PMEM_SIZE</font></td>
|
|
<td colspan="9"><font size="-5">DMEM_SIZE</font></td>
|
|
<td colspan="1"><font size="-5">MPY</font></td>
|
</tr>
|
</tr>
|
</table>
|
</table>
|
<br />
|
<br />
|
<table border="0">
|
<table border="0">
|
<tr>
|
<tr>
|
<td> </td><td valign="top"><li><b>PMEM_AWIDTH</b></li></td>
|
<td> </td><td valign="top"><li><b>CPU_VERSION</b></li></td>
|
<td>: Program memory size in byte for the current implementation</td>
|
<td>: Current CPU version (currently 1)</td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td> </td><td valign="top"><li><b>DMEM_AWIDTH</b></li></td>
|
<td> </td><td valign="top"><li><b>ASIC</b></li></td>
|
<td>: Data memory size in byte for the current implementation.</td>
|
<td>: Defines if the ASIC specific features are enabled in the current openMSP430 implementation.</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td><td valign="top"><li><b>USER_VERSION</b></li></td>
|
|
<td>: Reflects the value defined in the <b>openMSP430_defines.v</b> file.</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td><td valign="top"><li><b>PER_SPACE</b></li></td>
|
|
<td>: Peripheral address space for the current implementation (byte size = PER_SPACE*512)</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td><td valign="top"><li><b>MPY</b></li></td>
|
|
<td>: This bit is set if the hardware multiplier is included in the current implementation</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td><td valign="top"><li><b>DMEM_SIZE</b></li></td>
|
|
<td>: Data memory size for the current implementation (byte size = DMEM_SIZE*128)</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td><td valign="top"><li><b>PMEM_SIZE</b></li></td>
|
|
<td>: Progam memory size for the current implementation (byte size = PMEM_SIZE*1024)</td>
|
</tr>
|
</tr>
|
</table>
|
</table>
|
|
|
<a name="2.2.2 CPU_CTL"></a>
|
<a name="2.2.2 CPU_CTL"></a>
|
<h3>2.2.2 CPU_CTL</h3>
|
<h3>2.2.2 CPU_CTL</h3>
|
Line 690... |
Line 720... |
<td>: 0 - Address match on BRK_ADDR0 or BRK_ADDR1 (normal mode)</td>
|
<td>: 0 - Address match on BRK_ADDR0 or BRK_ADDR1 (normal mode)</td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td> </td><td> </td>
|
<td> </td><td> </td>
|
<td> 1 - Address match on BRK_ADDR0→BRK_ADDR1 range (range mode)
|
<td> 1 - Address match on BRK_ADDR0→BRK_ADDR1 range (range mode)
|
<br /><font color="red"><b>Note</b>: range mode is not supported by the core unless the `HWBRK_RANGE define is set to 1'b1 in the <i>openMSP430_define.v</i> file.</font></td>
|
<br /><font color="red"><b>Note</b>: range mode is not supported by the core unless the `DBG_HWBRK_RANGE define is set to 1'b1 in the <i>openMSP430_define.v</i> file.</font></td>
|
</td>
|
</td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td> </td><td valign="top"><li><b>INST_EN</b></li></td>
|
<td> </td><td valign="top"><li><b>INST_EN</b></li></td>
|
<td>: 0 - Checks are done on the execution unit (data flow).</td>
|
<td>: 0 - Checks are done on the execution unit (data flow).</td>
|
Line 762... |
Line 792... |
<td>: This bit is set whenever the CPU performs a write access within the BRKx_ADDR0→BRKx_ADDR1 range (valid if RANGE_MODE=1 and ACCESS_MODE[1]=1).</td>
|
<td>: This bit is set whenever the CPU performs a write access within the BRKx_ADDR0→BRKx_ADDR1 range (valid if RANGE_MODE=1 and ACCESS_MODE[1]=1).</td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td> </td><td valign="top"><li><b>RANGE_RD</b></li></td>
|
<td> </td><td valign="top"><li><b>RANGE_RD</b></li></td>
|
<td>: This bit is set whenever the CPU performs a read access within the BRKx_ADDR0→BRKx_ADDR1 range (valid if RANGE_MODE=1 and ACCESS_MODE[0]=1).
|
<td>: This bit is set whenever the CPU performs a read access within the BRKx_ADDR0→BRKx_ADDR1 range (valid if RANGE_MODE=1 and ACCESS_MODE[0]=1).
|
<br /><font color="red"><b>Note</b>: range mode is not supported by the core unless the `HWBRK_RANGE define is set to 1'b1 in the <i>openMSP430_define.v</i> file.</font></td>
|
<br /><font color="red"><b>Note</b>: range mode is not supported by the core unless the `DBG_HWBRK_RANGE define is set to 1'b1 in the <i>openMSP430_define.v</i> file.</font></td>
|
</tr>
|
</tr>
|
<tr>
|
<tr>
|
<td> </td><td valign="top"><li><b>ADDR1_WR</b></li></td>
|
<td> </td><td valign="top"><li><b>ADDR1_WR</b></li></td>
|
<td>: This bit is set whenever the CPU performs a write access at the BRKx_ADDR1 address (valid if RANGE_MODE=0 and ACCESS_MODE[1]=1).</td>
|
<td>: This bit is set whenever the CPU performs a write access at the BRKx_ADDR1 address (valid if RANGE_MODE=0 and ACCESS_MODE[1]=1).</td>
|
</tr>
|
</tr>
|