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

Subversion Repositories xgate

[/] [xgate/] [trunk/] [README.txt] - Blame information for rev 84

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

Line No. Rev Author Line
1 2 rehayes
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
2 14 rehayes
////////////////////////////////////////////////////////////////////////////////
3
////////////////////////////////////////////////////////////////////////////////
4
// SVN tag: None
5
 
6 84 rehayes
August 11,2010
7
RTL - No Change
8
 
9
Applications - Added the "application" directory to the "sw" directory. The
10
    first application code added is the SKIPJACK encrypt/decrypt function. This
11
    algorithm works on a 64 bit block of data and uses an 80 bit key. See the
12
    "sw/applications/skipjack/README.txt" file for more information.
13
 
14
Testbench - To aid in software development a simple debug module was added to
15
    the testbench. The debugger loads watchpoint addresses stored in RAM after
16
    the first RAM initialization. The debugger generates trigger signals that
17
    can be watched in the waveform viewer and captures a copy of the CPU
18
    registers at each trigger event. The watch point addresses are captured by
19
    the assembler and stored in RAM addresses reserved for the test bench.
20
    There are enable registers in the testbench that can enable or disable any
21
    of the eight individual watchpoints under testbench control.
22
 
23
Doc - Made corrections to some of the example code in the detailed instruction
24
    descriptions.
25
 
26
////////////////////////////////////////////////////////////////////////////////
27
////////////////////////////////////////////////////////////////////////////////
28
// SVN tag: None
29
 
30 77 rehayes
June 10,2010
31
RTL - No Change
32
 
33
Testbench - No Change.
34
 
35
Doc - Added descriptions for interrupt bypass registers. Added Appendix B for
36
    testbench description.
37
 
38
////////////////////////////////////////////////////////////////////////////////
39
////////////////////////////////////////////////////////////////////////////////
40
// SVN tag: None
41
 
42 76 rehayes
May 18,2010
43
RTL - Fixed xlink synthesis warnings noted by Nachiket Jugade,
44
    missing else statment for chid_sm_ns line 393,
45
    missing default on shifter lines 2382 (Although all cases are covered).
46
 
47
Testbench - No Change.
48
 
49
Doc - No Change.
50
 
51
////////////////////////////////////////////////////////////////////////////////
52
////////////////////////////////////////////////////////////////////////////////
53
// SVN tag: None
54
 
55 74 rehayes
May 13,2010
56
RTL - Code cleanup. Eliminated index [0] of "xgif" and "chan_req_i" output and
57
    input pins along with assoicated status and and control registers. This
58
    channel has never been usable.
59
 
60
Testbench - Changes to match changes in RTL .
61
 
62
Doc - No Change.
63
 
64
////////////////////////////////////////////////////////////////////////////////
65
////////////////////////////////////////////////////////////////////////////////
66
// SVN tag: None
67
 
68 71 rehayes
May 12,2010
69
RTL - Added new control registers for interrupt bypass function. Out of reset
70
    all input interrupts are bypassed directly to the Xgate interrupt outputs.
71
    The interrupts are also disabled from effecting the Xgate till the bypass
72
    is disabled. The interrupt priority has been flipped so that now the lowest
73
    index input interrupt has the highest priority.
74
 
75
Testbench - Added semaphore register and read only registers to observe irq
76
    outputs of Xgate to testbench slave module. Added parameters to support new
77
    Xgate registers and testbench registers. Added new test to checkout
78
    bypass functionality and interrupt priority encoding.
79
 
80
Doc - Updated with additions of IRQ Bypass registers.
81
 
82
////////////////////////////////////////////////////////////////////////////////
83
////////////////////////////////////////////////////////////////////////////////
84
// SVN tag: None
85
 
86 66 rehayes
Apr 22,2010
87
RTL - Fixed bug when entering DEBUG by command from the slave WISHBONE bus.
88
    All tests now pass when the RAM wait states are set from zero to four. Five
89
    wait states times out in simulation while running the last test which is
90
    a simple register test otherwise I expect it would pass.
91
 
92
Testbench - Many of the failures while testing wait states were due to fixed
93 76 rehayes
    delays coded in the testbench. As necessary, delays were changed to be a
94 66 rehayes
    function of a parameter that is based on the number of RAM wait states.
95
 
96
Doc - No change.
97
 
98
////////////////////////////////////////////////////////////////////////////////
99
////////////////////////////////////////////////////////////////////////////////
100
// SVN tag: None
101
 
102 61 rehayes
Apr 5,2010
103
RTL - First pass at fixing bug when entering DEBUG by command from the slave
104
    WISHBONE bus. All tests now pass when the RAM wait states are set to zero,
105
    although there are errors in DEBUG mode when RAM wait states are increased.
106 76 rehayes
    Icarus Verilog version 0.9.2 now supports the "generate" command. This is
107 61 rehayes
    now used to instantiate the semaphore registers.
108
 
109
Testbench - Added capability to insert wait states on RAM access.
110
 
111
Doc - No change.
112
 
113
////////////////////////////////////////////////////////////////////////////////
114
////////////////////////////////////////////////////////////////////////////////
115
// SVN tag: None
116
 
117 58 rehayes
Feb 12,2010
118
RTL - Update to the WISHBONE interface when wait states are enabled to trade
119
   16 data flops for 5 address registers. This change now also requires single
120
   cycle timing on the WISHBONE address bus, multi-cycle timing is still
121
   allowed on the WISHBONE write data bus. In the old design WISHBONE read
122
   cycles required the address to be decoded and the read data to be latched
123
   in the first cycle and the there was a whole cycle to drive the read data
124
   bus. The new design latches the address in the first cycle then decodes the
125
   address and outputs the data in the second cycle. (The WISHBONE bus doesn't
126
   require the address or data to be latched for multi-cycle operation but by
127
   doing this it is hoped some power will be saved in the combinational logic
128
   by reducing the decoding activity at each address change.)
129
 
130
Testbench - No change.
131
 
132
Doc - No change.
133
 
134
////////////////////////////////////////////////////////////////////////////////
135
////////////////////////////////////////////////////////////////////////////////
136
// SVN tag: None
137
 
138 56 rehayes
Jan 27,2010
139
RTL - 85% done -- Fixed error in wbs_ack_o signal when Xgate wait states were
140
   enabled. If a slave bus transaction was started but not completed in the
141
   second cycle a wbs_ack_o output was still generated. Added a wbs_err_o output
142
   signal to flag this input condition but not sure if it is really needed.
143
  The old testbench was "helping" the Xgate module by sending an almost
144
   continuous wbm_ack_i signal which allowed the RISC state machine to advance
145
   when it shouldn't. Changes were made to the WISHBONE master bus interface
146
   and the RISC control logic.
147
 
148
Updates to testbench -- Extensive changes to testbench. The bus arbitration
149
   module has been completely rewritten. It now completely controls access to the
150
   system bus and RAM. It internally generates a WISHBONE ack signal for the RAM.
151
   The test control registers have been moved out of the top level and put into
152
   a new WISHBONE slave module which also attaches to the system bus. The Xgate
153
   modules master and slave buses are fully integrated with the bus arbitration
154
   module and the system bus. The new testbench looks a lot more like a real
155
   system environment.
156
  To Do: Add back "random" wait state generation for RAM access.
157
 
158
Updates to User Guide -- Minor corrections to instruction set details. Needs more
159
  review on condition code settings.
160
 
161
////////////////////////////////////////////////////////////////////////////////
162
////////////////////////////////////////////////////////////////////////////////
163
// SVN tag: None
164
 
165 51 rehayes
Jan 11,2010
166 56 rehayes
RTL - 85% done -- Fix error in Zero Flag calculation for ADC and SBC instructions
167 51 rehayes
  Fix Error in loading R2 durning cpu_state == BOOT_3.
168 84 rehayes
  There is a bug in DEBUG mode that is sensitive to number of preceding
169 51 rehayes
   instructions and wait states that needs to be resolved.
170
 
171
Updates to testbench --
172
 
173
Updates to User Guide -- First pass with instruction set details. Needs more
174
  review on condition code settings.
175
 
176
////////////////////////////////////////////////////////////////////////////////
177
// SVN tag: None
178
 
179 44 rehayes
Dec 08,2009
180 41 rehayes
RTL - 85% done -- Updated code so there is only one program counter adder.
181
   Updated WISHBONE Slave bus for word addressability and byte selection.
182 44 rehayes
   Deleted two stack pointer registers.
183 41 rehayes
 
184
Updates to testbench --
185
 
186
Updates to User Guide -- Minor cleanup.
187
 
188
////////////////////////////////////////////////////////////////////////////////
189
////////////////////////////////////////////////////////////////////////////////
190
// SVN tag: None
191
 
192 38 rehayes
Nov 09,2009
193
RTL - 85% done - Minor changes to Mastermode bus.
194
 
195
Updates to testbench, Moved RAM.to submodule, Added bus arbitration module
196
   but this is not fully functional. Causes timing problems when master is
197 56 rehayes
   polling Xgate registers durning debug mode tests. Will probably change RAM
198 38 rehayes
   model to dual port in next revision.
199
   Updated master module to include WISHBONE select inputs.
200
 
201
Updates to User Guide.
202
 
203
////////////////////////////////////////////////////////////////////////////////
204
////////////////////////////////////////////////////////////////////////////////
205
// SVN tag: None
206
 
207 23 rehayes
Oct 07,2009
208
RTL - 85% done
209
All debug commands now working, including writes to XGCHID register.
210
 
211
Updates to testbench, added timeout and total error count.
212 41 rehayes
 
213
Updates to User Guide --.
214
 
215 23 rehayes
Created the sw directory and copied over the software stuff from the bench
216
directory.
217
 
218
////////////////////////////////////////////////////////////////////////////////
219
////////////////////////////////////////////////////////////////////////////////
220
// SVN tag: None
221
 
222 14 rehayes
Sept 23,2009
223
BRK instruction working. Single Step Command in debug mode working.
224
Software error interrupt added.
225
 
226
Updates to testbench.
227
New assembly code directory: debug_test
228
 
229
////////////////////////////////////////////////////////////////////////////////
230
////////////////////////////////////////////////////////////////////////////////
231
// SVN tag: None
232
 
233 5 rehayes
Sept 10,2009
234
Added WISHBONE master bus submodule and some related top level signals but still
235
  not much real functionality.
236
 
237
Added code to allow for memory access stalls.
238
 
239
Upgraded testbench to insert memory wait states. Added more error detection
240
  and summery.
241
 
242
Improved instruction decoder. Still needs more work to remove redundant adders
243
  to improve synthesis results.
244
 
245 14 rehayes
////////////////////////////////////////////////////////////////////////////////
246
////////////////////////////////////////////////////////////////////////////////
247
// SVN tag: None
248 5 rehayes
 
249 2 rehayes
Sept 1, 2009
250
This is a prerelease checkin and should be looked at as an incremental backup
251
and not representative of what may be in the final release.
252
 
253
RTL - 75% done
254
What works:
255
  Basic instruction set execution simulated and verified. Condition code
256
  operation on instructions partially verified.
257
 
258
  Basic WISHBONE slave bus operation used, full functionality not verified.
259
 
260
What's broken or unimplemented:
261
  All things related to debug mode.
262
  WISHBONE master bus interface.
263
 
264 5 rehayes
User Documentation - 30% done
265
 

powered by: WebSVN 2.1.0

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