URL
https://opencores.org/ocsvn/rtftextcontroller/rtftextcontroller/trunk
Subversion Repositories rtftextcontroller
[/] [rtftextcontroller/] [trunk/] [doc/] [rtftextcontroller.html] - Rev 27
Go to most recent revision | 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>
Go to most recent revision | Compare with Previous | Blame | View Log