We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Visitor ugurcakici
Registered: ‎09-23-2019

SATA OOB communication problem

Hi everyone,

I am implementing a SATA Device Controller on my KC705 Board.

I have a FMC-SATA board, a SATA crossover cable, and a PC motherboard as a host.

Here is the first issue(implemented as SATA2 configuration):

1) I can manage a SATA OOB communication if I use two transceivers("gt0" as a device and "gt1" as a host) and connect them through SATA crossover cable via FMC-SATA board. However, if I connect device side(gt0) to the motherboard, I can get "cominitdet = '1'", I send "txcominit" and get acknowladge as "txcomfinish", but i can not get "comwakedet" which should come from the host(motherboard).

-Buffers are enabled.
-I assert txelecidle and cdrhold during OOB sequence.
-I use LPM filter as default.
-I wait until tx and rx reset processes are finished before starting my OOB sequence state machine.

Here is the second issue(implemented as SATA1 configuration):

2) I try to configure transceivers as SATA1 configuration. As far as I know the only difference of SATA1 and SATA2 is the additional MMCM between "txoutclk" port and "txusrclk/txusrclk2" ports in SATA1. However, simulation is failed(no cominit detection) in this case. What should be done while configuring transceivers in SATA1 differently than SATA2?

Thanks in advance. I am stuck in this situation for a long time.. Early answers are appreciated.


0 Kudos
2 Replies
Registered: ‎07-30-2007

Re: SATA OOB communication problem

TXELECIDLE forces TXP and TXN to common mode.  How can you send txcominit or anything else with this set high?  Are you able to verify what is being sent and received with a scope?

Don't forget to reply, kudo, and accept as solution

Teacher drjohnsmith
Registered: ‎07-09-2009

Re: SATA OOB communication problem

why do you need a cross over cable ?
I seem to remember the specification was pin one on "master" goes to pin one on "slave", so cross over cables are not needed.
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>