-
Notifications
You must be signed in to change notification settings - Fork 9
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
tests: features: add obufds test #42
Conversation
5a51641
to
8b7d2e9
Compare
The problem is that there are two possible OBUFDS expansions: one for true differential standards like LVDS (which is the one being picked here) and one for fake differential standards like SSTL here (which requires the two OBFUTs and INV as you've seen). We will need to pick the right expansion based on the IO standard, see the discussion about this in chipsalliance/fpga-interchange-schema#40 (the expansion in this case is actually called |
@gatecat All right, thanks for the info. I have added some debug lines and noticed that the expansion rules may not be complete, in fact there is only a rule for the OBUFTDS:
I have checked also upon the chipdb generation and indeed, the only rule present is the OBUFTDS one. I wonder whether there might be a bug when filling the |
185babc
to
005d500
Compare
005d500
to
7638620
Compare
I've extended the CMake scripts with support for XDC name prefix - this allows to have multiple tests with different XDCs in the same folder. I also added tests for the rest of differential IO buffers:
Those issues have to be solved for this PR to pass the CI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM once we get CI passing
94c248d
to
cf67958
Compare
28c171a
to
9fc5b80
Compare
9fc5b80
to
5202d34
Compare
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
…f it to the Makefile Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
3ef1ed5
to
88eb2bb
Compare
Signed-off-by: Alessandro Comodi acomodi@antmicro.com
This PR adds a basic test for the OBUFDS. Longer term this test might be expanded to include all diff IO tests (e.g. OBUFTDS, IBUFDS, IOBUFDS, etc.).
There is an issue at the moment that concerns the DCP generation from the physical netlist provided by nextpnr. Here is a tar containing the relevant outputs: obufds tar.
The problem seems to be that there is no macro expansion (probably due to a lack of data from the device database) happening for the OBUFDS cell. In fact, the nextpnr-generated physical netlist, there is only one OUTBUF used, and the DIFF_OUT wire is used.
Instead, when building with Vivado, the OBUFDS cell seem to be expanded to include the two OUTBUF bels, alongside with the inverter for the negative output.
I believe that the correct solution would be to provide the right data to correctly expand the OBUFDS in two OBUFT and an INV cell