OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [Documents/] [CPU Instruction Set_files/] [sheet002.htm] - Blame information for rev 332

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 311 jshamlet
<html xmlns:v="urn:schemas-microsoft-com:vml"
2
xmlns:o="urn:schemas-microsoft-com:office:office"
3 241 jshamlet
xmlns:x="urn:schemas-microsoft-com:office:excel"
4
xmlns="http://www.w3.org/TR/REC-html40">
5
 
6
<head>
7
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
8
<meta name=ProgId content=Excel.Sheet>
9
<meta name=Generator content="Microsoft Excel 12">
10
<link id=Main-File rel=Main-File href="../CPU%20Instruction%20Set.htm">
11
<link rel=File-List href=filelist.xml>
12
<link rel=Stylesheet href=stylesheet.css>
13
<style>
14
<!--table
15
        {mso-displayed-decimal-separator:"\.";
16
        mso-displayed-thousand-separator:"\,";}
17
@page
18
        {margin:.75in .7in .75in .7in;
19
        mso-header-margin:.3in;
20
        mso-footer-margin:.3in;}
21
-->
22
</style>
23
<![if !supportTabStrip]><script language="JavaScript">
24
<!--
25
function fnUpdateTabs()
26
 {
27
  if (parent.window.g_iIEVer>=4) {
28
   if (parent.document.readyState=="complete"
29
    && parent.frames['frTabs'].document.readyState=="complete")
30
   parent.fnSetActiveSheet(1);
31
  else
32
   window.setTimeout("fnUpdateTabs();",150);
33
 }
34
}
35
 
36
if (window.name!="frSheet")
37
 window.location.replace("../CPU%20Instruction%20Set.htm");
38
else
39
 fnUpdateTabs();
40
//-->
41
</script>
42
<![endif]>
43
</head>
44
 
45
<body link=blue vlink=purple>
46
 
47
<table border=0 cellpadding=0 cellspacing=0 width=1242 style='border-collapse:
48
 collapse;table-layout:fixed;width:932pt'>
49
 <col width=185 style='mso-width-source:userset;mso-width-alt:6765;width:139pt'>
50
 <col width=103 style='mso-width-source:userset;mso-width-alt:3766;width:77pt'>
51
 <col class=xl67 width=61 style='mso-width-source:userset;mso-width-alt:2230;
52
 width:46pt'>
53
 <col class=xl68 width=893 style='mso-width-source:userset;mso-width-alt:32658;
54
 width:670pt'>
55 272 jshamlet
 <tr height=35 style='height:26.25pt'>
56
  <td height=35 width=185 style='height:26.25pt;width:139pt'></td>
57 241 jshamlet
  <td width=103 style='width:77pt'></td>
58 328 jshamlet
  <td class=xl106 colspan=2 width=954 style='mso-ignore:colspan;width:716pt'>Open8
59 241 jshamlet
  CPU Core Generics</td>
60
 </tr>
61
 <tr height=20 style='height:15.0pt'>
62
  <td height=20 colspan=2 style='height:15.0pt;mso-ignore:colspan'></td>
63
  <td class=xl67></td>
64
  <td class=xl68></td>
65
 </tr>
66
 <tr height=20 style='height:15.0pt'>
67
  <td height=20 class=xl69 style='height:15.0pt'>Option</td>
68
  <td class=xl69>Argument Type</td>
69
  <td class=xl70>Default</td>
70
  <td class=xl72 width=893 style='width:670pt'>Description</td>
71
 </tr>
72
 <tr height=20 style='height:15.0pt'>
73
  <td height=20 class=xl76 style='height:15.0pt;border-top:none'>Program_Start_Addr</td>
74
  <td class=xl76 style='border-top:none;border-left:none'>16-bit Address</td>
75
  <td class=xl103 style='border-top:none;border-left:none'>x&quot;0000&quot;</td>
76
  <td class=xl78 width=893 style='border-top:none;border-left:none;width:670pt'>Initial
77
  program counter location</td>
78
 </tr>
79
 <tr height=20 style='height:15.0pt'>
80
  <td height=20 class=xl73 style='height:15.0pt;border-top:none'>ISR_Start_Addr</td>
81
  <td class=xl73 style='border-top:none;border-left:none'>16-bit Address</td>
82
  <td class=xl74 style='border-top:none;border-left:none'>x&quot;FFF0&quot;</td>
83
  <td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Sets
84
  the initial location of the interrupt vector table</td>
85
 </tr>
86
 <tr height=20 style='height:15.0pt'>
87
  <td height=20 class=xl76 style='height:15.0pt;border-top:none'>Stack_Start_Addr</td>
88
  <td class=xl76 style='border-top:none;border-left:none'>16-bit Address</td>
89
  <td class=xl103 style='border-top:none;border-left:none'>x&quot;03FF&quot;</td>
90
  <td class=xl78 width=893 style='border-top:none;border-left:none;width:670pt'>Initial
91
  location of the CPU Stack - Must be located in accessible RAM</td>
92
 </tr>
93
 <tr height=40 style='height:30.0pt'>
94
  <td height=40 class=xl73 style='height:30.0pt;border-top:none'>Allow_Stack_Address_Move</td>
95
  <td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
96
  <td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
97
  <td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
98
  false, the RSP instruction will reset the stack pointer to
99
  &quot;Stack_Start_Addr&quot; by default. If true, the RSP instruction will
100
  either allow the stack pointer to be loaded from R1:R0 or copied to R1:R0
101 312 jshamlet
  depending on the status of the PSR_GP4 (PSR_S) flag.</td>
102 241 jshamlet
 </tr>
103
 <tr height=80 style='height:60.0pt'>
104 328 jshamlet
  <td height=80 class=xl107 style='height:60.0pt;border-top:none'>Enable_Auto_Increment</td>
105
  <td class=xl107 style='border-top:none;border-left:none'>Boolean</td>
106
  <td class=xl108 style='border-top:none;border-left:none'>FALSE</td>
107
  <td class=xl109 width=893 style='border-top:none;border-left:none;width:670pt'>If
108 241 jshamlet
  true, indexed instructions such as LDX, LDO, STX, STO will automatically
109 328 jshamlet
  post-increment if an odd register is specified. The effect is similar to a
110
  normal indexed instruction followed by an UPP instruction on the same
111
  register pair. For example, LDX R5 (or LDX R4++) will result in R0 getting
112
  the data stored at the address specified by R5:R4. Afterwards, the register
113
  pair R5:R4 will be incremented by 1, possibly setting the PSR_C flag. If
114
  false, specifying either register in a register pair will result in normal
115
  behavior.</td>
116 241 jshamlet
 </tr>
117 312 jshamlet
 <tr height=60 style='height:45.0pt'>
118
  <td height=60 class=xl73 style='height:45.0pt;border-top:none'>BRK_Implements_WAI</td>
119 272 jshamlet
  <td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
120
  <td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
121
  <td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
122 241 jshamlet
  true, the BRK instruction will cause the processor to halt as if an INT
123
  instruction was executed, but without triggering an interrupt. This is useful
124
  for pausing the CPU until an interrupt occurs. If false, the BRK instruction
125 312 jshamlet
  flushes the pipeline and executes an extended (5-clock) NOP cycle.</td>
126 241 jshamlet
 </tr>
127
 <tr height=20 style='height:15.0pt'>
128 328 jshamlet
  <td height=20 class=xl107 style='height:15.0pt;border-top:none'>Enable_NMI</td>
129
  <td class=xl107 style='border-top:none;border-left:none'>Boolean</td>
130
  <td class=xl108 style='border-top:none;border-left:none'>TRUE</td>
131
  <td class=xl109 width=893 style='border-top:none;border-left:none;width:670pt'>Forces
132 241 jshamlet
  bit 0 of the Interrupt Mask to 1, causing Interrupt 0 to be non-maskable.</td>
133
 </tr>
134
 <tr height=40 style='height:30.0pt'>
135 272 jshamlet
  <td height=40 class=xl73 style='height:30.0pt;border-top:none'>Sequential_Interrupts</td>
136
  <td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
137
  <td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
138
  <td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Prohibits
139 241 jshamlet
  interrupts from initiating an ISR if the I-bit is set, making ISRs
140
  sequential. This potentially blocks interrupt priority by allowing a lower
141 312 jshamlet
  level interrupt to block a higher level interrupt. This can be worked around
142
  by clearing the I-bit in known interruptable ISRs.</td>
143 241 jshamlet
 </tr>
144
 <tr height=40 style='height:30.0pt'>
145 328 jshamlet
  <td height=40 class=xl107 style='height:30.0pt;border-top:none'>RTI_Ignores_GP_Flags</td>
146
  <td class=xl107 style='border-top:none;border-left:none'>Boolean</td>
147
  <td class=xl108 style='border-top:none;border-left:none'>FALSE</td>
148
  <td class=xl109 width=893 style='border-top:none;border-left:none;width:670pt'>If
149 312 jshamlet
  set, preserves the general purpose flags GP_PSR4 (PSR_S) to GP_PSR7 on ISR
150
  exit, allowing them to be persistently set by interrupts. The lower four flag
151
  bits are always restored.</td>
152 241 jshamlet
 </tr>
153 272 jshamlet
 <tr height=40 style='height:30.0pt'>
154
  <td height=40 class=xl73 style='height:30.0pt;border-top:none'>Supervisor_Mode</td>
155
  <td class=xl73 style='border-top:none;border-left:none'>Boolean</td>
156
  <td class=xl74 style='border-top:none;border-left:none'>FALSE</td>
157
  <td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>If
158
  set to true, enables restrictions on RSP, CLP/STP, and SMSK where they only
159
  can alter internal registers if the I bit is set. Also initializes the CPU to
160
  start with the I-bit set. If set to false, there are no restrictions on these
161
  instructions.</td>
162
 </tr>
163 241 jshamlet
 <tr height=20 style='height:15.0pt'>
164 328 jshamlet
  <td height=20 class=xl107 style='height:15.0pt;border-top:none'>Unsigned_Index_Offsets</td>
165
  <td class=xl107 style='border-top:none;border-left:none'>Boolean</td>
166
  <td class=xl108 style='border-top:none;border-left:none'>FALSE</td>
167
  <td class=xl109 width=893 style='border-top:none;border-left:none;width:670pt'>Determines
168 272 jshamlet
  whether the offset calculation for LDO/STO is signed or unsigned. Default
169
  behavior is signed.</td>
170
 </tr>
171 311 jshamlet
 <tr height=40 style='height:30.0pt'>
172 328 jshamlet
  <td height=40 class=xl107 style='height:30.0pt;border-top:none'>Rotate_Ignores_Carry</td>
173
  <td class=xl107 style='border-top:none;border-left:none'>Boolean</td>
174
  <td class=xl108 style='border-top:none;border-left:none'>FALSE</td>
175
  <td class=xl109 width=893 style='border-top:none;border-left:none;width:670pt'>By
176 311 jshamlet
  default, the V8 uRISC processor included the carry in rotations, making them
177
  effectively 9-bit rotations. This generic modifies the ALU such that the
178
  rotations work as classically defined and do NOT involve, or alter, the carry
179
  bit.</td>
180
 </tr>
181 272 jshamlet
 <tr height=20 style='height:15.0pt'>
182
  <td height=20 class=xl73 style='height:15.0pt;border-top:none'>Default_Interrupt_Mask</td>
183
  <td class=xl73 style='border-top:none;border-left:none'>8-bit Data</td>
184
  <td class=xl74 style='border-top:none;border-left:none'>x&quot;FF&quot;</td>
185
  <td class=xl75 width=893 style='border-top:none;border-left:none;width:670pt'>Sets
186 312 jshamlet
  the initial interrupt mask (note that bit 0 is ignored if Enable_NMI is set
187
  TRUE)</td>
188 241 jshamlet
 </tr>
189
 <tr height=20 style='height:15.0pt'>
190 328 jshamlet
  <td height=20 class=xl107 style='height:15.0pt;border-top:none'>Clock_Frequency</td>
191
  <td class=xl107 style='border-top:none;border-left:none'>Real</td>
192
  <td class=xl108 style='border-top:none;border-left:none'>-</td>
193
  <td class=xl109 width=893 style='border-top:none;border-left:none;width:670pt'>Clock
194 241 jshamlet
  frequency in Hz of the CPU clock. Used to configure the 1Mhz/1uSec tick pulse</td>
195
 </tr>
196
 <![if supportMisalignedColumns]>
197
 <tr height=0 style='display:none'>
198
  <td width=185 style='width:139pt'></td>
199
  <td width=103 style='width:77pt'></td>
200
  <td width=61 style='width:46pt'></td>
201
  <td width=893 style='width:670pt'></td>
202
 </tr>
203
 <![endif]>
204
</table>
205
 
206
</body>
207
 
208
</html>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.