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

Subversion Repositories xgate

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

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 71 rehayes
May 12,2010
7
RTL - Added new control registers for interrupt bypass function. Out of reset
8
    all input interrupts are bypassed directly to the Xgate interrupt outputs.
9
    The interrupts are also disabled from effecting the Xgate till the bypass
10
    is disabled. The interrupt priority has been flipped so that now the lowest
11
    index input interrupt has the highest priority.
12
 
13
Testbench - Added semaphore register and read only registers to observe irq
14
    outputs of Xgate to testbench slave module. Added parameters to support new
15
    Xgate registers and testbench registers. Added new test to checkout
16
    bypass functionality and interrupt priority encoding.
17
 
18
Doc - Updated with additions of IRQ Bypass registers.
19
 
20
////////////////////////////////////////////////////////////////////////////////
21
////////////////////////////////////////////////////////////////////////////////
22
// SVN tag: None
23
 
24 66 rehayes
Apr 22,2010
25
RTL - Fixed bug when entering DEBUG by command from the slave WISHBONE bus.
26
    All tests now pass when the RAM wait states are set from zero to four. Five
27
    wait states times out in simulation while running the last test which is
28
    a simple register test otherwise I expect it would pass.
29
 
30
Testbench - Many of the failures while testing wait states were due to fixed
31
    delays coded in the testbench. As necessary delays were changed to be a
32
    function of a parameter that is based on the number of RAM wait states.
33
 
34
Doc - No change.
35
 
36
////////////////////////////////////////////////////////////////////////////////
37
////////////////////////////////////////////////////////////////////////////////
38
// SVN tag: None
39
 
40 61 rehayes
Apr 5,2010
41
RTL - First pass at fixing bug when entering DEBUG by command from the slave
42
    WISHBONE bus. All tests now pass when the RAM wait states are set to zero,
43
    although there are errors in DEBUG mode when RAM wait states are increased.
44
   Icarus Verilog version 0.9.2 now supports the "generate" command. This is
45
    now used to instantiate the semaphore registers.
46
 
47
Testbench - Added capability to insert wait states on RAM access.
48
 
49
Doc - No change.
50
 
51
////////////////////////////////////////////////////////////////////////////////
52
////////////////////////////////////////////////////////////////////////////////
53
// SVN tag: None
54
 
55 58 rehayes
Feb 12,2010
56
RTL - Update to the WISHBONE interface when wait states are enabled to trade
57
   16 data flops for 5 address registers. This change now also requires single
58
   cycle timing on the WISHBONE address bus, multi-cycle timing is still
59
   allowed on the WISHBONE write data bus. In the old design WISHBONE read
60
   cycles required the address to be decoded and the read data to be latched
61
   in the first cycle and the there was a whole cycle to drive the read data
62
   bus. The new design latches the address in the first cycle then decodes the
63
   address and outputs the data in the second cycle. (The WISHBONE bus doesn't
64
   require the address or data to be latched for multi-cycle operation but by
65
   doing this it is hoped some power will be saved in the combinational logic
66
   by reducing the decoding activity at each address change.)
67
 
68
Testbench - No change.
69
 
70
Doc - No change.
71
 
72
////////////////////////////////////////////////////////////////////////////////
73
////////////////////////////////////////////////////////////////////////////////
74
// SVN tag: None
75
 
76 56 rehayes
Jan 27,2010
77
RTL - 85% done -- Fixed error in wbs_ack_o signal when Xgate wait states were
78
   enabled. If a slave bus transaction was started but not completed in the
79
   second cycle a wbs_ack_o output was still generated. Added a wbs_err_o output
80
   signal to flag this input condition but not sure if it is really needed.
81
  The old testbench was "helping" the Xgate module by sending an almost
82
   continuous wbm_ack_i signal which allowed the RISC state machine to advance
83
   when it shouldn't. Changes were made to the WISHBONE master bus interface
84
   and the RISC control logic.
85
 
86
Updates to testbench -- Extensive changes to testbench. The bus arbitration
87
   module has been completely rewritten. It now completely controls access to the
88
   system bus and RAM. It internally generates a WISHBONE ack signal for the RAM.
89
   The test control registers have been moved out of the top level and put into
90
   a new WISHBONE slave module which also attaches to the system bus. The Xgate
91
   modules master and slave buses are fully integrated with the bus arbitration
92
   module and the system bus. The new testbench looks a lot more like a real
93
   system environment.
94
  To Do: Add back "random" wait state generation for RAM access.
95
 
96
Updates to User Guide -- Minor corrections to instruction set details. Needs more
97
  review on condition code settings.
98
 
99
////////////////////////////////////////////////////////////////////////////////
100
////////////////////////////////////////////////////////////////////////////////
101
// SVN tag: None
102
 
103 51 rehayes
Jan 11,2010
104 56 rehayes
RTL - 85% done -- Fix error in Zero Flag calculation for ADC and SBC instructions
105 51 rehayes
  Fix Error in loading R2 durning cpu_state == BOOT_3.
106
  THere is a bug in DEBUG mode that is sensitive to number of preceding
107
   instructions and wait states that needs to be resolved.
108
 
109
Updates to testbench --
110
 
111
Updates to User Guide -- First pass with instruction set details. Needs more
112
  review on condition code settings.
113
 
114
////////////////////////////////////////////////////////////////////////////////
115
// SVN tag: None
116
 
117 44 rehayes
Dec 08,2009
118 41 rehayes
RTL - 85% done -- Updated code so there is only one program counter adder.
119
   Updated WISHBONE Slave bus for word addressability and byte selection.
120 44 rehayes
   Deleted two stack pointer registers.
121 41 rehayes
 
122
Updates to testbench --
123
 
124
Updates to User Guide -- Minor cleanup.
125
 
126
////////////////////////////////////////////////////////////////////////////////
127
////////////////////////////////////////////////////////////////////////////////
128
// SVN tag: None
129
 
130 38 rehayes
Nov 09,2009
131
RTL - 85% done - Minor changes to Mastermode bus.
132
 
133
Updates to testbench, Moved RAM.to submodule, Added bus arbitration module
134
   but this is not fully functional. Causes timing problems when master is
135 56 rehayes
   polling Xgate registers durning debug mode tests. Will probably change RAM
136 38 rehayes
   model to dual port in next revision.
137
   Updated master module to include WISHBONE select inputs.
138
 
139
Updates to User Guide.
140
 
141
////////////////////////////////////////////////////////////////////////////////
142
////////////////////////////////////////////////////////////////////////////////
143
// SVN tag: None
144
 
145 23 rehayes
Oct 07,2009
146
RTL - 85% done
147
All debug commands now working, including writes to XGCHID register.
148
 
149
Updates to testbench, added timeout and total error count.
150 41 rehayes
 
151
Updates to User Guide --.
152
 
153 23 rehayes
Created the sw directory and copied over the software stuff from the bench
154
directory.
155
 
156
////////////////////////////////////////////////////////////////////////////////
157
////////////////////////////////////////////////////////////////////////////////
158
// SVN tag: None
159
 
160 14 rehayes
Sept 23,2009
161
BRK instruction working. Single Step Command in debug mode working.
162
Software error interrupt added.
163
 
164
Updates to testbench.
165
New assembly code directory: debug_test
166
 
167
////////////////////////////////////////////////////////////////////////////////
168
////////////////////////////////////////////////////////////////////////////////
169
// SVN tag: None
170
 
171 5 rehayes
Sept 10,2009
172
Added WISHBONE master bus submodule and some related top level signals but still
173
  not much real functionality.
174
 
175
Added code to allow for memory access stalls.
176
 
177
Upgraded testbench to insert memory wait states. Added more error detection
178
  and summery.
179
 
180
Improved instruction decoder. Still needs more work to remove redundant adders
181
  to improve synthesis results.
182
 
183 14 rehayes
////////////////////////////////////////////////////////////////////////////////
184
////////////////////////////////////////////////////////////////////////////////
185
// SVN tag: None
186 5 rehayes
 
187 2 rehayes
Sept 1, 2009
188
This is a prerelease checkin and should be looked at as an incremental backup
189
and not representative of what may be in the final release.
190
 
191
RTL - 75% done
192
What works:
193
  Basic instruction set execution simulated and verified. Condition code
194
  operation on instructions partially verified.
195
 
196
  Basic WISHBONE slave bus operation used, full functionality not verified.
197
 
198
What's broken or unimplemented:
199
  All things related to debug mode.
200
  WISHBONE master bus interface.
201
 
202 5 rehayes
User Documentation - 30% done
203
 

powered by: WebSVN 2.1.0

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