1 |
35 |
root |
<!--# set var="title" value="" -->
|
2 |
|
|
<!--# include virtual="/ssi/ssi_start.shtml" -->
|
3 |
|
|
|
4 |
|
|
<B><FONT FACE="Helvetica,Arial" SIZE=+2 COLOR="#bf0000"><P>Project Name: OCIDEC (OpenCores IDE Controller)</P>
|
5 |
|
|
</FONT><U><FONT SIZE=4><P> Description:</B></U></FONT> </P>
|
6 |
|
|
<P>ATA (AT attachment) interface core, also known as the IDE (Integrated Drive Electronics) interface.<BR>
|
7 |
|
|
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>
|
8 |
|
|
<B><U><FONT SIZE=4><P>Development goals:</B></U></FONT> </P>
|
9 |
|
|
<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>
|
10 |
|
|
<P>Currently three cores are available:</P>
|
11 |
|
|
<TABLE BORDER CELLSPACING=1 CELLPADDING=4 WIDTH=661>
|
12 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
13 |
|
|
<P>Device</TD>
|
14 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
15 |
|
|
<P>OCIDEC-1</TD>
|
16 |
|
|
</TR>
|
17 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
18 |
|
|
<P>Features</TD>
|
19 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
20 |
|
|
<P>Smallest core.<BR>
|
21 |
|
|
PIO transfer support only.<BR>
|
22 |
|
|
Single timing register for all accesses to the connected devices.</TD>
|
23 |
|
|
</TR>
|
24 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
25 |
|
|
<P>Intended use</TD>
|
26 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
27 |
|
|
<P>Single PIO only devices (PC-CARDs, CompactFlash).<BR>
|
28 |
|
|
Designs requiring ATA capabilities, without the need for a complex feature set.</TD>
|
29 |
|
|
</TR>
|
30 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
31 |
|
|
<P>Gate usage</TD>
|
32 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
33 |
|
|
<P>Approximately 4Kgates.</TD>
|
34 |
|
|
</TR>
|
35 |
|
|
</TABLE>
|
36 |
|
|
<DIR>
|
37 |
|
|
<DIR>
|
38 |
|
|
|
39 |
|
|
<P><BR>
|
40 |
|
|
</P></DIR>
|
41 |
|
|
</DIR>
|
42 |
|
|
|
43 |
|
|
<TABLE BORDER CELLSPACING=1 CELLPADDING=4 WIDTH=661>
|
44 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
45 |
|
|
<P>Device</TD>
|
46 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
47 |
|
|
<P>OCIDEC-2</TD>
|
48 |
|
|
</TR>
|
49 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
50 |
|
|
<P>Features</TD>
|
51 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
52 |
|
|
<P>Small core.<BR>
|
53 |
|
|
PIO transfer support only.<BR>
|
54 |
|
|
Common timing register for all compatible accesses to the connected devices.<BR>
|
55 |
|
|
Separate timing register per device for fast DataPort accesses.</TD>
|
56 |
|
|
</TR>
|
57 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
58 |
|
|
<P>Intended use</TD>
|
59 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
60 |
|
|
<P>Dual PIO only devices (PC-CARDs, CompactFlash).<BR>
|
61 |
|
|
Designs requiring fast ATA capabilities, without DMA transfers.</TD>
|
62 |
|
|
</TR>
|
63 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
64 |
|
|
<P>Gate usage</TD>
|
65 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
66 |
|
|
<P>Approximately 4.6Kgates.</TD>
|
67 |
|
|
</TR>
|
68 |
|
|
</TABLE>
|
69 |
|
|
|
70 |
|
|
<P><BR>
|
71 |
|
|
</P>
|
72 |
|
|
<TABLE BORDER CELLSPACING=1 CELLPADDING=4 WIDTH=661>
|
73 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
74 |
|
|
<P>Device</TD>
|
75 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
76 |
|
|
<P>OCIDEC-3</TD>
|
77 |
|
|
</TR>
|
78 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
79 |
|
|
<P>Features</TD>
|
80 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
81 |
|
|
<P>PIO, Single-Word DMA and Multi-Word DMA transfer support.<BR>
|
82 |
|
|
Common timing register for all PIO compatible accesses to the connected devices.<BR>
|
83 |
|
|
Separate timing registers per device for fast PIO DataPort accesses.<BR>
|
84 |
|
|
Separate timing registers per device for DMA transfers.<BR>
|
85 |
|
|
PIO write access ping-pong.<BR>
|
86 |
|
|
WISHBONE Retry cycles for PIO accesses while controller busy.</TD>
|
87 |
|
|
</TR>
|
88 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
89 |
|
|
<P>Intended use</TD>
|
90 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
91 |
|
|
<P>High speed ATA devices (Hard disks, CDROMs)<BR>
|
92 |
|
|
Designs requiring full featured ATA capabilities.</TD>
|
93 |
|
|
</TR>
|
94 |
|
|
<TR><TD WIDTH="16%" VALIGN="TOP">
|
95 |
|
|
<P>Gate usage</TD>
|
96 |
|
|
<TD WIDTH="84%" VALIGN="TOP">
|
97 |
|
|
<P>Approximately 14Kgates.</TD>
|
98 |
|
|
</TR>
|
99 |
|
|
</TABLE>
|
100 |
|
|
|
101 |
|
|
<P>All cores feature a WISHBONE rev.B2 compliant interface, but can be addapted for any other kind of bus easy.<br>
|
102 |
|
|
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>
|
103 |
|
|
|
104 |
|
|
<B><U><FONT SIZE=4><P>Current Status:</B></U></FONT> </P>
|
105 |
|
|
<UL>
|
106 |
|
|
<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>
|
107 |
|
|
<LI>ToDo: </LI>
|
108 |
|
|
|
109 |
|
|
<UL>
|
110 |
|
|
<LI>Write documentation</LI>
|
111 |
|
|
<LI>Start development of OCIDEC-4, featuring UltraDMA support</LI></UL>
|
112 |
|
|
</UL>
|
113 |
|
|
|
114 |
|
|
<B><U><FONT SIZE=4><P>Author & Maintainer(s):</B></U></FONT> </P><DIR>
|
115 |
|
|
|
116 |
|
|
<P><A HREF="mailto:rherveille@opencores.org_NOSPAM">Richard Herveille</A><BR>
|
117 |
|
|
</P></DIR>
|
118 |
|
|
|
119 |
|
|
<B><U><FONT SIZE=4><P>Mailing-list:</B></U></FONT> </P><DIR>
|
120 |
|
|
|
121 |
|
|
<P><A HREF="mailto:cores@opencores.org_NOSPAM">cores@opencores.org_NOSPAM</A></P></DIR>
|
122 |
|
|
<!--# include virtual="/ssi/ssi_end.shtml" -->
|