URL
https://opencores.org/ocsvn/aoocs/aoocs/trunk
Subversion Repositories aoocs
[/] [aoocs/] [trunk/] [doc/] [doxygen/] [html/] [page_spec_architecture.html] - Rev 2
Compare with Previous | Blame | View Log
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>aoOCS: Architecture</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.2 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Design Unit List</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="index.html">index</a> </li> </ul> </div> </div> <div class="header"> <div class="headertitle"> <h1>Architecture </h1> </div> </div> <div class="contents"> <table border="0" align="center"> <caption align="bottom"><b>Figure 1:</b> <a class="el" href="classaoOCS.html" title="aoOCS top-level module for the Terasic DE2-70 board. ">aoOCS</a> structure. </caption> <tr> <td><div align="center"> <img src="structure.png" alt="structure.png"/> </div> </td></tr> </table> <h1><a class="el" href="classcontrol__osd.html" title="On-Screen-Display and overall system management. ">control_osd</a></h1> <p>On-Screen-Display and overall system management. </p> <h1><a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a></h1> <p><a class="el" href="classao68000.html" title="ao68000 top level module.">ao68000</a> top level module. </p> <p>This module contains only instantiations of sub-modules and wire declarations. </p> <h1><a class="el" href="classocs__control.html" title="OCS system control implementation with WISHBONE slave interface. ">ocs_control</a></h1> <p>OCS system control implementation with WISHBONE slave interface. </p> <p>List of system control registers: </p> <div class="fragment"><pre class="fragment"> Implemented: [DDFSTOP 094 W A Display bitplane data fetch stop (horiz. position) write not implemented here] DMACON 096 W ADP DMA control write (clear or set) write not implemented here DMACONR *002 R AP DMA control (and blitter status) read VPOSR *004 R A( E ) Read vert most signif. bit (and frame flop) VHPOSR *006 R A Read vert and horiz. position of beam ADKCON 09E W P Audio, disk, UART control ADKCONR *010 R P Audio, disk control register read [POT0DAT *012 R P( E ) Pot counter pair 0 data (vert,horiz) read implemented here] INTENAR *01C R P Interrupt enable bits read INTREQR *01E R P Interrupt request bits read [CLXCON 098 W D Collision control write not implemented here] INTENA 09A W P Interrupt enable bits (clear or set bits) write not implemented here INTREQ 09C W P Interrupt request bits (clear or set bits) Not implemented: REFPTR & *028 W A Refresh pointer VPOSW *02A W A Write vert most signif. bit (and frame flop) VHPOSW *02C W A Write vert and horiz position of beam STREQU & *038 S D Strobe for horiz sync with VB and EQU STRVBL & *03A S D Strobe for horiz sync with VB (vert. blank) STRHOR & *03C S DP Strobe for horiz sync STRLONG & *03E S D( E ) Strobe for identification of long horiz. line. RESERVED 1110X RESERVED 1111X NO-OP(NULL) 1FE </pre></div> <h1><a class="el" href="classocs__blitter.html" title="OCS blitter implementation with WISHBONE master and slave interface. ">ocs_blitter</a></h1> <p>OCS blitter implementation with WISHBONE master and slave interface. </p> <p>List of blitter registers: </p> <div class="fragment"><pre class="fragment"> Implemented: BLTCON0 ~040 W A Blitter control register 0 BLTCON1 ~042 W A( E ) Blitter control register 1 BLTAFWM ~044 W A Blitter first word mask for source A BLTALWM ~046 W A Blitter last word mask for source A BLTCPTH + ~048 W A Blitter pointer to source C (high 3 bits) BLTCPTL + ~04A W A Blitter pointer to source C (low 15 bits) BLTBPTH + ~04C W A Blitter pointer to source B (high 3 bits) BLTBPTL + ~04E W A Blitter pointer to source B (low 15 bits) BLTAPTH + ~050 W A( E ) Blitter pointer to source A (high 3 bits) BLTAPTL + ~052 W A Blitter pointer to source A (low 15 bits) BLTDPTH + ~054 W A Blitter pointer to destination D (high 3 bits) BLTDPTL + ~056 W A Blitter pointer to destination D (low 15 bits) BLTSIZE ~058 W A Blitter start and size (window width,height) BLTCMOD ~060 W A Blitter modulo for source C BLTBMOD ~062 W A Blitter modulo for source B BLTAMOD ~064 W A Blitter modulo for source A BLTDMOD ~066 W A Blitter modulo for destination D BLTCDAT % ~070 W A Blitter source C data register BLTBDAT % ~072 W A Blitter source B data register BLTADAT % ~074 W A Blitter source A data register Not implemented: BLTDDAT & *000 ER A Blitter destination early read (dummy address) </pre></div> <h1><a class="el" href="classocs__copper.html" title="OCS copper implementation with WISHBONE master and slave interface. ">ocs_copper</a></h1> <p>OCS copper implementation with WISHBONE master and slave interface. </p> <p>List of copper registers: </p> <div class="fragment"><pre class="fragment"> Implemented: COPCON *02E W A( E ) Coprocessor control register (CDANG) COP1LCH + 080 W A( E ) Coprocessor first location register (high 3 bits, high 5 bits if ECS) COP1LCL + 082 W A Coprocessor first location register (low 15 bits) COP2LCH + 084 W A( E ) Coprocessor second location register (high 3 bits, high 5 bits if ECS) COP2LCL + 086 W A Coprocessor second location register (low 15 bits) COPJMP1 088 S A Coprocessor restart at first location COPJMP2 08A S A Coprocessor restart at second location Not implemented: COPINS 08C W A Coprocessor instruction fetch identify </pre></div><dl class="note"><dt><b>Note:</b></dt><dd><ul> <li><code>COPINS</code> is not implemented. </li> </ul> </dd></dl> <h1><a class="el" href="classocs__serial.html" title="OCS serial port implementation with WISHBONE slave interface. [functionality not implemented]. ">ocs_serial</a></h1> <p>OCS serial port implementation with WISHBONE slave interface. [functionality not implemented]. </p> <p>List of serial registers: </p> <div class="fragment"><pre class="fragment"> Not implemented: SERDATR *018 R P Serial port data and status read read implemented here [DSKBYTR *01A R P Disk data byte and status read read implemented here] SERDAT *030 W P Serial port data and stop bits write SERPER *032 W P Serial port period and control </pre></div> <h1><a class="el" href="classbus__terminator.html" title="Terminator for not handled WISHBONE bus cycles. ">bus_terminator</a></h1> <p>Terminator for not handled WISHBONE bus cycles. </p> <h1><a class="el" href="classbus__syscon.html" title="WISHBONE priority and round-robin SYSCON. ">bus_syscon</a></h1> <p>WISHBONE priority and round-robin SYSCON. </p> <h1><a class="el" href="classocs__video.html" title="OCS video implementation with WISHBONE master and slave interface. ">ocs_video</a></h1> <p>OCS video implementation with WISHBONE master and slave interface. </p> <p>List of video registers: </p> <div class="fragment"><pre class="fragment"> Implemented: DIWSTRT 08E W A Display window start (upper left vert-horiz position) DIWSTOP 090 W A Display window stop (lower right vert.-horiz. position) DDFSTRT 092 W A Display bitplane data fetch start (horiz. position) DDFSTOP 094 W A Display bitplane data fetch stop write implemented here [DMACON 096 W ADP DMA control write (clear or set) write implemented here] [JOY1DAT *00C R D Joystick-mouse 1 data (vert,horiz) read not implemented here] CLXDAT *00E R D Collision data register (read and clear) read not implemented here CLXCON 098 W D Collision control write implemented here [INTENA 09A W P Interrupt enable bits (clear or set bits) write implemented here] BPLCON0 100 W AD( E ) Bitplane control register (misc. control bits) BPLCON1 102 W D Bitplane control reg. (scroll value PF1, PF2) BPLCON2 104 W D( E ) Bitplane control reg. (priority control) BPL1MOD 108 W A Bitplane modulo (odd planes) BPL2MOD 10A W A Bitplane modulo (even planes) BPL1PTH + 0E0 W A Bitplane 1 pointer (high 3 bits) BPL1PTL + 0E2 W A Bitplane 1 pointer (low 15 bits) BPL2PTH + 0E4 W A Bitplane 2 pointer (high 3 bits) BPL2PTL + 0E6 W A Bitplane 2 pointer (low 15 bits) BPL3PTH + 0E8 W A Bitplane 3 pointer (high 3 bits) BPL3PTL + 0EA W A Bitplane 3 pointer (low 15 bits) BPL4PTH + 0EC W A Bitplane 4 pointer (high 3 bits) BPL4PTL + 0EE W A Bitplane 4 pointer (low 15 bits) BPL5PTH + 0F0 W A Bitplane 5 pointer (high 3 bits) BPL5PTL + 0F2 W A Bitplane 5 pointer (low 15 bits) BPL6PTH + 0F4 W A Bitplane 6 pointer (high 3 bits) BPL6PTL + 0F6 W A Bitplane 6 pointer (low 15 bits) BPL1DAT & 110 W D Bitplane 1 data (parallel-to-serial convert) BPL2DAT & 112 W D Bitplane 2 data (parallel-to-serial convert) BPL3DAT & 114 W D Bitplane 3 data (parallel-to-serial convert) BPL4DAT & 116 W D Bitplane 4 data (parallel-to-serial convert) BPL5DAT & 118 W D Bitplane 5 data (parallel-to-serial convert) BPL6DAT & 11A W D Bitplane 6 data (parallel-to-serial convert) SPR0PTH + 120 W A Sprite 0 pointer (high 3 bits) SPR0PTL + 122 W A Sprite 0 pointer (low 15 bits) SPR0POS % 140 W AD Sprite 0 vert-horiz start position data SPR0CTL % 142 W AD( E ) Sprite 0 vert stop position and control data SPR0DATA % 144 W D Sprite 0 image data register A SPR0DATB % 146 W D Sprite 0 image data register B SPR1PTH + 124 W A Sprite 1 pointer (high 3 bits) SPR1PTL + 126 W A Sprite 1 pointer (low 15 bits) SPR1POS % 148 W AD Sprite 1 vert-horiz start position data SPR1CTL % 14A W AD Sprite 1 vert stop position and control data SPR1DATA % 14C W D Sprite 1 image data register A SPR1DATB % 14E W D Sprite 1 image data register B SPR2PTH + 128 W A Sprite 2 pointer (high 3 bits) SPR2PTL + 12A W A Sprite 2 pointer (low 15 bits) SPR2POS % 150 W AD Sprite 2 vert-horiz start position data SPR2CTL % 152 W AD Sprite 2 vert stop position and control data SPR2DATA % 154 W D Sprite 2 image data register A SPR2DATB % 156 W D Sprite 2 image data register B SPR3PTH + 12C W A Sprite 3 pointer (high 3 bits) SPR3PTL + 12E W A Sprite 3 pointer (low 15 bits) SPR3POS % 158 W AD Sprite 3 vert-horiz start position data SPR3CTL % 15A W AD Sprite 3 vert stop position and control data SPR3DATA % 15C W D Sprite 3 image data register A SPR3DATB % 15E W D Sprite 3 image data register B SPR4PTH + 130 W A Sprite 4 pointer (high 3 bits) SPR4PTL + 132 W A Sprite 4 pointer (low 15 bits) SPR4POS % 160 W AD Sprite 4 vert-horiz start position data SPR4CTL % 162 W AD Sprite 4 vert stop position and control data SPR4DATA % 164 W D Sprite 4 image data register A SPR4DATB % 166 W D Sprite 4 image data register B SPR5PTH + 134 W A Sprite 5 pointer (high 3 bits) SPR5PTL + 136 W A Sprite 5 pointer (low 15 bits) SPR5POS % 168 W AD Sprite 5 vert-horiz start position data SPR5CTL % 16A W AD Sprite 5 vert stop position and control data SPR5DATA % 16C W D Sprite 5 image data register A SPR5DATB % 16E W D Sprite 5 image data register B SPR6PTH + 138 W A Sprite 6 pointer (high 3 bits) SPR6PTL + 13A W A Sprite 6 pointer (low 15 bits) SPR6POS % 170 W AD Sprite 6 vert-horiz start position data SPR6CTL % 172 W AD Sprite 6 vert stop position and control data SPR6DATA % 174 W D Sprite 6 image data register A SPR6DATB % 176 W D Sprite 6 image data register B SPR7PTH + 13C W A Sprite 7 pointer (high 3 bits) SPR7PTL + 13E W A Sprite 7 pointer (low 15 bits) SPR7POS % 178 W AD Sprite 7 vert-horiz start position data SPR7CTL % 17A W AD Sprite 7 vert stop position and control data SPR7DATA % 17C W D Sprite 7 image data register A SPR7DATB % 17E W D Sprite 7 image data register B COLOR00 180 W D Color table 00 COLOR01 182 W D Color table 01 COLOR02 184 W D Color table 02 COLOR03 186 W D Color table 03 COLOR04 188 W D Color table 04 COLOR05 18A W D Color table 05 COLOR06 18C W D Color table 06 COLOR07 18E W D Color table 07 COLOR08 190 W D Color table 08 COLOR09 192 W D Color table 09 COLOR10 194 W D Color table 10 COLOR11 196 W D Color table 11 COLOR12 198 W D Color table 12 COLOR13 19A W D Color table 13 COLOR14 19C W D Color table 14 COLOR15 19E W D Color table 15 COLOR16 1A0 W D Color table 16 COLOR17 1A2 W D Color table 17 COLOR18 1A4 W D Color table 18 COLOR19 1A6 W D Color table 19 COLOR20 1A8 W D Color table 20 COLOR21 1AA W D Color table 21 COLOR22 1AC W D Color table 22 COLOR23 1AE W D Color table 23 COLOR24 1B0 W D Color table 24 COLOR25 1B2 W D Color table 25 COLOR26 1B4 W D Color table 26 COLOR27 1B6 W D Color table 27 COLOR28 1B8 W D Color table 28 COLOR29 1BA W D Color table 29 COLOR30 1BC W D Color table 30 COLOR31 1BE W D Color table 31 </pre></div> <h1><a class="el" href="classocs__audio.html" title="OCS audio implementation with WISHBONE master and slave interface. ">ocs_audio</a></h1> <p>OCS audio implementation with WISHBONE master and slave interface. </p> <p>List of audio registers: </p> <div class="fragment"><pre class="fragment"> Implemented: AUD0LCH + 0A0 W A( E ) Audio channel 0 location (high 3 bits, 5 if ECS) AUD0LCL + 0A2 W A Audio channel 0 location (low 15 bits) (horiz. position) AUD0LEN 0A4 W P Audio channel 0 length AUD0PER 0A6 W P( E ) Audio channel 0 period AUD0VOL 0A8 W P Audio channel 0 volume AUD0DAT & 0AA W P Audio channel 0 data AUD1LCH + 0B0 W A Audio channel 1 location (high 3 bits) AUD1LCL + 0B2 W A Audio channel 1 location (low 15 bits) AUD1LEN 0B4 W P Audio channel 1 length AUD1PER 0B6 W P Audio channel 1 period AUD1VOL 0B8 W P Audio channel 1 volume AUD1DAT & 0BA W P Audio channel 1 data AUD2LCH + 0C0 W A Audio channel 2 location (high 3 bits) AUD2LCL + 0C2 W A Audio channel 2 location (low 15 bits) AUD2LEN 0C4 W P Audio channel 2 length AUD2PER 0C6 W P Audio channel 2 period AUD2VOL 0C8 W P Audio channel 2 volume AUD2DAT & 0CA W P Audio channel 2 data AUD3LCH + 0D0 W A Audio channel 3 location (high 3 bits) AUD3LCL + 0D2 W A Audio channel 3 location (low 15 bits) AUD3LEN 0D4 W P Audio channel 3 length AUD3PER 0D6 W P Audio channel 3 period AUD3VOL 0D8 W P Audio channel 3 volume AUD3DAT & 0DA W P Audio channel 3 data </pre></div> <h1><a class="el" href="classocs__input.html" title="OCS user input implementation with WISHBONE slave interface. ">ocs_input</a></h1> <p>OCS user input implementation with WISHBONE slave interface. </p> <p>List of user input registers: </p> <div class="fragment"><pre class="fragment"> Implemented: [DSKDATR & *008 ER P Disk data early read (dummy address) not implemented] JOY0DAT *00A R D Joystick-mouse 0 data (vert,horiz) read implemented here JOY1DAT *00C R D Joystick-mouse 1 data (vert,horiz) read implemented here [CLXDAT *00E R D Collision data register (read and clear) read implemented here] JOYTEST *036 W D Write to all four joystick-mouse counters at once Not implemented: [ADKCONR *010 R P Audio, disk control register read read not implemented here] POT0DAT *012 R P( E ) Pot counter pair 0 data (vert,horiz) read not implemented here POT1DAT *014 R P( E ) Pot counter pair 1 data (vert,horiz) POTGOR *016 R P Pot port data read (formerly POTINP) POTGO *034 W P Pot port data write and start </pre></div> <h1><a class="el" href="classocs__floppy.html" title="OCS floppy implementation with WISHBONE master and slave interface. ">ocs_floppy</a></h1> <p>OCS floppy implementation with WISHBONE master and slave interface. </p> <p>List of floppy registers: </p> <div class="fragment"><pre class="fragment"> Implemented: [SERDATR *018 R P Serial port data and status read read not implemented here] DSKBYTR *01A R P Disk data byte and status read read not implemented here DSKPTH + *020 W A( E ) Disk pointer (high 3 bits, 5 bits if ECS) DSKPTL + *022 W A Disk pointer (low 15 bits) DSKLEN *024 W P Disk length DSKDAT & *026 W P Disk DMA data write [not used 07C] DSKSYNC ~07E W P Disk sync pattern register for disk read Not implemented: DSKDATR & *008 ER P Disk data early read (dummy address) not implemented [JOY0DAT *00A R D Joystick-mouse 0 data (vert,horiz) read not implemented here] </pre></div> <h1><a class="el" href="classcia8520.html" title="Commodore 8520 Complex Interface Adapter implementation. ">cia8520</a></h1> <p>Commodore 8520 Complex Interface Adapter implementation. </p> <h1><a class="el" href="classdrv__vga.html" title="ADV7123 Video DAC driver for VGA output. ">drv_vga</a></h1> <p>ADV7123 Video DAC driver for VGA output. </p> <h1><a class="el" href="classbus__ssram.html" title="IS61LPS51236A pipelined SSRAM driver with WISHBONE slave interface. ">bus_ssram</a></h1> <p>IS61LPS51236A pipelined SSRAM driver with WISHBONE slave interface. </p> <h1><a class="el" href="classdrv__audio.html" title="WM8731 audio codec driver for stereo audio output. ">drv_audio</a></h1> <p>WM8731 audio codec driver for stereo audio output. </p> <h1><a class="el" href="classdrv__keyboard.html" title="PS/2 keyboard driver. ">drv_keyboard</a></h1> <p>PS/2 keyboard driver. </p> <h1><a class="el" href="classdrv__mouse.html" title="PS/2 mouse driver. ">drv_mouse</a></h1> <p>PS/2 mouse driver. </p> <h1><a class="el" href="classdrv__debug.html" title="Switches and hex leds driver for debug purposes. ">drv_debug</a></h1> <p>Switches and hex leds driver for debug purposes. </p> <h1><a class="el" href="classdrv__eth__vga__capture.html" title="DM9000A 10/100 Mbit Ethernet driver for a VGA frame grabber. ">drv_eth_vga_capture</a></h1> <p>DM9000A 10/100 Mbit Ethernet driver for a VGA frame grabber. </p> </div> <hr class="footer"/><address class="footer"><small>Generated on Mon Dec 20 2010 21:20:19 for aoOCS by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> </body> </html>