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

Subversion Repositories ata

[/] [ata/] [web_uploads/] [index.shtml] - Rev 35

Compare with Previous | Blame | View Log

<!--# set var="title" value="" -->
<!--# include virtual="/ssi/ssi_start.shtml" -->
 
<B><FONT FACE="Helvetica,Arial" SIZE=+2 COLOR="#bf0000"><P>Project Name: OCIDEC (OpenCores IDE Controller)</P>
</FONT><U><FONT SIZE=4><P> Description:</B></U></FONT> </P>
<P>ATA (AT attachment) interface core, also known as the IDE (Integrated Drive Electronics) interface.<BR>
The ATA interface provides a simple interface to (low cost) non-volatile memories, like harddisk drives, DVD players, CD(ROM) players/writers and  CompactFlash and PC-CARD devices.</P>
<B><U><FONT SIZE=4><P>Development goals:</B></U></FONT> </P>
<P>The development of a range of software and function backward compatible cores with a growing set of features. Software can detect which version of the core is implemented by reading the Device-ID and Revision-Number from the status register, thus making it possible to use a single device driver to handle all cores. This gives designers/system integraters the ability to trade off complexity/resource usage to available feature set/performance. All cores are designed according to the latest ATA/ATAPI specs.</P>
<P>Currently three cores are available:</P>
<TABLE BORDER CELLSPACING=1 CELLPADDING=4 WIDTH=661>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Device</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>OCIDEC-1</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Features</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Smallest core.<BR>
PIO transfer support only.<BR>
Single timing register for all accesses to the connected devices.</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Intended use</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Single PIO only devices (PC-CARDs, CompactFlash).<BR>
Designs requiring ATA capabilities, without the need for a complex feature set.</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Gate usage</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Approximately 4Kgates.</TD>
</TR>
</TABLE>
<DIR>
<DIR>
 
<P><BR>
</P></DIR>
</DIR>
 
<TABLE BORDER CELLSPACING=1 CELLPADDING=4 WIDTH=661>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Device</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>OCIDEC-2</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Features</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Small core.<BR>
PIO transfer support only.<BR>
Common timing register for all compatible accesses to the connected devices.<BR>
Separate timing register per device for fast DataPort accesses.</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Intended use</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Dual PIO only devices (PC-CARDs, CompactFlash).<BR>
Designs requiring fast ATA capabilities, without DMA transfers.</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Gate usage</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Approximately 4.6Kgates.</TD>
</TR>
</TABLE>
 
<P><BR>
</P>
<TABLE BORDER CELLSPACING=1 CELLPADDING=4 WIDTH=661>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Device</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>OCIDEC-3</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Features</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>PIO, Single-Word DMA and Multi-Word DMA transfer support.<BR>
Common timing register for all PIO compatible accesses to the connected devices.<BR>
Separate timing registers per device for fast PIO DataPort accesses.<BR>
Separate timing registers per device for DMA transfers.<BR>
PIO write access ping-pong.<BR>
WISHBONE Retry cycles for PIO accesses while controller busy.</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Intended use</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>High speed ATA devices (Hard disks, CDROMs)<BR>
Designs requiring full featured ATA capabilities.</TD>
</TR>
<TR><TD WIDTH="16%" VALIGN="TOP">
<P>Gate usage</TD>
<TD WIDTH="84%" VALIGN="TOP">
<P>Approximately 14Kgates.</TD>
</TR>
</TABLE>
 
<P>All cores feature a WISHBONE rev.B2 compliant interface, but can be addapted for any other kind of bus easy.<br>
See the on-line <A HREF="http://www.opencores.org/cores/ata/preliminary_ata_core.pdf">documentation</A> for more information. Note: This is a preliminary version. No official release.</P>
 
<B><U><FONT SIZE=4><P>Current Status:</B></U></FONT> </P>
<UL>
<LI>Three cores are available in VHDL and Verilog from OpenCores CVS via <A HREF="http://www.opencores.org/cvsweb.shtml/">cvsweb</A> or via <A HREF="/cvsmodule.shtml">cvsget</A>.</LI>
<LI>ToDo: </LI>
 
<UL>
<LI>Write documentation</LI>
<LI>Start development of OCIDEC-4, featuring UltraDMA support</LI></UL>
</UL>
 
<B><U><FONT SIZE=4><P>Author & Maintainer(s):</B></U></FONT> </P><DIR>
 
<P><A HREF="mailto:rherveille@opencores.org_NOSPAM">Richard Herveille</A><BR>
 </P></DIR>
 
<B><U><FONT SIZE=4><P>Mailing-list:</B></U></FONT> </P><DIR>
 
<P><A HREF="mailto:cores@opencores.org_NOSPAM">cores@opencores.org_NOSPAM</A></P></DIR>
 <!--# include virtual="/ssi/ssi_end.shtml" -->
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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