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

A test for OSERDES routing #1261

Merged
merged 4 commits into from
Jan 10, 2020
Merged

Conversation

mkurc-ant
Copy link
Collaborator

This is a small test that checks SymbiFlow handling of OSERDES inputs. Demonstrates the #1258 issue.

This PR also updates pack patterns for OSERDES.

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
@probot-autolabeler probot-autolabeler bot added lang-python Issue uses (or requires) Python language. lang-verilog Issue uses (or requires) Verilog language. type-utils Issues is related to the scripts inside the repo. labels Jan 8, 2020
@mkurc-ant mkurc-ant requested a review from acomodi January 8, 2020 15:21
Copy link
Contributor

@acomodi acomodi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As in the comment, I would enable the DIFF test, and merge this once there is also the fix for the incorrect behavior.

PARENT_NAME oserdes_routing
# The fasm diff test is disabled as it is expected to fail for now. Should
# be re-enabled when #1258 is fixed
DISABLE_DIFF_TEST
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the DIFF test should be enabled, as the purpose of this test is to verify this behavior. This way I could take over this PR which can be merged as soon as the const issue is fixed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I've enabled the diff test. Should fail in Vivado with net conflict between <const 0> and <const 1>

Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
@acomodi
Copy link
Contributor

acomodi commented Jan 9, 2020

@mkurc-ant I have pushed a fix to correctly calculate the ZINV and IS_INVERTED parameters.

Signed-off-by: Alessandro Comodi <acomodi@antmicro.com>
@mkurc-ant
Copy link
Collaborator Author

The oserdes_routing diff fasm test passed CI:

[918/1107] cd /tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7-vendor/build/xc7/tests/oserdes_routing && diff -u /tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7-vendor/build/xc7/tests/oserdes_routing/oserdes_routing/artix7-xc7a50t-bottom-virt-xc7a50t-bottom-test/top.bit.fasm /tmpfs/src/github/symbiflow-arch-defs-presubmit-xc7-vendor/build/xc7/tests/oserdes_routing/oserdes_routing/artix7-xc7a50t-bottom-virt-xc7a50t-bottom-test/design_oserdes_routing_vivado.bit.fasm

Failing tests are related to other issues:

  1. Clock resource placement for the iobuf_i2c test:
ERROR: [Place 30-176] Unroutable Placement! The following clock source instance is driving the following locked load instances. The clock source instance is placed too far away from its load instance to be routable.
	CLK_HROW_TOP_R_X60Y78_BUFHCE_X1Y18_BUFHCE (BUFHCE.O) is locked to BUFHCE_X1Y18
  1. And for the murax test:
ERROR: [DRC RTSTAT-5] Partial antennas: 3 net(s) have a partial antenna. The problem bus(es) and/or net(s) are 

I think we can merge the fix anyway.

Copy link
Contributor

@acomodi acomodi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@mkurc-ant mkurc-ant merged commit 02578ed into f4pga:master Jan 10, 2020
@acomodi acomodi deleted the oserdes_routing_test branch January 27, 2020 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-python Issue uses (or requires) Python language. lang-verilog Issue uses (or requires) Verilog language. type-utils Issues is related to the scripts inside the repo.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants