1.2. IDE/ATA Controller Using Supported Altera Devices
The IDE interface supports two modes of data transfer—the PIO mode and the DMA mode. This design example is restricted to mode 0 of PIO data transfer.
Signal | Size | Direction | Description |
---|---|---|---|
clk | 1 | Input | Same as the clock of the processor. This example works at a clock frequency of 100 MHz. |
arst | 1 | Input | Asynchronous active-low reset to reset the controller. |
iderst | 1 | Input | Active-high signal to reset the IDE device. |
ideen | 1 | Input | Active-high signal to enable the IDE device. |
pioiordyen | 1 | Input | Active-high signal to enable the IORDY signal from the IDE device. |
piorqst | 1 | Input | Active-high signal to start a PIO data transfer cycle. |
pioaddr[3:0] | 4 | Input | 4-bit bus to select the device address and the chip select signals of the IDE device. |
piodatain[15:0] | 16 | Input | 16-bit bus to send the data to the IDE device. |
piowe | 1 | Input | Active-high signal to set the direction of data transfer.
|
intrrqstsignal | 1 | Output | Signal to interrupt the CPU. |
pioack | 1 | Output | Signal to indicate the end of a PIO read/write cycle. |
piodataout [15:0] | 16 | Output | 16-bit bus to hold the data read from the IDE device. |
rstn | 1 | Output | Active-low signal to reset the IDE device. |
ddo [15:0] | 16 | Output | 16-bit data bus that transfers the data sent by the CPU to the device. The lower 8 bits are used for 8-bit data transfers. |
da [2:0] | 3 | Output | 3-bit active-high signal. Contains the binary coded address asserted by the host to access a register or data port in the device. |
cs0n | 1 | Output | Active-low chip select signals from the host used to select the command block or control block registers.
|
cs1n | 1 | ||
diorn | 1 | Output | Active-low strobe signal asserted by the host to read device registers or the data port. |
diown | 1 | Output | Active-low strobe signal asserted by the host to write to the device registers or the data port. |
dstrb | 1 | Output | data-in strobe signal from the device. The rising edge of dstrb latches the data from the device into the host. |
ddi [15:0] | 16 | Input | 16-bit data bus that contains the data read from the IDE device. |
iordy | 1 | Input | This signal is negated to extend the host transfer cycle of any host register access (read or write) when the device is not ready to respond to a data transfer request. Optional for mode 0 but required for higher modes. |
intrq | 1 | Input | Used by the selected device to notify the host of an event. The device internal interrupt pending state is set when such an event occurs. |
ddoe | 1 | Output | Used to read data from the IDE device. The data on the ddi bus is put on the data lines piodataout after the signal is brought low. |