Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify Xilinx platforms into a single class, support more devices #563

Merged
merged 1 commit into from Sep 25, 2021

Conversation

mwkmwkmwk
Copy link
Contributor

This merges existing code, and also adds support for:

  • Virtex, Virtex E (also known as Spartan 2, Spartan 2E)
  • Virtex 2, Virtex 2 Pro
  • Spartan 3, Spartan 3E (in addition to existing Spartan 3A, Spartan 3A
    DSP support)
  • Virtex 4
  • Virtex 5
  • Virtex 6
  • ISE synthesis for Series 7

Fixes #552.

@codecov
Copy link

codecov bot commented Dec 16, 2020

Codecov Report

Merging #563 (d2127f0) into master (23a44f3) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #563   +/-   ##
=======================================
  Coverage   81.46%   81.46%           
=======================================
  Files          49       49           
  Lines        6446     6446           
  Branches     1287     1287           
=======================================
  Hits         5251     5251           
  Misses       1008     1008           
  Partials      187      187           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 23a44f3...d2127f0. Read the comment docs.

@mwkmwkmwk
Copy link
Contributor Author

Other notes:

  • DDR handling was broken for most devices, this PR fixes it (I haven't fully tested it, mostly due to lack of hardware, but it ends up successfully emitting a bitstream, which is more than can be said for old code)
  • the old imports are still available, but are just trivial aliases for the new unified class; should we slap a deprecation warning on them somehow?

@nickoe
Copy link
Contributor

nickoe commented Feb 1, 2021

@mwkmwkmwk Just a heads up, this needs to be rebased after #584

@mwkmwkmwk
Copy link
Contributor Author

Rebased.

@whitequark can we get this merged? I'd rather avoid having to do conflict resolution on this thing again.

@whitequark
Copy link
Member

can we get this merged? I'd rather avoid having to do conflict resolution on this thing again.

I'll merge this PR before any future changes to Xilinx platforms (and generally, soon).

This merges existing code, and also adds support for:

- Virtex, Virtex E (also known as Spartan 2, Spartan 2E)
- Virtex 2, Virtex 2 Pro
- Spartan 3, Spartan 3E (in addition to existing Spartan 3A, Spartan 3A
  DSP support)
- Virtex 4
- Virtex 5
- Virtex 6
- ISE synthesis for Series 7

Fixes amaranth-lang#552.
@mwkmwkmwk
Copy link
Contributor Author

Rebased once again, also added xck26 (per @DX-MON suggestion) and xcu* to the list

Copy link
Member

@whitequark whitequark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you for this wonderful PR!

@whitequark whitequark merged commit bdbe8bf into amaranth-lang:master Sep 25, 2021
@mwkmwkmwk mwkmwkmwk deleted the mwk/xilinx-platform branch September 25, 2021 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Unify Xilinx platforms
3 participants