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

Pmod bridge: Fix the disabled bottom row bug #60

Open
wants to merge 10 commits into
base: hierarchies
Choose a base branch
from

Conversation

artvvb
Copy link
Member

@artvvb artvvb commented Dec 2, 2021

In version 1.3 of the Pmod Bridge, this fixes the issue where disabling the top or bottom row interface causes the ports to which the board constraints are applied to not be created, resulting in implementation errors. Version 1.0 of the bridge is not changed, and should be replaced in Pmod IPs and hierarchies going forward. The IP was repackaged and tested in version 2021.1 of the tools with the Pmod NAV and Pmod AD1 hierarchies, but it should also be tested in 2019.1 with UART and I2C hierarchies and a repackaged Pmod IP to ensure we have backward-compatible support for that version.

Incidentally, a parameter for optional I2C pullups on the bottom row interface is added, as well as some general refactoring of pmod_concat and the ports and interfaces sections of component.xml, in order to clean up some of the port/interface enablement dependency logic. FPGA-side interface mode "None" is removed, and GPIO interfaces or manually constrained external ports should be favored in the use cases where this might have been handy.

The Pmod AD1 hierarchy also has its readme added as a BD comment, a feature that should be rolled out into other hierarchies.

Sources for testing can be obtained from the branch's source ZIP

…gn comment

The comment is attached to the Pmod bridge object in order to hide it when the hierarchy is closed
The readme was edited to remove illegal characters that prevent the set_property tcl command from evaluating properly (primarily the quotes)
Newlines were inserted to ensure that the text fits in the window (a standard width should be established)
Originally, some ports shared the FPGA-side ports with other interfaces. This led to highly-confusing enablement dependency conditions. Splitting out all of the ports so that each interface has its own set makes it so that the dependency conditions are only required at the interface level instead of also at the port level.
@artvvb artvvb requested a review from JColvin91 December 2, 2021 22:44
@PhantomMachine PhantomMachine self-requested a review April 11, 2022 15:59
Copy link

@PhantomMachine PhantomMachine left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants