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

Subversion Repositories wb_vga

[/] [wb_vga/] [web_uploads/] [index.shtml] - Blame information for rev 10

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 10 root
<!--# set var="title" value="" -->
2
<!--# include virtual="/ssi/ssi_start.shtml" -->
3
<link REL="stylesheet" TYPE="text/css" HREF="/people/tantos/styles.css">
4
 
5
<h1>Wishbone Monitor Controller</h1>
6
<h2>Description</h2>
7
<strong>Wishbone Monitor Controller</strong> is a set of freely available VHDL cores. It contains
8
a central building block containing the basic functionality. It can then be sorrounded by
9
various helper functions to add functionality. The central core comprises of a
10
sync generator, a pixel data generator, a memory interface and a CPU interface. It is specificly
11
designed for slow 8-bit systems (although CPU interface size can be set) with no high needs
12
about a display. It is also designed to be simple and small (cheap). The target is the whole
13
design to be well fit in an Altera ACEX 1k30 device which is available for around 10USD.
14
 
15
<h2>Individual module decriptions</h2>
16
Building blocks
17
<ul>
18
    <li><a href="vga_core.shtml">Central core</a></li>
19
    <li><a href="palette.shtml">Palette RAM module</a></li>
20
    <li><a href="accel.shtml">Accelerator</a></li>
21
    <li><a href="mouse.shtml">Mouse sprite module</a></li>
22
</ul>
23
Sampe configurations
24
<ul>
25
    <li><a href="vga_chip.shtml">VGA chip</a></li>
26
    <li><a href="vga_core_v2.shtml">Accelerated VGA core</a></li>
27
</ul>
28
 
29
<h2>Features</h2>
30
For a fast breafing here are the main design goals and features of the various modules:
31
<ul>
32
        <li>Highly customizable sync generation with polarity control</li>
33
        <li>Capable of driving EGA/VGA/Hercules/CGA monitors</li>
34
        <li>Multi-scan support for low resolution modes</li>
35
        <li>Internal memory for multi-scan, for even less memory accesses</li>
36
        <li>FIFO de-coupled memory interface and pixel output circuit</li>
37
        <li>Wisbone pixel memory interface</li>
38
        <li>16-bit pixel memory support (later parametrizable)</li>
39
        <li>Programmable color depth (1,2,4,8 bits per pixel)</li>
40
        <li>~80Mhz pixel clock (wish)</li>
41
        <li>Standard parametrizable Wishbone CPU bus interface</li>
42
        <li>Syncron internal structure</li>
43
        <li>Fully synthesizable (using Leonardo Spectrum)</li>
44
        <li>Palette support (3x5 bits plus key bit in each entry)</li>
45
        <li>Accelerator functions for common display operations</li>
46
        <li>Mouse cursor support if it fits to the chip (wish)</li>
47
</ul>
48
 
49
<h2>Status</h2>
50
<ul>
51
        <li>Central core implemented</li>
52
        <li>Palette and Accelerator implemented</li>
53
        <li>Cores compile under ActiveHDL and Leonardo Spectrum</li>
54
        <li>Cores simulate well (some more validation still needed)</li>
55
        <li>All functionality fits into a 1k30 chip</li>
56
        <li>Synthesized central core works as expected but max. clock rate is ~60MHz</li>
57
        <li>When all function synthesized max. clock rate is ~35MHz :-(((</li>
58
</ul>
59
 
60
<h2>ToDo</h2>
61
<ul>
62
        <li>More simulation to proove all core functionality</li>
63
        <li>Port to other (Xilinx Spartan-II) FPGA architectures</li>
64
        <li>Optimize design to encrease clock speed</li>
65
        <li>Implement Mouse sprite block</li>
66
        <li>More sample applications (complete designs)</li>
67
        <li>Sample programs</li>
68
        <li>Parametrizable pixel memory interface</li>
69
        <li>Generic version for fixed configuration (even much smaller)</li>
70
        <li>LCD support (??)</li>
71
        <li>high-color support (??)</li>
72
        <li>Develop a target board and try the core in real</li>
73
</ul>
74
 
75
<h2>Download</h2>
76
<p>
77
The first beta version of the Memory Controller can be downloaded from from the CVS repository.
78
You can browse the repository <a href="/cvsweb.shtml/wb_vga/">here</a> or
79
use <a href="/cvsmodule.shtml">CVSget</a> with module name <strong>wb_vga</strong>.
80
The design uses the <a href="/cores/wb_tk/">WishboneTK</a> so you will also need that.
81
 
82
<h2>Author & Maintainer</h2>
83
<p>
84
<a href="/people/tantos">Andras Tantos</a>
85
<!--# include virtual="/ssi/ssi_end.shtml" -->

powered by: WebSVN 2.1.0

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