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

ecp5: IOLOGIC improvements #340

Merged
merged 6 commits into from
Oct 13, 2019
Merged

ecp5: IOLOGIC improvements #340

merged 6 commits into from
Oct 13, 2019

Conversation

daveshah1
Copy link
Contributor

@daveshah1 daveshah1 commented Oct 11, 2019

This implements most of the missing IOLOGIC features, in particular:

  • 7:1 gearboxes (ODDR71B and IDDR71B)
  • IO (and tristate) flip flops, using the syn_useioff attribute (same as Diamond) to enable packing a TRELLIS_FF into the IOLOGIC. Tristate flip flops can be combined with output DDR
  • ECLKBRIDGECS for edge clocks that span the chip

See SymbiFlow/prjtrellis#107

@whitequark
Copy link
Member

This is extremely nice!

@whitequark
Copy link
Member

How is the combination of a IODDRX1F for i/o and OFS1P3DX for OE handled?

@daveshah1
Copy link
Contributor Author

It will be packed unless there is a mismatch between clock or reset signal; then it would be an error.

@whitequark
Copy link
Member

Excellent. I have an option of packing an SDR or DDR register into OE site, right?

@daveshah1
Copy link
Contributor Author

daveshah1 commented Oct 11, 2019

Only an SDR one, I'm not sure if DDR tristate (outside of memory DQS mode - and even then given it is fed a 2x clock it's more like SDR with 2x gearing than DDR) is even supported by hardware

@whitequark
Copy link
Member

Ah OK. It's interesting that some vendors support it and some do not. Looks like Xilinx and Altera do.

@daveshah1 daveshah1 marked this pull request as ready for review October 12, 2019 08:17
@daveshah1 daveshah1 merged commit ee76942 into master Oct 13, 2019
@daveshah1 daveshah1 deleted the dave/ecp5_io branch October 13, 2019 10:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants