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

Subversion Repositories nnARM

[/] [nnARM/] [web_uploads/] [News.htm] - Blame information for rev 6

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 6 root
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<HTML><HEAD><TITLE>Welcome to nnARM home site</TITLE>
3
<META content="MSHTML 5.00.3103.1000" name=GENERATOR></HEAD>
4
 
5
<body bgcolor=#0080ff>
6
 
7
<table border=0 cellPadding=0 cellSpacing=0 width=550>
8
<tbody>
9
 
10
<tr>
11
<td>
12
<p>
13
<center>
14
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=4>
15
News
16
</font>
17
</center>
18
</p>
19
</td>
20
</tr>
21
 
22
<tr>
23
<td align=left>
24
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
25
<b>
26
2001.6.3 nnARM moved to Opencores<br>
27
</b>
28
</font>
29
</td>
30
</tr>
31
 
32
<tr>
33
<td align=left>
34
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
35
<b>
36
<br>I have just got this account, and I will try to learn how to use CVS and other rules and procedures of Opencores.<br><br>
37
Now it is more convenient for anyone interested in this project to take part in it. Please refer to the Introduction page for what types of help we need.
38
<br><br><br><br>
39
</b>
40
</font>
41
</td>
42
</tr>
43
 
44
 
45
 
46
<tr>
47
<td align=left>
48
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
49
<b>
50
2001.6.2 Some sections of documentation v1.10 are released<br>
51
</b>
52
</font>
53
</td>
54
</tr>
55
 
56
<tr>
57
<td align=left>
58
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
59
<b>
60
<br>Because I will be busy in the following 2 weeks for other things, I can not find time to write the full documentation.  However, I think a partial document is better than no documentation.<br>
61
<br>A full version will be released later.
62
<br><br><br><br>
63
</b>
64
</font>
65
</td>
66
</tr>
67
 
68
 
69
 
70
<tr>
71
<td align=left>
72
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
73
<b>
74
2001.5.30 I need help on memory system.  Cache system and memory bus.<br>
75
</b>
76
</font>
77
</td>
78
</tr>
79
 
80
<tr>
81
<td align=left>
82
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
83
<b>
84
<br> The memory and cache system of my design are not very suitable for this processor.  Because I want to devote myself to the design of the processor itself, I have used a VERY SIMPLE model of cache and memory. <br>
85
<br>Whoever can help me to develop a better model please<a href="mailto:skli@nudt.edu.cn">contact me</a><br><br><br><br>
86
</b>
87
</font>
88
</td>
89
</tr>
90
 
91
 
92
<tr>
93
<td align=left>
94
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
95
<b>
96
2001.5.29 It runs some complex asembly source code from ARM SDT 2.5<br>
97
</b>
98
</font>
99
</td>
100
</tr>
101
 
102
<tr>
103
<td align=left>
104
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
105
<b>
106
<br> I used some assembly source code with ARM SDT 2.5.  It runs very well and obtains good results.  For more detail,please refer to <a href="./Testbench/Testbench.htm">TestBench</a><br><br><br><br>
107
</b>
108
</font>
109
</td>
110
</tr>
111
 
112
 
113
<tr>
114
<td align=left>
115
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
116
<b>
117
2001.5.24 The PC can now be used as a source and/or target register.<br>
118
</b>
119
</font>
120
</td>
121
</tr>
122
 
123
<tr>
124
<td align=left>
125
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
126
<b>
127
<br>Because the PC is not a general register, when an instruction reaches the EXE and MEM stage, the current PC is ahead of the PC of the current instruction by 8 or 12 bytes.  So it can not be read to the EXE stage as a general register.  Therefore, it is read at the decoder stage and then adjusted the proper amount and at last sent to the EXE stage as an immediate value.<br>
128
<br>For the case of a write to the PC, it is treated as a Branch instruction.<br><br><br><br>
129
</b>
130
</font>
131
</td>
132
</tr>
133
 
134
<tr>
135
<td align=left>
136
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
137
<b>
138
2001.5.23 Support for Multiply and Multiply-Accumulate (MUL, MLA)<br>
139
</b>
140
</font>
141
</td>
142
</tr>
143
 
144
 
145
<tr>
146
<td align=left>
147
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
148
<b>
149
<br>These two instructions can do multiply and multiply and then add operations.<br><br><br><br>
150
</b>
151
</font>
152
</td>
153
</tr>
154
 
155
<tr>
156
<td align=left>
157
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
158
<b>
159
2001.5.21 Support for branch and branch with link<br>
160
</b>
161
</font>
162
</td>
163
</tr>
164
 
165
 
166
<tr>
167
<td align=left>
168
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
169
<b>
170
<br>These two instructions change the PC, and the later can write the next instruction address to R14 for return from subrutine.<br><br><br><br>
171
</b>
172
</font>
173
</td>
174
</tr>
175
 
176
<tr>
177
<td align=left>
178
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
179
<b>
180
2001.5.20 Support for MRS and MSR instruction<br>
181
</b>
182
</font>
183
</td>
184
</tr>
185
 
186
<tr>
187
<td align=left>
188
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
189
<b>
190
<br>These two instructions write CPSR/SPSR to and from general registers.<br><br><br><br>
191
</b>
192
</font>
193
</td>
194
</tr>
195
 
196
<tr>
197
<td align=left>
198
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
199
<b>
200
2001.5.17 Support for CPSR and SPSR read/write<br>
201
</b>
202
</font>
203
</td>
204
</tr>
205
 
206
<tr>
207
<td align=left>
208
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
209
<b>
210
<br>The two registers (actually six registers,including cpsr spsr_fiq spsr_und spsr_svc spsr_irq spsr_abt) can now be read/written, and the pipeline can use the condition code from cpsr to decide if an instruction can be executed.<br><br><br><br>
211
</b>
212
</font>
213
</td>
214
</tr>
215
 
216
<tr>
217
<td align=left>
218
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
219
<b>
220
2001.5.16 Brand New Architecture and support for Load/Store<br>
221
</b>
222
</font>
223
</td>
224
</tr>
225
 
226
<tr>
227
<td align=left>
228
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
229
<b>
230
<br>Since the last update a month ago, I am working hard to change the architecture of nnARM,the main reason is described as follows:<br>
231
<br>When I started to develop this soft core,I thought that the ARM instruction set is very similar to the typical risc machine (such as DLX and MIPS.) Thus, I thought I could develop a RISC core to run various RISC instruction sets.  This idea is not wrong for a typical RISC architecture, but it is wrong for ARM. When I pushed forward with the development, I found that the ARM instruction set is very different from typical RISC.  It is difficult to run the ARM instruction set on it efficiently.  So I designed a brand new architecture for ARM.  And all functions that have been supported by the old architecture are also supported by the new architecture.<br>
232
<br>At the same time, I added support for load and store instructions. <br><br><br><br>
233
</b>
234
</font>
235
</td>
236
</tr>
237
 
238
 
239
<tr>
240
<td align=left>
241
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
242
<b>
243
2001.4.17 Full Function ALU<br>
244
</b>
245
</font>
246
</td>
247
</tr>
248
 
249
<tr>
250
<td align=left>
251
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
252
<b>
253
<br>A new full function ALU has been released.  It can support all ALU operations in the ARM instruction set.  Its documentation is online now. <br><br><br><br>
254
</b>
255
</font>
256
</td>
257
</tr>
258
 
259
 
260
 
261
<tr>
262
<td align=left>
263
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
264
<b>
265
2001.4.15 A new Barrel Shifter<br>
266
</b>
267
</font>
268
</td>
269
</tr>
270
 
271
<tr>
272
<td align=left>
273
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
274
<b>
275
<br>I have written documentation for the first release of this synthesable soft core in the last week.  Now, the documentation has been updated.  I started to push forword with this project again tonight.  I have written a new barrel shifter (in BarrelShift.v) and its test bench(in tb_BarrelShift.v).  New documentation sections about the new Barrel Shifter are also online now.<br><br><br><br>
276
</b>
277
</font>
278
</td>
279
</tr>
280
 
281
 
282
 
283
 
284
<tr>
285
<td align=left>
286
<font color=#ffffff face=Verdana,Arial,Helvetica,helvetica size=3>
287
<b>
288
2001.4.10 IT RUNS NOW!<br>
289
</b>
290
</font>
291
</td>
292
</tr>
293
 
294
<tr>
295
<td align=left>
296
<font color=#000000 face=Verdana,Arial,Helvetica,helvetica size=2>
297
<b>
298
<br>After 2 weeks of hard work, the processor now can run the ADD Instruction, but I know that it does have some limitations:<br>
299
 
300
<br>FIRST:the tomasulo structure still can not tell the decoder that an instruction has completed, so that the decoder can clear the register usage.<br>
301
 
302
<br>SECOND:the ALUWrapper still can not read from the write bus,so it can only get results from within ALUWrapper, only from the other entry.<br>
303
 
304
<br>Except the above two limitations,it runs fairly well. <br><br><br><br>
305
</b>
306
</font>
307
</td>
308
</tr>
309
 
310
</tbody>
311
</table>
312
</td>
313
</tr>
314
 
315
 
316
 
317
 
318
</tbody>
319
</table>
320
</body>
321
</html>

powered by: WebSVN 2.1.0

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