-
Notifications
You must be signed in to change notification settings - Fork 34
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
Mux input ordering #165
Comments
The connection order generated in the Verilog file will always be normal wires (NESW wire), bel wire, and jump wire. This specific order ensures we can correctly line up all the ports. |
Thanks for the information - I didn't realise the order was adjusted in this way. Do you add structure when you implement the layout e.g. by placing the muxes at controlled locations? I am using FABulous unconventionally with full-custom layout and PnR at a tile level. My routing muxes are in a bank and I was assuming that the order was as defined in the .list file and I could change the order to line up inputs. I wrote a script to optimise the order in the .list file and create pre-routes for the pnr but it sounds like this is not how the tool works. I can extract the order from the FABulous switch matrix verilog and use that for the pre-routes, but looking at the Verilog the alphabetic order in the NESW normal routes could be improved on. Is there any other way the order can be changed? Many thanks, |
You might want to modify the code generation process to match the We have done work on optimizing the configuration cell and the port placement but not the muxes (the paper). There are some constraints in the NESW port location; for example, the north end port and south begin port will need to be placed along the north side of the tile so that the tile can line up. As far as I know, the rest is letting the PnR tool decide. |
We have got a |
Hi Rob, |
Hi Dirk, Kelvin, Thank-you for both of your inputs here. I see the adjacency matrix columns follow the NESW, bel, jump order. I presume the adjacency matrix then feeds into the bitstream generation. I am wondering if what I want to do will break the adjacency matrix as the mux input reordering might require the matrix columns to be in a different order for different muxes. Would your proposed input mapping file get around this issue? My motivation here is issues I am having routing my cell. It could be that the optimisations you have in place will help and I just need to place my preroutes using the verilog switch matrix order, so I will try this as a first step. Many thanks, |
The model generation does not care about the "generation" order, which you can check and tell from the The changes in the adjacency matrix/list file will not, in theory, affect the tile and fabric generation. With what you would like in #166, I think you can create your |
What Kelvin writes could do. |
Hi,
I have found that the input order specified in a tile's .list file is not mapped across to the Verilog description generated.
If I am correct and this is the case, could the code be changed to maintain the order set in the list file?
Best regards,
Rob.
The text was updated successfully, but these errors were encountered: