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

Need simple MUX2 descriptions in device resources #29

Open
litghost opened this issue Apr 8, 2021 · 1 comment
Open

Need simple MUX2 descriptions in device resources #29

litghost opened this issue Apr 8, 2021 · 1 comment
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@litghost
Copy link
Contributor

litghost commented Apr 8, 2021

Many fabrics have simple 2-input 1-select line muxes located in the SLICE site. These appear in 7-series (MUXF7, MUXF8), US+ (MUXF7, MUXF8, MUXF9) and in QuickLogic EOS S3 (mux controlled by QDS and FS). While there should be cell elements to be explicitly placed at those BEL locations, there are some cases where having meta-data on these simple selector muxes are important. For 7-series and US+, this is needed to handle unbalanced MUX tree cases (see https://github.com/daveshah1/nextpnr-xilinx/blob/d40ffba7b34d0bd6ae7d62d1bf849f8ec4d1da78/xilinx/pack.cc#L257-L294) and in QuickLogic EOS S3 to configure the QDS line to choose either the output of the LUT3/MUX8x3 BEL or the QDI line implicitly.

This work is not critical for 7-series or US+, but is likely fairly important for QuickLogic EOS S3 support.

@litghost litghost added this to To Do in FPGA interchange bootstrapping via automation Apr 8, 2021
@litghost litghost added enhancement New feature or request help wanted Extra attention is needed labels Apr 8, 2021
@mkurc-ant
Copy link
Contributor

One idea of solving the issue is extending the concept of route-through BELs. Such a BEL should have its pins marked as eg. "route input", "route output" and "others". The "others" wouldn't be subjected to route-through at all but instead they would have annotations saying "if the input pin A is to be routed to the output pin B then route me to VCC/GND".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants