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

Insert delay on lcd_copi to avoid timing issue #334

Merged
merged 1 commit into from
Nov 15, 2024

Conversation

elliotb-lowrisc
Copy link
Contributor

Manually insert delay in the form of BUF (LUT1) cells directly before the lcd_copi output buffer (OBUF) to satisfy the large hold requirement of the LCD driver chip.

If left to add hold-fixing itself, the tool occasionally causes setup timing failures on internal shift/loopback paths by placing the hold-fixing (in the form of a hold detour) too early in the path. Hold fixing as large as this should be put close to the port, after all other paths have branch off. Why the tool decides to insert such large delays so early in the path, I do not know.

Copy link
Contributor

@marnovandermaas marnovandermaas left a comment

Choose a reason for hiding this comment

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

I've added the post 1.0 label because I have not run into issues with timing on main. If we do run into this, we can still get it in.

@GregAC
Copy link
Contributor

GregAC commented Nov 7, 2024

Nice work @elliotb-lowrisc! I think I agree with @marnovandermaas that we're best putting this in after 1.0 but happy to include for 1.0 if you feel strongly we should @elliotb-lowrisc

@elliotb-lowrisc
Copy link
Contributor Author

I think it can wait until after 1.0, assuming the problem doesn't get in the way of release.

@GregAC
Copy link
Contributor

GregAC commented Nov 14, 2024

With 1.0 out shall we get this merged? @elliotb-lowrisc @marnovandermaas

Manually insert delay in the form of BUF (LUT1) cells directly before
the lcd_copi output buffer (OBUF) to satisfy the large hold requirement
of the LCD driver chip.

If left to add hold-fixing itself, the tool occasionally causes
setup timing failures on internal shift/loopback paths by placing the
hold-fixing (in the form of a hold detour) too early in the path.
Hold fixing as large as this should be put close to the port,
after all other paths have branch off. Why the tool decides to insert
such large delays so early in the path, I do not know.
@elliotb-lowrisc elliotb-lowrisc marked this pull request as ready for review November 14, 2024 17:56
@elliotb-lowrisc elliotb-lowrisc merged commit 4aff7aa into lowRISC:main Nov 15, 2024
3 checks passed
@elliotb-lowrisc elliotb-lowrisc deleted the lcd_del branch November 15, 2024 09:46
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.

3 participants