enjoy-digital / litesata

Small footprint and configurable SATA core
Other
123 stars 34 forks source link

Add PHY support for Kintex/Zynq Ultrascale+ GTH transceiver #30

Closed rniwase closed 9 months ago

rniwase commented 10 months ago

This pull request includes the following updates:

This update maintains compatibility with previous designs.

rniwase commented 10 months ago

I felt there was insufficient explanation in this pull request, so I'll leave a comment.

Currently in LiteSATA, it seems possible to implement PHY exclusively for Ultrascale series GTH transceivers using USLiteSATAPHY, or alternatively, using USPLiteSATAPHY for Ultrascale+ series GTY transceivers.

Despite Ultrascale having GTY (GTYE3_CHANNEL) and Ultrascale+ having GTH (GTHE4_CHANNEL), I've unfortunately noticed the absence of their implementation in LiteSATAPHY. (Thus, the content in the README appears to be inaccurate.)

For my project's immediate needs, requiring the use of Kintex Ultrascale+ GTH (GTHE4_CHANNEL), I've newly implemented the PHY (GTHE4LiteSATAPHY) this time.

While the file and module names were arbitrarily chosen, it might be clearer to rename USLiteSATAPHY/USPLiteSATAPHY to something more accurate (for example, following the pattern of liteiclink/serdes) especially when considering potential future implementations of new PHYs like GTYE3_CHANNEL.

I'd appreciate a review regarding this matter.

enjoy-digital commented 9 months ago

Thanks a lot @rniwase! (and sorry for the delay). This is a very nice contribution!

USLiteSATAPHY/USPLiteSATAPHY naming is indeed not clear and I also realized and changed recently in LiteICLink. I just created https://github.com/enjoy-digital/litesata/issues/32 to look at it and will try to do it soon.

We can already merge your PR. Thanks again!