-
Notifications
You must be signed in to change notification settings - Fork 13
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
CellPin WEBWE[0] on RAMB18E1 has no mapped BelPins #291
Comments
Did we ever resolve a work around for this situation? |
This is not a bug. BRAM pin mappings change based on how they are configured and we never found a good way in tcl to extract all possible configurations in a reasonable amount of time. Plus rapidsmith needs to be updated to handle configurable pin mappings that are based on a cells properties. On import we generate the correct pin mappings for a placed design, but we don't have this information in general. It is not a trivial problem. We chose to leave finding the pin mappings up to the user because there were higher priority things to do at the time. The documentation shows how to find pin mappings in Vivado (there is a sample Tcl script). I think I have Tcl code somewhere that tries to find the configurable pin mappings for a cell that you can use and add to your code. I will have to look for it later tonight or tomorrow. |
Whether this is what's best or not, this still makes packing for me an impossible task. |
Why is it impossible? 1.) Do you even need pin mappings for BRAM sites? The intrasite routing within these sites is simple, and Vivado can automatically determine the pin mappings once a cell is placed onto a BEL. Seems to me like you don’t need this information for BRAMs, but I could definitely be wrong about this. 2.) But if you do, then why can’t you keep a list of configurable cell types in your code (or add this as a property on the library cell in RS2), and for each of these cells keep a data structure that holds pin mappings for each configuration? In this case, my code described above would be useful. |
Are you saying that all the other cell pin -> bel pin mappings were there in the design and this one was missing? Or, are none of them there and this is simply the one you have chosen as an example of the problem? Trying to understand the boundaries of the issue. |
We have done an inventory and for Artix7, the following Cells which have pins with no mappings are limited to just these: FIFO18E1 For each one, there are a few sets of pins that are not mapped, which means they are not connected for the default cell property combination. The logic in the Tcl code looks to be: place a cell on every BEL in the device (or type of BEL) This is done using default cell property values. In the case of this issue (#291) , the WEBWE[0] cell pin is not tied to anything when placed on a RAMB18E1. But, this would change if the cell properties were changed appropriately. But, there are too many combinations to try all of them. So, we want to only try the ones that actually get used... :-) Possible Options:
What are the pros and cons of these? I like option 3 because I assume it could be rare that it has to run but it allows RS2 to be complete. It would make some tools (like Travis' packer) hiccup for periods of time when new designs are encountered, but would at least allow them to handle all designs. Option 2 is better than 1 but would require the user to manually create the info. Might as well figure out how to do it automagically... @ttown523 - can you comment on the feasibility of option 3 above? |
Been looking at configurable pin mappings the past few days and have the outlines of an approach done (and some code written). However, I am not sure if the original issue posted for this really has to do with that (configurable pin mappings) or something else. @trharoldsen, can you comment on the original issue? It sounds like:
Can you provide the design so I can take a look at it? Also, can you answer whether the design had originally been packed by Xilinx or not? (If so then the import process would have recorded the mappings. If not, then you would have no way of knowing what the mappings should be). |
Waiting on PR #337 |
This might fall into the issue of determining cell pin -> bel pin mappings for cells which vary based on their configurations, but while packing, I came across this issue. Kind of a show stopper for me.
The text was updated successfully, but these errors were encountered: