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

[interchange] Site pin conflicts in RAM test #287

Closed
gatecat opened this issue May 4, 2021 · 3 comments
Closed

[interchange] Site pin conflicts in RAM test #287

gatecat opened this issue May 4, 2021 · 3 comments

Comments

@gatecat
Copy link

gatecat commented May 4, 2021

Run make test-fpga_interchange-ram_basys3-dcp in nextpnr and open the DCP in Vivado. There are routing issues (nets in yellow rather than green), report_route_status reports the following:

  GLOBAL_LOGIC0
    Unrouted Nodes (not associated with pins or ports):
      BRAM_L_X6Y30/BRAM_FIFO18_WEBWE4
      BRAM_L_X6Y30/BRAM_FIFO18_WEBWE5
      BRAM_L_X6Y30/BRAM_FIFO18_WEBWE6
      BRAM_L_X6Y30/BRAM_FIFO18_WEBWE7
  GLOBAL_LOGIC1
    Unrouted Nodes (not associated with pins or ports):
      BRAM_L_X6Y30/BRAM_FIFO18_REGCLKARDRCLK
      BRAM_L_X6Y30/BRAM_FIFO18_REGCLKB
    Conflicts with Site Pins: BRAM_L_X6Y30/BRAM_FIFO18_REGCLKB (RAMB18_X0Y12/REGCLKB)
  ram.rdclk
    Conflicts with Site Pins: BRAM_L_X6Y30/BRAM_FIFO18_REGCLKB (RAMB18_X0Y12/REGCLKB)

An illustration of some of the routing problems:

Screenshot from 2021-05-04 14-20-01

It appears like the cell-bel pin mapping isn't correct.

Design files:
ram_basys3.zip

cc @acomodi - are the examples in nextpnr still supposed to work, or in practice are they deprecated and I should be using fpga-interchange-tests instead?

@gatecat
Copy link
Author

gatecat commented May 4, 2021

This is affecting fpga-interchange-tests as well, actually. It is probably a good idea to get CI with Vivado up and running sooner rather than later....

@gatecat
Copy link
Author

gatecat commented May 4, 2021

Oops, my RapidWright was out of date. With that fixed it works fine.

@gatecat gatecat closed this as completed May 4, 2021
@acomodi
Copy link

acomodi commented May 5, 2021

@gatecat I think that the tests in nextpnr are still valid from a PnR point of view so that we know that everything is fine there, but the validation of these should happen in fpga-interchange-tests.

I'll soon add the DRC validation step for xc7 in fpga-interchange-tests so we can catch these kinds of issues.

In general I'd say that we should have all the tests in nextpnr working (aka valid DCP are generated) and a way to frequently check this in fpga-interchange-tests. The problem is that at the moment the nextpnr, interchange-schema and python-interchange need to be manually updated to the latest versions, and here a bot might be required to get to update regularly and automatically the versions of the various tools, such that, if some change either in one of the tools causes the validation step to fail, we can catch it ASAP.

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

No branches or pull requests

2 participants