Cyclone V XCVR configuration for SATA I application.
Dear Sir,
I'm trying to configure the Cyclone V transceiver in order to establish a SATA I connection.
Unfortunately, I don't know if my actual configuration is the right one.
The problem is the initial OOB sequence. The OOB sequence expects these steps: 1) the Host (FPGA) sends a COMRESET primitive; 2) the device (HDD) sends a COMINIT primitive; 3) the Host sends a COMWAKE primitive; 4) the device sends a COMWAKE primitive.
You can see what happens in the attached figure.
In the two figures, in yellow you can see the XCVR TX electric idle, in pink you can see the XCVR TX signal detect.
In the first figure, the host sends the COMRESET and the device sends the COMINIT.
In the second figure, the host sends the COMWAKE, but it does not receive the COMWAKE response.
I think that this can happen because there is some problem with the XCVR configuration.
The cyclone V that I'm using is: 5CGXFC3B6F23I7 and I'm using the XCVR with the external fPLL
The XCRV assignment that I'm using are:
cfast_sata_rx_p Location PIN_W2
cfast_sata_tx_p Location PIN_U2
cfast_sata_rx_p Receiver Signal Detection Unit Enable/Disable On
cfast_sata_rx_p Receiver Signal Detection Voltage Threshold 7
cfast_sata_rx_p Receiver Cycle Count Before Signal Detect Block Declares Loss Of Signal 1
cfast_sata_rx_p Receiver Cycle Count Before Signal Detect Block Declares Presence Of Signal 2
cfast_sata_tx_p Transmitter Slew Rate Control 3
cfast_sata_tx_p Transceiver Analog Settings Protocol SATA1_M
cfast_sata_rx_p Transceiver Analog Settings Protocol SATA1_M
Are these assignments the right one?
Please, can you take a look at the XCVR, PHY reset controller, XCVR reconfiguration IP files and at the project files?