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

Subversion Repositories aoocs

[/] [aoocs/] [trunk/] [doc/] [doxygen/] [html/] [page_spec_introduction.html] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 alfik
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
<html xmlns="http://www.w3.org/1999/xhtml">
3
<head>
4
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5
<title>aoOCS: Introduction</title>
6
<link href="tabs.css" rel="stylesheet" type="text/css"/>
7
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8
</head>
9
<body>
10
<!-- Generated by Doxygen 1.7.2 -->
11
<div class="navigation" id="top">
12
  <div class="tabs">
13
    <ul class="tablist">
14
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
15
      <li><a href="annotated.html"><span>Design&#160;Unit&#160;List</span></a></li>
16
      <li><a href="files.html"><span>Files</span></a></li>
17
    </ul>
18
  </div>
19
  <div class="navpath">
20
    <ul>
21
      <li><a class="el" href="index.html">index</a>      </li>
22
    </ul>
23
  </div>
24
</div>
25
<div class="header">
26
  <div class="headertitle">
27
<h1>Introduction </h1>  </div>
28
</div>
29
<div class="contents">
30
<p>The OpenCores <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> SoC is a Wishbone compatible implementation of most of the Amiga Original Chip Set (OCS) and computer functionality.</p>
31
<p><a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> is not related in any way with Minimig - it is a new and independent Amiga OCS implementation.</p>
32
<h3>Features</h3>
33
<ul>
34
<li>The <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> SoC contains the following Amiga/OCS components:<ul>
35
<li>blitter</li>
36
<li>copper</li>
37
<li>system control (interrupts)</li>
38
<li>video: bitplains, sprites, collision detection</li>
39
<li>audio: 4 channels, low-pass filter</li>
40
<li>user input: PS/2 mouse, PS/2 keyboard and joystick (keyboard arrow keys)</li>
41
<li>floppy: read and write ADF files directly from a SD card. Only the internal floppy drive is implemented</li>
42
<li>8520 CIA</li>
43
<li><a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> OpenCores IP core is used as the <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> processor</li>
44
</ul>
45
</li>
46
<li>All of the above components are WISHBONE revision B.3 compatible</li>
47
<li>The <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> contains the following additional components:<ul>
48
<li>SD card controller written in HDL with DMA. Supports SDHC cards only.</li>
49
<li>10/100 Mbit Ethernet controller written in HDL to send the current VGA frames (frame grabber)</li>
50
<li>HDL drivers for SSRAM, PS/2 keyboard, PS/2 mouse, audio codec, VGA DAC</li>
51
</ul>
52
</li>
53
<li><a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> 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 can be used as Chip RAM.</li>
54
<li>The On-Screen-Display is implemented in HDL as a finite state machine. No additional controller/processor with firmware required to handle the SoC.</li>
55
<li>The following options are available on the On-Screen-Display:<ul>
56
<li>select ROM file to load (only Amiga Kickstart v1.2 was tested)</li>
57
<li>enable or disable Joystick (keyboard arrow keys)</li>
58
<li>enable or disable floppy write protection</li>
59
<li>insert a floppy - select one from a list</li>
60
<li>eject an inserted floppy</li>
61
<li>reset the system</li>
62
</ul>
63
</li>
64
<li>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.</li>
65
<li>Only PAL timings are implemented.</li>
66
<li>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.</li>
67
<li>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 to generate all three clocks from one 50 MHz external clock. More information about clocks is available at <a class="el" href="page_spec_clocks.html">Clocks</a>.</li>
68
<li>A VGA frame grabber is implemented that sends captured frames by 100 Mbit Ethernet in IP/UDP packets.</li>
69
<li>The system uses about 26.400 LE on Altera Cyclone II and about 267.000 bits of on-chip RAM.</li>
70
<li>The blitter functionality was tested against the E-UAE Amiga software emulator.</li>
71
<li>Tested only on a Terasic DE2-70 board (www.terasic.com.tw).</li>
72
<li>Documentation generated by Doxygen (www.doxygen.org) with doxverilog patch (<a href="http://developer.berlios.de/projects/doxverilog/">http://developer.berlios.de/projects/doxverilog/</a>). The specification is automatically extracted from the Doxygen HTML output.</li>
73
</ul>
74
<h3>WISHBONE compatibility</h3>
75
<ul>
76
<li>Version: WISHBONE specification Revision B.3,</li>
77
<li>General description: 32-bit WISHBONE interface,</li>
78
<li>WISHBONE data port size: 32-bit,</li>
79
<li>Data port granularity: 8-bits,</li>
80
<li>Data port maximum operand size: 32-bits,</li>
81
<li>Data transfer ordering: BIG ENDIAN,</li>
82
<li>Data transfer sequencing: UNDEFINED,</li>
83
<li>Constraints on <code>CLK_I</code> signal: described in <a class="el" href="page_spec_clocks.html">Clocks</a>.</li>
84
</ul>
85
<h3>Similar projects</h3>
86
<p>Other Open-Source Amiga implementations include:</p>
87
<ul>
88
<li>Minimig (<a href="http://code.google.com/p/minimig/">http://code.google.com/p/minimig/</a>) - FPGA-based re-implementation of the original Amiga 500 hardware. Runs on the Minimig PCB and also on Terasic DE1,2 boards.</li>
89
</ul>
90
<h3>Limitations</h3>
91
<ul>
92
<li>No filesystem support on the SD card. Data is read from fixed positions. The contents of the SD card is generated by the <code>aoOCS_tool</code> described at <a class="el" href="page_spec_operation.html">Operation</a>.</li>
93
<li>No video external synchronize, lace mode, lightpen, genlock audio enable, color composite (BPLCON0)</li>
94
<li>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.</li>
95
<li>Currently <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> requires an 36-bit word SSRAM to store the video buffer. This way 3 pixels 12-bits each can be stored in one word.</li>
96
<li>Serial port not implemented.</li>
97
<li>Parallel port not implemented.</li>
98
<li>Low-pass filter disable/enable by CIA-A port A bit 1 not implemented.</li>
99
<li>Proportional controller and light pen not implemented.</li>
100
<li>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 registers look at <a class="el" href="page_spec_registers.html">Registers</a>.</li>
101
<li>Only some of the Amiga software was tested and works on the <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a>. A list of <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> software compatability is located at <a class="el" href="page_spec_operation.html">Operation</a>.</li>
102
</ul>
103
<h3>TODO</h3>
104
<ul>
105
<li>Fix some of the above limitations.</li>
106
<li>Optimize the design.</li>
107
<li>Run WISHBONE verification models.</li>
108
<li>More documentation of Verilog sources.</li>
109
<li>Describe testing and changes done in E-UAE sources.</li>
110
<li>Prepare scripts for VATS: run_sim -r -&gt; regresion test.</li>
111
<li>Port the <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> SoC to a Xilinx FPGA.</li>
112
</ul>
113
<h3>Status</h3>
114
<ul>
115
<li>Amiga Workbench v1.2 runs with some minor graphic problems: bottom of screen not displayed correctly.</li>
116
<li>Prince of Persia runs perfectly.</li>
117
<li>Wings of Fury runs correctly. Some sound glitches in intro.</li>
118
<li>Lotus 2 runs correctly. Some sound problems in intro.</li>
119
<li>Warzone runs poor. Some major graphic problems.</li>
120
<li>More information about <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> software compatability is available at <a class="el" href="page_spec_operation.html">Operation</a>.</li>
121
</ul>
122
<h3>Requirements</h3>
123
<ul>
124
<li>Altera Quartus II synthesis tool (<a href="http://www.altera.com">http://www.altera.com</a>) is required to synthesise the <code><a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a></code> System-on-Chip.</li>
125
<li>Java SDK (<a href="http://java.sun.com">http://java.sun.com</a>) is required to compile the <code>aoOCS_tool</code> (The tool is described in <a class="el" href="page_spec_operation.html">Operation</a>).</li>
126
<li>A FPGA board. Currently only the Terasic DE2-70 board was tested.</li>
127
<li>Icarus Verilog simulator (<a href="http://www.icarus.com/eda/verilog/">http://www.icarus.com/eda/verilog/</a>) is required to compile the and run some tests.</li>
128
<li>Access to Altera Quartus II directory (directory eda/sim_lib/) is required to compile and run some tests.</li>
129
<li>GCC (<a href="http://gcc.gnu.org">http://gcc.gnu.org</a>) is required to compile some testes based on E-UAE sources. </li>
130
</ul>
131
</div>
132
<hr class="footer"/><address class="footer"><small>Generated on Mon Dec 20 2010 21:20:19 for aoOCS by&#160;
133
<a href="http://www.doxygen.org/index.html">
134
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address>
135
</body>
136
</html>

powered by: WebSVN 2.1.0

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