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" -->