URL
https://opencores.org/ocsvn/rtftextcontroller/rtftextcontroller/trunk
Subversion Repositories rtftextcontroller
[/] [rtftextcontroller/] [trunk/] [doc/] [rtftextcontroller.html] - Rev 23
Compare with Previous | Blame | View Log
<html>
<head>
<meta http-equiv="Content-Language" content="en-ca">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>rtfTextController</title>
<!--mstheme--><link rel="stylesheet" href="wate1011.css">
<meta name="Microsoft Theme" content="water 1011, default">
</head>
<body>
<p><font size="6">rtfTextController</font></p>
<h2> </h2>
<h2><font size="5">Description</font></h2>
<p><font size="4">This is a text mode video display controller that supports
color. The controller uses several internal
dual ported r/w memories to store text, text attributes and character bitmaps. The display memory is
thirty-two bits wide of which only nine bits are implemented, allowing 512 different
simultaneous characters to be displayed. The attribute memory is also thirty-two
bits wide with nine bits implemented, allowing for 32 foreground colors and 16
background colors. The use of internal dual ported memories means that the text
controller does not consume any memory bandwidth from the processor.</font></p>
<table border="1" cellpadding="0" cellspacing="0" width="91%" style="border-left: 1.5pt solid black; border-right: 1.5pt solid black; border-top: 1.5pt solid black; border-bottom: .75pt solid black; background-color: white" fpstyle="27,011111100">
<tr>
<td width="15%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
Address</td>
<td width="85%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
Description</td>
</tr>
<tr>
<td width="15%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
$FFD0_xxxx</td>
<td width="85%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
text screen memory area, currently the controller only supports a 4k memory</td>
</tr>
<tr>
<td width="15%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
$FFD1_xxxx</td>
<td width="85%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
color attribute memory area, currently the controller only supports a 4k
memory</td>
</tr>
<tr>
<td width="15%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
$FFD2_xxxx</td>
<td width="85%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
character bitmap memory, currently the controller only supports a 4k memory,
which allows 512 8x8 character bitmaps.</td>
</tr>
<tr>
<td width="15%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
$FFDA_00xx</td>
<td width="85%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
text controller register area</td>
</tr>
<tr>
<td width="15%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"> </td>
<td width="85%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"> </td>
</tr>
</table>
<p style="margin-bottom: 0">Text Memory Layout</p>
<table border="1" cellpadding="0" cellspacing="0" width="34%" style="border-left: 1.5pt solid black; border-right: 1.5pt solid black; border-top: 1.5pt solid black; border-bottom: .75pt solid black; background-color: white" fpstyle="27,011111100">
<tr>
<td width="63%" align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
31
9</td>
<td width="37%" align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
8
0</td>
</tr>
<tr>
<td width="63%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
unimplemented</td>
<td width="37%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
char code</td>
</tr>
</table>
<p style="margin-bottom: 0">Attribute Memory Layout</p>
<table border="1" cellpadding="0" cellspacing="0" width="34%" style="border-left: 1.5pt solid black; border-right: 1.5pt solid black; border-top: 1.5pt solid black; border-bottom: .75pt solid black; background-color: white" fpstyle="27,011111100">
<tr>
<td width="63%" align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
31
9</td>
<td width="17%" align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
8 5</td>
<td width="57%" align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
4 0</td>
</tr>
<tr>
<td width="63%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
unimplemented</td>
<td width="17%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
back</td>
<td width="57%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
fore</td>
</tr>
</table>
<h2 style="margin-bottom: 0"> </h2>
<h2 style="margin-bottom: 0">Clocks</h2>
<p style="margin-bottom: 0">The text video display controller uses two clocks, a
bus timing clock (clk_i) and a video timing clock (vclk), which can be
completely independent.</p>
<h2><font face="Arial"><b>Register Description</b></font></h2>
<table border="1" cellspacing="0" width="90%" style="border-left:1.5pt solid black; border-right:1.5pt solid black; border-top:1.5pt solid black; border-bottom:.75pt solid black; background-color:white" cellpadding="2" fpstyle="27,011111100" height="658">
<tr>
<td width="11%" align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray" height="19"><font face="Arial"><b>Reg. No.</b></font></td>
<td width="20%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray" align="right" height="19">
<font face="Arial">31</font><b><font face="Arial">
0</font></b></td>
<td width="9%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray" align="center" height="19">
<font face="Arial">R/W</font></td>
<td width="19%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray" height="19"><font face="Arial"><b>Function</b></font></td>
<td width="151%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray" height="19"><font face="Arial"><b>Description</b></font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"><font face="Arial">0</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17"><font face="Arial">
-------- nnnnnnnn</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17">
<font face="Arial">RW</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">number of columns</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"><font face="Arial">1</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17"><font face="Arial">-------- nnnnnnnn</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17">
<font face="Arial">RW</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">number of row</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35"><font face="Arial">2</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="35">
<font face="Arial">---- nnnnnnnnnnnn</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="35">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">window left</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">Text window position- pixels before the display starts, referenced to the
hsync signal</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35"><font face="Arial">3</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="35"><font face="Arial">----
nnnnnnnnnnnn</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="35">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">window top</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">Text window position - scan lines down from the top of
the screen referenced to the vsync signal</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35"><font face="Arial">4</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="35">
<font face="Arial">-------- --- nnnnn</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="35">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">max scanline</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">maximum scan
line used to display chars</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">default 7.</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="53"><font face="Arial">5</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="53"><font face="Arial">--------
hhhh wwww</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="53">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="53">
<font face="Arial">pixel size</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="53">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">pixel size in
video clocks and scan lines</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">default is 1
(2 video clocks per pixel) and 1 (two video scan lines per pixel).</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="243">
<font face="Arial">8</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="243"><font face="Arial">
-------T TBB sssss</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="243">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="243">
<font face="Arial">cursor start</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="243">
<font face="Arial">sssss=scan line cursor display starts on</font><table border="1" cellpadding="0" cellspacing="0" width="100%" height="93" style="border-left: 1.5pt solid black; border-right: 1.5pt solid black; border-top: 1.5pt solid black; border-bottom: .75pt solid black; background-color: white" fpstyle="27,011111100">
<tr>
<td width="12%" height="17" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
TT</td>
<td width="88%" height="17" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
= Cursor Type</td>
</tr>
<tr>
<td width="12%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
00</td>
<td width="88%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
Box</td>
</tr>
<tr>
<td width="12%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
01</td>
<td width="88%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
Line</td>
</tr>
<tr>
<td width="12%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
10</td>
<td width="88%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
Underscore</td>
</tr>
<tr>
<td width="12%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
11</td>
<td width="88%" height="18" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
Box</td>
</tr>
</table>
<table border="1" cellpadding="0" cellspacing="0" width="100%" style="border-left: 1.5pt solid black; border-right: 1.5pt solid black; border-top: 1.5pt solid black; border-bottom: .75pt solid black; background-color: white" fpstyle="27,011111100">
<tr>
<td width="11%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
BB</td>
<td width="89%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray">
= Cursor Blink Rate</td>
</tr>
<tr>
<td width="11%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
00</td>
<td width="89%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
no blink</td>
</tr>
<tr>
<td width="11%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
01</td>
<td width="89%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
no display</td>
</tr>
<tr>
<td width="11%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
10</td>
<td width="89%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
1/16 frame rate (4 times per second)</td>
</tr>
<tr>
<td width="11%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
11</td>
<td width="89%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
1/32 frame rate (2 times per second)</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<p> </p>
<p>
<font face="Arial">9</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17"><font face="Arial">--------
--- eeeee</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">cursor end</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">scan line cursor display ends on</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">10</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="35">
<font face="Arial">aaaaaaaa aaaaaaaa</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="35">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">display offset</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="35">
<font face="Arial">starting address of the text screen in the display
memory, defaults to zero</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">11</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17">
<font face="Arial">aaaaaaaa aaaaaaaa</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17">
<font face="Arial">W</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">cursor position</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">location of the cursor in the display memory</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">12</font></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17">
<font face="Arial">aaaaaaaa aaaaaaaa</font></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17">
<font face="Arial">R</font></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">light pen position</font></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17">
<font face="Arial">address of the light pen</font></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17"></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17"></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
</tr>
<tr>
<td width="11%" align="center" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
<td width="20%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="right" height="17"></td>
<td width="9%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" align="center" height="17"></td>
<td width="19%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
<td width="151%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white" height="17"></td>
</tr>
</table>
<p style="margin-bottom: 0"> </p>
<h2 style="margin-bottom: 0"><b><span lang="en-ca">Module Interface Description</span></b></h2>
<p style="margin-bottom: 0"><span lang="en-ca"><font face="Arial" size="4">
rtfTextController</font></span></p>
<p style="margin-bottom: 0; margin-top:0"><font face="Arial">
<font color="#00FF00">module</font> <span lang="en-ca">rtfTextController</span>(rst_i,
clk_i, cyc_i, stb_i, ack<span lang="en-ca">_o</span>, w<span lang="en-ca">e_i</span>, adr<span lang="en-ca">_i</span>, d<span lang="en-ca">at_i</span>, d<span lang="en-ca">at_o,
vclk, hsync, vsync, blank, border, rgbIn, rgbOut</span>);<br>
<br>
</font></p>
<table border="1" cellspacing="3" width="90%" style="border-left:1.5pt solid black; border-right:1.5pt solid black; border-top:1.5pt solid black; border-bottom:.75pt solid black; background-color:white" fpstyle="27,011111100">
<tr>
<td width="12%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray"><span lang="en-ca"><b>
<font face="Arial" color="#000080">System</font></b></span></td>
<td width="91%" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid black; background-color: gray"><b><font face="Arial">Description</font></b></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">rst_i</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">This signal is normally connected to the
system reset signal. It resets the <span lang="en-ca">text controller</span>
interface forcing it to the <span lang="en-ca">reset</span> state. </font>
</td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">clk_i</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial"><span lang="en-ca">T</span>his is usually
connected to the system clock and is used as a base timing clock for I/O
operations.</font></td>
</tr>
<tr>
<td width="103%" colspan="2" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font color="#000080" face="Arial">
<span lang="en-ca">Slave Port</span></font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">cyc_i</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">indicates that a valid bus cycle is
taking place. The core will not respond to the bus unless this signal is
active.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">stb_i</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">This strobe signal also indicates that a valid bus cycle is
taking place</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">ack_o</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">This signal indicates that the core has
processed the bus transaction (it is the logical and of cyc_i and stb_i).</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">we_i</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">This signal is used to signify a write
operation to the text controller<span lang="en-ca">.</span></font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">adr<span lang="en-ca">_i</span></font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">This
<span lang="en-ca">thirty-two bit </span>address b<span lang="en-ca">us
is </span>used
to address one of <span lang="en-ca">text controller</span></font><span lang="en-ca"><font face="Arial">s'</font></span><font face="Arial"><span lang="en-ca">s</span> registers
or internal memory. (Registers are described
below). </font><span lang="en-ca">
<font face="Arial">Registers respond to the address range $FFDA_00xx</font></span></p>
</td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">dat_i</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">This is the <span lang="en-ca">sixteen</span>
bit data input bus to the <span lang="en-ca">text controller</span>.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">dat_o</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">This is the <span lang="en-ca">sixteen</span> bit data output bus
from the text controller.</font></td>
</tr>
<tr>
<td width="103%" colspan="2" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">
<span lang="en-ca"><font color="#000080">Video</font></span><font color="#000080"><span lang="en-ca">
Ports</span></font></font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">vclk</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">This input is the video clock input. Pixel timing is derived from it.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">hsync</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">Horizontal sync.
This input signal signals the start/end of a video scanline (end-of-line)</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">vsync</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">
Vertical sync. This <span lang="en-ca">input </span>signal indicates
<span lang="en-ca">the end of the video frame.</span></font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">blank</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">This
input signal indicates that the display should be blanked. It is active
during the video blanking period.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">
<span lang="en-ca">border</span></font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">This input signal indicates that a border area is active.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">rgbIn</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">This 24 bit input bus can be connected to an external RGB input. (The text
controller may display on top of the external input).</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">rgbOut</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">This output signal bus contains the 24 bit RGB display data.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><span lang="en-ca"><b>
<font face="Arial" color="#000080">Parameters</font></b></span></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"> </td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">ROWS</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white"><font face="Arial">Use this parameter to specify the
default number of text rows.</font></td>
</tr>
<tr>
<td width="12%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">COLS</font></td>
<td width="91%" style="font-weight: normal; color: black; border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: .75pt solid black; background-color: white">
<font face="Arial">Use this parameter to specify the default number of text columns.</font></td>
</tr>
</table>
<p style="margin-top: 0; margin-bottom: 0"> </p>
<hr>
<p> </p>
<h1 style="margin-bottom: 0"><b><font size="4" face="Arial">WISHBONE Compatibility
Datasheet</font></b></h1>
<p style="margin-bottom: 0"><font face="Arial">The text controller core may be directly
interfaced to a WISHBONE compatible bus.</font></p>
<p style="margin-bottom: 0"> </p>
<table cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-left-style: solid; border-left-width: 1; border-right-style: solid; border-right-width: 1; border-top-style: double; border-top-width: 3; border-bottom-style: solid; border-bottom-width: 1" width="65%">
<tr>
<td width="100%" colspan="3" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">WISHBONE
Datasheet</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">WISHBONE SoC
Architecture Specification, Revision B.3</font></td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"> </td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"> </td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Description:</font></td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">
Specifications:</font></td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">General
Description:</font></td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><span lang="en-ca">
rtfTextController - Text mode video display controller</span></td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Supported
Cycles:</font></td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">SLAVE, READ /
WRITE</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">SLAVE, BLOCK
READ / WRITE</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">SLAVE, RMW</font></td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Data port,
size:</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Data port,
granularity:</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Data port,
maximum operand size:</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Data transfer
ordering:</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Data transfer
sequencing</font></td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0">32<font face="Arial">
bit</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">32 bit</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">
32 bit</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Little Endian</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">any
(undefined)</font></td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Clock
frequency constraints:</font></td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1"> </td>
</tr>
<tr>
<td width="45%" valign="top" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Supported
signal list and cross reference to equivalent WISHBONE signals</font></td>
<td width="25%" valign="top" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Signal Name:</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">ack<span lang="en-ca">_o</span></font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">adr<span lang="en-ca">_i(31:0)</span></font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">clk<span lang="en-ca">_i</span></font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">d<span lang="en-ca">at_i</span>(31:0)</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">d<span lang="en-ca">a</span>t<span lang="en-ca">_o</span>(31:0)</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">cyc<span lang="en-ca">_i</span></font></p>
<p style="margin-top: 0; margin-bottom: 0"><span lang="en-ca">stb_i</span></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">w<span lang="en-ca">e_i</span></font></td>
<td width="30%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">WISHBONE
Equiv.</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">ACK_O</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">ADR_I()</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">CLK_I</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">DAT_I()</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">DAT_O()</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">CYC_I</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">STB_I</font></p>
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">WE_I</font></p>
<p style="margin-top: 0; margin-bottom: 0"> </td>
</tr>
<tr>
<td width="45%" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0"><font face="Arial">Special
Requirements:</font></td>
<td width="55%" colspan="2" bordercolor="#000000" style="border-style: solid; border-width: 1">
<p style="margin-top: 0; margin-bottom: 0">external sync generator</td>
</tr>
</table>
<p style="margin-bottom: 0"> </p>
<p> </p>
</body>
</html> 