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

Add/update every Diamond FF primitive #1343

Merged
merged 5 commits into from
Aug 30, 2019
Merged

Conversation

whitequark
Copy link
Member

This should now be complete, although latches are still missing (I'm not sure how to make a latch with Trellis).

@daveshah1
Copy link

I'm not sure how to make a latch with Trellis

The only hard latches in the ECP5 are in the IO tiles but I don't think these have been fuzzed yet. Diamond uses soft logic for all other primitives. This could be implemented similar how to Yosys creates soft latches: https://github.com/YosysHQ/yosys/blob/master/techlibs/ecp5/latches_map.v

There is actually an undocumented "async preload" mode of the flipflops that could be used to create hard latches. But I'm a bit wary relying on this because Diamond's synthesis never uses it (the only way to activate it is with the undocumented ncl route to create post pnr designs). I don't think the nextpnr support for this is complete either, but maybe if someone has an interesting use case I can work on this more.

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.

None yet

3 participants