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

Subversion Repositories aoocs

[/] [aoocs/] [trunk/] [doc/] [src/] [documentation.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
/*
2
 * Copyright 2010, Aleksander Osman, alfik@poczta.fm. All rights reserved.
3
 *
4
 * Redistribution and use in source and binary forms, with or without modification, are
5
 * permitted provided that the following conditions are met:
6
 *
7
 *  1. Redistributions of source code must retain the above copyright notice, this list of
8
 *     conditions and the following disclaimer.
9
 *
10
 *  2. Redistributions in binary form must reproduce the above copyright notice, this list
11
 *     of conditions and the following disclaimer in the documentation and/or other materials
12
 *     provided with the distribution.
13
 *
14
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
15
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
16
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR
17
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
19
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
20
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
21
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
22
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
 */
24
 
25
/* This file contains only Doxygen documentation.
26
*/
27
 
28
/*! \file documentation.v
29
 * \brief aoOCS Doxygen documentation.
30
 */
31
 
32
/*! \mainpage
33
 *                                                      <table border=0 width=100%><tr><td>
34
 * The OpenCores aoOCS SoC is a Wishbone compatible implementation of most of the Amiga Original Chip Set (OCS) and computer functionality.
35
 *
36
 * \author Aleksander Osman, <alfik@poczta.fm>
37
 * \date 20.12.2010
38
 * \version 1.0
39
 *                                                      </td><td>
40
 * \image html ./doc/img/opencores.jpg
41
 *                                                      </td></tr></table>
42
 *
43
 *                                                      <table border=0 width=100%><tr><td>
44
 * <b>Contents:</b>
45
 *   - <a href="./../../specification.pdf">Specification</a>, automatically generated from:
46
 *      - \subpage page_spec_revisions
47
 *      - \subpage page_spec_introduction
48
 *      - \subpage page_spec_architecture
49
 *      - \subpage page_spec_operation
50
 *      - \subpage page_spec_registers
51
 *      - \subpage page_spec_clocks
52
 *      - \subpage page_spec_ports
53
 *      - \subpage page_spec_references
54
 *   - \subpage page_directory
55
 *   - \subpage page_notes
56
 *   - \subpage page_quartus
57
 *                                                      </td><td>
58
 * \image html wishbone_compatible.png
59
 *                                                      </td></tr></table>
60
 *
61
 * <b>Structure Diagram:</b>
62
 * \image html structure.png
63
 *
64
 * <b>About the documentation:</b>
65
 * The aoOCS core documentation is generated by the Doxygen tool
66
 * (www.doxygen.org) with the doxverilog patch
67
 * (http://developer.berlios.de/projects/doxverilog/).
68
 */
69
 
70
/*! \page page_spec_revisions Revision History
71
 * <table width=100%>
72
 * <tr style="background: #CCCCCC; font-weight: bold;">
73
 *     <td>Rev.     </td><td>Date       </td><td>Author             </td><td>Description        </td></tr>
74
 * <tr><td>1.0      </td><td>20.12.2010 </td><td>Aleksander Osman   </td><td>First Publish      </td></tr>
75
 * </table>
76
 */
77
 
78
/*! \page page_spec_introduction Introduction
79
 *
80
 * The OpenCores aoOCS SoC is a Wishbone compatible implementation of most of the Amiga Original Chip Set (OCS) and computer functionality.
81
 *
82
 * aoOCS is not related in any way with Minimig - it is a new and independent Amiga OCS implementation.
83
 *
84
 * <h3>Features</h3>
85
 *  - The aoOCS SoC contains the following Amiga/OCS components:
86
 *      - blitter
87
 *      - copper
88
 *      - system control (interrupts)
89
 *      - video: bitplains, sprites, collision detection
90
 *      - audio: 4 channels, low-pass filter
91
 *      - user input: PS/2 mouse, PS/2 keyboard and joystick (keyboard arrow keys)
92
 *      - floppy: read and write ADF files directly from a SD card. Only the internal floppy drive is implemented
93
 *      - 8520 CIA
94
 *      - ao68000 OpenCores IP core is used as the aoOCS processor
95
 *  - All of the above components are WISHBONE revision B.3 compatible
96
 *  - The aoOCS contains the following additional components:
97
 *      - SD card controller written in HDL with DMA. Supports SDHC cards only.
98
 *      - 10/100 Mbit Ethernet controller written in HDL to send the current VGA frames (frame grabber)
99
 *      - HDL drivers for SSRAM, PS/2 keyboard, PS/2 mouse, audio codec, VGA DAC
100
 *  - aoOCS uses only one external memory: a SSRAM with 36-bit words and pipelined access. A video buffer with about 250KB is located SSRAM. Another 256KB are used by the ROM. All the rest memory
101
 *    can be used as Chip RAM.
102
 *  - The On-Screen-Display is implemented in HDL as a finite state machine. No additional controller/processor with firmware required to handle the SoC.
103
 *  - The following options are available on the On-Screen-Display:
104
 *      - select ROM file to load (only Amiga Kickstart v1.2 was tested)
105
 *      - enable or disable Joystick (keyboard arrow keys)
106
 *      - enable or disable floppy write protection
107
 *      - insert a floppy - select one from a list
108
 *      - eject an inserted floppy
109
 *      - reset the system
110
 *  - The On-Screen-Display is independent of the running Amiga software. It is enabled and disabled by the Home key and controled by the keyboard arrow keys and the right CTRL key.
111
 *  - Only PAL timings are implemented.
112
 *  - The video output is VGA compatible: 640x480 at 70 Hz. A rather simple method is used to extend the 256 PAL horizontal lines to 480 VGA lines: all lines are doubled except for every 8th one.
113
 *  - The system uses generally a single clock: 30 MHz. There are two more clocks: 12 MHz, 25 MHz generated to interface with external hardware (Audio codec, Ethernet controller). A single altpll is used
114
 *    to generate all three clocks from one 50 MHz external clock. More information about clocks is available at \ref page_spec_clocks.
115
 *  - A VGA frame grabber is implemented that sends captured frames by 100 Mbit Ethernet in IP/UDP packets.
116
 *  - The system uses about 26.400 LE on Altera Cyclone II and about 267.000 bits of on-chip RAM.
117
 *  - The blitter functionality was tested against the E-UAE Amiga software emulator.
118
 *  - Tested only on a Terasic DE2-70 board (www.terasic.com.tw).
119
 *  - Documentation generated by Doxygen (www.doxygen.org) with doxverilog patch (http://developer.berlios.de/projects/doxverilog/). The specification
120
 *    is automatically extracted from the Doxygen HTML output.
121
 *
122
 * <h3>WISHBONE compatibility</h3>
123
 *  - Version: WISHBONE specification Revision B.3,
124
 *  - General description: 32-bit WISHBONE interface,
125
 *  - WISHBONE data port size: 32-bit,
126
 *  - Data port granularity: 8-bits,
127
 *  - Data port maximum operand size: 32-bits,
128
 *  - Data transfer ordering: BIG ENDIAN,
129
 *  - Data transfer sequencing: UNDEFINED,
130
 *  - Constraints on <tt>CLK_I</tt> signal: described in \ref page_spec_clocks.
131
 *
132
 * <h3>Similar projects</h3>
133
 * Other Open-Source Amiga implementations include:
134
 *  - Minimig (http://code.google.com/p/minimig/) - FPGA-based re-implementation of the original Amiga 500 hardware. Runs on the Minimig PCB and also on Terasic DE1,2 boards.
135
 *
136
 * <h3>Limitations</h3>
137
 *  - No filesystem support on the SD card. Data is read from fixed positions. The contents of the SD card is generated by the <tt>aoOCS_tool</tt> described at \ref page_spec_operation.
138
 *  - No video external synchronize, lace mode, lightpen, genlock audio enable, color composite (BPLCON0)
139
 *  - All bitplain data is fetched at once in a burst memory read at the begining of each line. No changes to the bitplain data done after the beginning of a line are visible.
140
 *  - Currently aoOCS requires an 36-bit word SSRAM to store the video buffer. This way 3 pixels 12-bits each can be stored in one word.
141
 *  - Serial port not implemented.
142
 *  - Parallel  port not implemented.
143
 *  - Low-pass filter disable/enable by CIA-A port A bit 1 not implemented.
144
 *  - Proportional controller and light pen not implemented.
145
 *  - Some rarely used OCS registers are not implemented: strobe video sync, write beam position, coprocessor instruction fetch identify. For a complete list of not implemented
146
 *    registers look at \ref page_spec_registers.
147
 *  - Only some of the Amiga software was tested and works on the aoOCS. A list of aoOCS software compatability is located at \ref page_spec_operation.
148
 *
149
 * <h3>TODO</h3>
150
 *  - Fix some of the above limitations.
151
 *  - Optimize the design.
152
 *  - Run WISHBONE verification models.
153
 *  - More documentation of Verilog sources.
154
 *  - Describe testing and changes done in E-UAE sources.
155
 *  - Prepare scripts for VATS: run_sim -r -> regresion test.
156
 *  - Port the aoOCS SoC to a Xilinx FPGA.
157
 *
158
 * <h3>Status</h3>
159
 * - Amiga Workbench v1.2 runs with some minor graphic problems:  bottom of screen not displayed correctly.
160
 * - Prince of Persia runs perfectly.
161
 * - Wings of Fury runs correctly. Some sound glitches in intro.
162
 * - Lotus 2 runs correctly. Some sound problems in intro.
163
 * - Warzone runs poor. Some major graphic problems.
164
 * - More information about aoOCS software compatability is available at \ref page_spec_operation.
165
 *
166
 * <h3>Requirements</h3>
167
 *  - Altera Quartus II synthesis tool (http://www.altera.com) is required to synthesise the <tt>aoOCS</tt> System-on-Chip.
168
 *  - Java SDK (http://java.sun.com) is required to compile the <tt>aoOCS_tool</tt> (The tool is described in \ref page_spec_operation).
169
 *  - A FPGA board. Currently only the Terasic DE2-70 board was tested.
170
 *  - Icarus Verilog simulator (http://www.icarus.com/eda/verilog/) is required to compile the and run some tests.
171
 *  - Access to Altera Quartus II directory (directory eda/sim_lib/) is required to compile and run some tests.
172
 *  - GCC (http://gcc.gnu.org) is required to compile some testes based on E-UAE sources.
173
 */
174
 
175
/*! \page page_spec_architecture Architecture
176
 *                                                          <table border=0 align=center>
177
 *                                                          <caption>
178
 * <b>Figure 1:</b> aoOCS structure.
179
 *                                                          </caption> <tr><td>
180
 * \image html ./doc/img/structure.png
181
 *                                                          </td></tr></table>
182
 * <h1>control_osd</h1>
183
 * \copydoc control_osd
184
 *
185
 * <h1>ao68000</h1>
186
 * \copydoc ao68000
187
 *
188
 * <h1>ocs_control</h1>
189
 * \copydoc ocs_control
190
 *
191
 * <h1>ocs_blitter</h1>
192
 * \copydoc ocs_blitter
193
 *
194
 * <h1>ocs_copper</h1>
195
 * \copydoc ocs_copper
196
 *
197
 * <h1>ocs_serial</h1>
198
 * \copydoc ocs_serial
199
 *
200
 * <h1>bus_terminator</h1>
201
 * \copydoc bus_terminator
202
 *
203
 * <h1>bus_syscon</h1>
204
 * \copydoc bus_syscon
205
 *
206
 * <h1>ocs_video</h1>
207
 * \copydoc ocs_video
208
 *
209
 * <h1>ocs_audio</h1>
210
 * \copydoc ocs_audio
211
 *
212
 * <h1>ocs_input</h1>
213
 * \copydoc ocs_input
214
 *
215
 * <h1>ocs_floppy</h1>
216
 * \copydoc ocs_floppy
217
 *
218
 * <h1>cia8520</h1>
219
 * \copydoc cia8520
220
 *
221
 * <h1>drv_vga</h1>
222
 * \copydoc drv_vga
223
 *
224
 * <h1>bus_ssram</h1>
225
 * \copydoc bus_ssram
226
 *
227
 * <h1>drv_audio</h1>
228
 * \copydoc drv_audio
229
 *
230
 * <h1>drv_keyboard</h1>
231
 * \copydoc drv_keyboard
232
 *
233
 * <h1>drv_mouse</h1>
234
 * \copydoc drv_mouse
235
 *
236
 * <h1>drv_debug</h1>
237
 * \copydoc drv_debug
238
 *
239
 * <h1>drv_eth_vga_capture</h1>
240
 * \copydoc drv_eth_vga_capture
241
 
242
 */
243
 
244
/*! \page page_spec_operation Operation
245
 *
246
 * <h3>SD card</h3>
247
 * The aoOCS SoC requires a SD card containing a list of available ROMs and floppy images together with images themselves. The aoOCS does not support any filesystem on the card.
248
 * A binary image file must be prepared and written on the card starting at sector 0. The aoOCS_tool is used to prepare the image in the following way:
249
 * - a title screen PNG image must be available. A default image is available at \c ./sw/aoOCS_tool/title.png
250
 * - a directory with ROM files must be created
251
 * - a directory with floppy images (ADF files) must be created
252
 * - the following \c make command must be run at the base directory of the project:
253
 * \verbatim
254
 * make sd_disk AO_INTRO_IMAGE=<path to title screen PNG image> AO_ROMS=<path to ROMs directory> AO_FLOPPIES=<path to floppy images directory>
255
 * \endverbatim
256
 * - The SD disk image is generated and saved to \c ./tmp/sd_disk.img. That image must be written directly on a SD disk bypassing and most probably destroying the filesystem on the disk.
257
 *   The easiest way to write the image is to run the \c dd command as a super-user on a Linux system:
258
 * \verbatim
259
 * dd if=<path to image file> of=<path to SD device>
260
 * \endverbatim
261
 *
262
 * <h3>aoOCS_tool</h3>
263
 * The aoOCS_tool is used to:
264
 * - Create the contents of the SD card. A image containing: a title screen, ROMs and floppy disk ADF files is created. This image has to be written to the SD
265
 *   card starting from sector 0.
266
 * - Extract vga frames from the drv_eth_vga_capture module as PNG images.
267
 * - Generate <tt>./rtl/control_osd.mif</tt> memory initialization file with On-Screen-Display text strings.
268
 * - Extract the specification contents from Doxygen HTML output, to generate the specification ODT file.
269
 *
270
 * The source code for the tool is located at: <tt>./sw/aoOCS_tool/</tt>.
271
 *
272
 * <h3>On-Screen-Display description</h3>
273
 * - After powerup or reset, the SoC tries to initialize the SD card and read the title screen, list of ROM files and list of floppy files. If all goes well, the following screen is displayed:
274
 * \image html vga_title.png "aoOCS title screen with ROM selection menu"
275
 *
276
 * - The On-Screen-Display is controlled by the keyboard arrow Up and Down keys. To select an item use the right Control key:
277
 * \image html vga_menu_sel_wb.png "aoOCS floppy selection menu with Amiga Workbench 1.2 floppy highlighted"
278
 *
279
 * - After selecting the ROM file, the menu disappears and the Amiga boots from the ROM:
280
 * \image html vga_kick12.png "Amiga Kickstart v1.2 bootstrap screen"
281
 *
282
 * - To select a floppy disk to insert into the internal disk drive, the On-Screen-Display is used. To display the menu press the Home key. The Home key is also used to hide the menu.
283
 *   The menu when no floppy is inserted looks like this:
284
 * \image html vga_menu_no_floppy.png "aoOCS floppy selection menu"
285
 *
286
 * - The following options are available:
287
 *      - <tt>Joystick (kbd arrows)</tt>: enable or disable the joystick on Amiga port 1. The joystick is controlled by the keyboard arrow keys and the right Control key. When enabled, the
288
 *        arrow keys are unavailable to the Amiga keyboard - the key strokes are redirected to the joystick.
289
 *      - <tt>Floppy write enabled</tt>: enable or disable floppy writes. The floppy changes are made directly on the SD disk.
290
 *      - <tt>Reset</tt>: reset the aoOCS SoC
291
 *      - Below is a list of available floppy disks to insert. After selecting a floppy the display changes to the following:
292
 * \image html vga_menu_floppy_inserted.png "aoOCS menu after floppy selection"
293
 * - In this menu it is possible to eject the floppy disk. After ejecting the floppy the previous menu is dispayed.
294
 *
295
 * <h3>Software compatability list</h3>
296
 * The state of software can be:
297
 * <table border=0>
298
 * <tr><td><i>PERFECT</i> </td><td> no visible and no audible distortions</td></tr>
299
 * <tr><td><i>GOOD</i>    </td><td> some minor distortions</td></tr>
300
 * <tr><td><i>FAIR</i>    </td><td> software starts but has major distortions</td></tr>
301
 * <tr><td><i>FAILED</i>  </td><td> software does not start</td></tr>
302
 * </table>
303
 *
304
 * - Amiga Workbench version 1.2
305
 * <div align="center"><table width="100%"><tr><td width=300>
306
 *      <table>
307
 *      <tr><td><b>aoOCS version:</b> </td><td> 1.0         </td></td></tr>
308
 *      <tr><td><b>State:</b>         </td><td><i>GOOD</i>  </td></tr>
309
 *      <tr><td><b>Description:</b>   </td><td>
310
 * Some minor graphic problems: bottom of screen not displayed correctly. Most probably problem with Copper and vertical beam position.
311
 *      </td></tr></table>
312
 * </td><td>
313
 * \image html vga_wb12.png "Amiga Workbench v1.2 screen"
314
 * </td></tr></table></div>
315
 *
316
 * - Prince of Persia
317
 * <div align="center"><table width="100%"><tr><td width=300>
318
 *      <table>
319
 *      <tr><td><b>aoOCS version:</b> </td><td> 1.0         </td></td></tr>
320
 *      <tr><td><b>State:</b>         </td><td><i>PERFECT</i>  </td></tr>
321
 *      <tr><td><b>Description:</b>   </td><td>
322
 * No problems.
323
 *      </td></tr></table>
324
 * </td><td>
325
 * \image html vga_prince_of_persia.png "Prince of Persia"
326
 * </td></tr></table></div>
327
 *
328
 * - Wings of Fury
329
 * <div align="center"><table width="100%"><tr><td width=300>
330
 *      <table>
331
 *      <tr><td><b>aoOCS version:</b> </td><td> 1.0         </td></td></tr>
332
 *      <tr><td><b>State:</b>         </td><td><i>GOOD</i>  </td></tr>
333
 *      <tr><td><b>Description:</b>   </td><td>
334
 * Some sound gliches in introduction. The game itself works perfect.
335
 *      </td></tr></table>
336
 * </td><td>
337
 * \image html vga_wings_of_fury.png "Wing of Fury"
338
 * </td></tr></table></div>
339
 *
340
 * - Lotus 2
341
 * <div align="center"><table width="100%"><tr><td width=300>
342
 *      <table>
343
 *      <tr><td><b>aoOCS version:</b> </td><td> 1.0         </td></td></tr>
344
 *      <tr><td><b>State:</b>         </td><td><i>GOOD</i>  </td></tr>
345
 *      <tr><td><b>Description:</b>   </td><td>
346
 * Some minor sound problems in introduction - most probably some bug in the low-pass filter or channel modulation. The VGA frame was captured in the middle of screen update
347
 * so there are some distortions. In real-time in looks OK.
348
 *      </td></tr></table>
349
 * </td><td>
350
 * \image html vga_lotus2.png "Lotus 2"
351
 * </td></tr></table></div>
352
 *
353
 * - Warzone
354
 * <div align="center"><table width="100%"><tr><td width=300>
355
 *      <table>
356
 *      <tr><td><b>aoOCS version:</b> </td><td> 1.0         </td></td></tr>
357
 *      <tr><td><b>State:</b>         </td><td><i>FAIR</i>  </td></tr>
358
 *      <tr><td><b>Description:</b>   </td><td>
359
 * Major graphic problems - as seen on captured VGA frame.
360
 *      </td></tr></table>
361
 * </td><td>
362
 * \image html vga_warzone.png "Warzone"
363
 * </td></tr></table></div>
364
 */
365
 
366
/*! \page page_spec_registers Registers
367
 
368
List of not implemented OCS registers:
369
 
370
\b ocs_control
371
\verbatim
372
    STREQU    & *038  S   D       Strobe for horiz sync with VB and EQU
373
    STRVBL    & *03A  S   D       Strobe for horiz sync with VB (vert. blank)
374
    STRHOR    & *03C  S   DP      Strobe for horiz sync
375
    STRLONG   & *03E  S   D( E )  Strobe for identification of long horiz. line.
376
    VHPOSW      *02C  W   A       Write vert and horiz position of beam
377
\endverbatim
378
 
379
\b ocs_input
380
\verbatim
381
    POT0DAT     *012  R   P( E )  Pot counter pair 0 data (vert,horiz)
382
    POT1DAT     *014  R   P( E )  Pot counter pair 1 data (vert,horiz)
383
    POTGOR      *016  R   P       Pot port data read (formerly POTINP)
384
    POTGO       *034  W   P       Pot port data write and start
385
\endverbatim
386
 
387
\b ocs_copper
388
\verbatim
389
    COPINS       08C  W   A       Coprocessor instruction fetch identify
390
\endverbatim
391
 
392
\b ocs_serial
393
\verbatim
394
    SERDATR     *018  R   P       Serial port data and status read
395
    SERDAT      *030  W   P       Serial port data and stop bits write
396
    SERPER      *032  W   P       Serial port period and control
397
\endverbatim
398
 
399
\b ocs_floppy
400
\verbatim
401
    DSKDATR   & *008  ER  P       Disk data early read (dummy address)
402
\endverbatim
403
 
404
\b ocs_blitter
405
\verbatim
406
   BLTDDAT   & *000  ER  A       Blitter destination early read (dummy address)
407
\endverbatim
408
*/
409
 
410
/*! \page page_spec_clocks Clocks
411
 * <table width=100%>
412
 * <caption><b>Table 1:</b> List of clocks.</caption>
413
 * <tr style="background: #CCCCCC; font-weight: bold;">
414
 *     <td rowspan=2>Name</td><td rowspan=2>Source</td><td colspan=3>Rates (MHz)</td><td rowspan=2>Remarks</td><td rowspan=2>Description</td></tr>
415
 * <tr style="background: #CCCCCC; font-weight: bold;">
416
 *     <td>Max</td><td>Min</td><td>Resolution</td></tr>
417
 *
418
 * <tr><td>clk_50</td><td>Input Port</td><td>50</td><td>50</td><td>-</td><td>-</td><td>External input clock. Used only as input to altpll.</td></tr>
419
 * <tr><td>clk_30</td><td>altpll output</td><td>30</td><td>30</td><td>-</td><td>-</td><td>Main system clock.</td></tr>
420
 * <tr><td>clk_12</td><td>altpll output</td><td>12</td><td>12</td><td>-</td><td>-</td><td>Used only in drv_audio to clock the WM8731 audio codec hardware.</td></tr>
421
 * <tr><td>clk_25</td><td>altpll output</td><td>25</td><td>25</td><td>-</td><td>-</td><td>Used only in drv_eth_vga_capture to clock the DM9000A Ethernet hardware.</td></tr>
422
 * </table>
423
 */
424
 
425
/*! \page page_spec_ports IO Ports
426
 * <h3>aoOCS top-level IO Ports</h3>
427
\verbatim
428
Inputs
429
    Clock and reset
430
        clk_50
431
        reset_ext_n
432
    DM9000A Ethernet hardware interface
433
        enet_irq
434
    Switches and hex leds hardware interface from drv_debug
435
        debug_sw1_pc
436
        debug_sw2_adr
437
        debug_sw3_halt
438
Inouts
439
    IS61LPS51236A pipelined SSRAM hardware interface
440
        ssram_data          [35:0]
441
    SD bus 1-bit hardware interface
442
        sd_cmd_io
443
        sd_dat_io
444
    PS/2 keyboard hardware interface
445
        ps2_kbclk
446
        ps2_kbdat
447
    PS/2 mouse hardware interface
448
        ps2_mouseclk
449
        ps2_mousedat
450
    WM8731 audio codec hardware interface
451
        ac_sdat
452
    DM9000A Ethernet hardware interface
453
        enet_data           [15:0]
454
Outputs
455
    IS61LPS51236A pipelined SSRAM hardware interface
456
        ssram_address       [18:0]
457
        ssram_oe_n
458
        ssram_writeen_n
459
        ssram_byteen_n      [3:0]
460
        ssram_clk
461
        ssram_globalw_n
462
        ssram_advance_n
463
        ssram_adsp_n
464
        ssram_adsc_n
465
        ssram_ce1_n
466
        ssram_ce2
467
        ssram_ce3_n
468
    SD bus 1-bit hardware interface
469
        sd_clk_o
470
    ADV7123 Video DAC hardware interface
471
        vga_r   [9:0]
472
        vga_g   [9:0]
473
        vga_b   [9:0]
474
        vga_blank_n
475
        vga_sync_n
476
        vga_clock
477
        vga_hsync
478
        vga_vsync
479
    WM8731 audio codec hardware interface
480
        ac_sclk
481
        ac_xclk
482
        ac_bclk
483
        ac_dat
484
        ac_lr
485
    DM9000A Ethernet hardware interface
486
        enet_clk_25
487
        enet_reset_n
488
        enet_cs_n
489
        enet_ior_n
490
        enet_iow_n
491
        enet_cmd
492
    Switches and hex leds hardware interface from drv_debug
493
        hex0                [7:0]
494
        hex1                [7:0]
495
        hex2                [7:0]
496
        hex3                [7:0]
497
        hex4                [7:0]
498
        hex5                [7:0]
499
        hex6                [7:0]
500
        hex7                [7:0]
501
    Leds hardware interface for debug purposes
502
        debug_sd            [7:0]
503
        debug_68k_state     [7:0]
504
        debug_floppy        [7:0]
505
\endverbatim
506
 */
507
 
508
/*! \page page_spec_references References
509
 *                                                                      <ol><li>
510
 * <em>Specification for the: WISHBONE System-on-Chip (SoC) Interconnection Architecture for Portable IP Cores.</em><br/>
511
 * Revision: B.3.<br/>
512
 * Released: September 7, 2002.<br/>
513
 * Available from: http://www.opencores.org<br/>&nbsp;
514
 *                                                                      </li><li>
515
 * <em>Amiga® Hardware Reference Manual.</em><br/>
516
 * Revised edition (March 15, 1990)<br/>
517
 * Addison Wesley Longman Publishing Co.<br/> &nbsp;
518
 *                                                                      </li><li>
519
 * <em>E-UAE Amiga software emulator sources.</em><br/>
520
 * Source archive: \c e-uae-0.8.29-WIP4.tar.bz2<br/>
521
 * Available from: http://http://www.rcdrummond.net/uae/<br/>&nbsp;
522
 *                                                                      </li><li>
523
 * <em>aoOCS Doxygen(Design) Documentation.</em><br/>&nbsp;
524
 *                                                                      </li><li>
525
 * <em>ao68000 Doxygen(Design) Documentation.</em><br/>
526
 * Available from: http://www.opencores.org<br/>&nbsp;
527
 *                                                                      </li></ol>
528
 */
529
 
530
/*! \page page_directory Directory structure
531
 * The aoOCS project consists of the following directories:
532
 *
533
 * \verbinclude ./doc/src/directory.txt
534
 */
535
 
536
/*! \page page_notes Design notes
537
 * \verbinclude ./doc/src/notes.txt
538
 */
539
 
540
/*! \page page_quartus Altera Quartus fit summary
541
 * \verbinclude ./doc/src/aoOCS.fit.summary
542
 */

powered by: WebSVN 2.1.0

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