URL
https://opencores.org/ocsvn/socgen/socgen/trunk
Subversion Repositories socgen
[/] [socgen/] [trunk/] [Projects/] [opencores.org/] [logic/] [ip/] [spi_interface/] [doc/] [index.html] - Rev 135
Compare with Previous | Blame | View Log
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="CONTENT-TYPE" content="text/html; charset=utf-8"> <title>start</title> <meta name="GENERATOR" content="OpenOffice.org 3.0 (Linux)"> <meta name="CREATED" content="0;0"> <meta name="CHANGED" content="20090513;8521600"> <meta name="KEYWORDS" content="start"> <meta name="Info 3" content=""> <meta name="Info 4" content=""> <meta name="date" content="2008-01-08T12:01:41-0500"> <meta name="robots" content="index,follow"> </head> <body dir="ltr" lang="en-US"> <h1><a name="ps2_interface"></a>SOCGEN <br> </h1> <h1> Datasheet: <br> </h1> <div id="toc__inside" dir="ltr"> <ul> <li> <p style="margin-bottom: 0in;"><a href="#ps2_interface">ps2_interface<br> </a></p> <ul> <li> <p style="margin-bottom: 0in;"><a href="#Description">Description<br> </a></p> </li> <li> <p style="margin-bottom: 0in;"><a href="#Parameters">Parameters<br> </a></p> </li> <li> <p style="margin-bottom: 0in;"><a href="#Interface">Interface<br> </a></p> </li> <li> <p style="margin-bottom: 0in;"><a href="#Theoryofoperation">Theory of Operation<br> </a></p> </li> <li> <p><a href="../../../../../../socgen_cmp/projects/logic/ip/ps2_interface/rtl/gen/syn/ps2_interface.v">Source Code <br> </a></p> </li> </ul> </li> </ul> </div> <h1><br> </h1> <br> <img style="width: 640px; height: 480px;" alt="" src="./png/ps2_interface.png"><br> <b><br> <br> </b> <h2><b><a name="Description"></a>Description</b></h2> Interface for an PS2 compatible keyboard/mouse<br> <br> <br> <br> <h2><b><a name="Parameters"></a>Parameters<br> </b></h2> <table style="text-align: left; width: 500px; height: 120px;" border="8" cellpadding="4" cellspacing="4"> <tbody> <tr> <td style="vertical-align: top;">Name<br> </td> <td style="vertical-align: top;">default <br> </td> <td style="vertical-align: top;">Description<br> </td> </tr> <tr> <td style="vertical-align: top;">FREQ<br> </td> <td style="vertical-align: top;">24<br> </td> <td style="vertical-align: top;">clk frequency in Megahertz<br> </td> </tr> <tr> <td style="vertical-align: top;">CLK_HOLD_DELAY<br> </td> <td style="vertical-align: top;">100<br> </td> <td style="vertical-align: top;"># of microseconds to hold ps2_clk before host -> device transfer<br> </td> </tr> <tr> <td style="vertical-align: top;">DATA_SETUP_DELAY<br> </td> <td style="vertical-align: top;">20<br> </td> <td style="vertical-align: top;"># of microseconds to hold data startbit for host -> device transfer<br> </td> </tr> <tr> <td style="vertical-align: top;">DEBOUNCE_DELAY<br> </td> <td style="vertical-align: top;">4'b1111<br> </td> <td style="vertical-align: top;"># of clk's to wait for debounce of ps2_clk and ps2_data<br> </td> </tr> </tbody> </table> <b><br> <br> </b> <p><b><b><br> </b></b></p> <p><b><b><br> </b></b></p> <p><br> </p> <p><b><b><br> </b></b></p> <p><b><b><br> <br> </b></b></p> <h2><b><b><a name="Interface"></a>Interface</b><b> <br> </b></b></h2> <p style="margin-bottom: 0in;"></p> <table style="text-align: left; width: 366px; height: 152px;" border="8" cellpadding="4" cellspacing="4"> <tbody> <tr> <td style="vertical-align: top;">NAME<br> </td> <td style="vertical-align: top;">Type<br> </td> <td style="vertical-align: top;"><br> </td> </tr> <tr> <td style="vertical-align: top;"> clk<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> system clk<br> </td> </tr> <tr> <td style="vertical-align: top;"> reset<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> system reset<br> </td> </tr> <tr> <td style="vertical-align: top;"> ps2_clk_pad_oe<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> control for clk pad<br> </td> </tr> <tr> <td style="vertical-align: top;"> ps2_clk_pad_in<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> ps2_clk pad value<br> </td> </tr> <tr> <td style="vertical-align: top;"> ps2_data_pad_oe<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> control for data pad<br> </td> </tr> <tr> <td style="vertical-align: top;"> ps2_data_pad_in<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> ps2_data pad value<br> </td> </tr> <tr> <td style="vertical-align: top;"> busy<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> interface is receiving a byte<br> </td> </tr> <tr> <td style="vertical-align: top;"> tx_data[7:0]<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> data byte to be sent<br> </td> </tr> <tr> <td style="vertical-align: top;"> tx_write<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> start sending data<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_data[7:0]<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> received data byte<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_read<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> received data strobe<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_full<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> byte has been received<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_parity_error<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> byte received with wrong parity bit<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_parity_rcv<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> parity bit received<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_parity_cal<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> calculated parity bit<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_frame_error<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> byte received with no stop bit<br> </td> </tr> <tr> <td style="vertical-align: top;"> rx_clear<br> </td> <td style="vertical-align: top;"> input<br> </td> <td style="vertical-align: top;"> clear rx_full and errors<br> </td> </tr> <tr> <td style="vertical-align: top;"> tx_buffer_empty<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> ready to send new byte<br> </td> </tr> <tr> <td style="vertical-align: top;"> tx_ack_error<br> </td> <td style="vertical-align: top;"> output<br> </td> <td style="vertical-align: top;"> device did not acknowledge last byte sent<br> </td> </tr> </tbody> </table> <br> <br> <br> <br> <br> <br> <br> <h2><b><a name="Theoryofoperation"></a>Theory of Operation<br> </b></h2> Add description of how it works<br> <br> <br> <br> <br> <br> <br> </body> </html>