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

Support intermediate drivers in programmable clock network #1843

Merged
merged 16 commits into from
Sep 22, 2024
Merged

Conversation

tangxifan
Copy link
Collaborator

@tangxifan tangxifan commented Sep 21, 2024

Motivate of the pull request

  • To address an existing issue. If so, please provide a link to the issue:
  • Breaking new feature. If so, please describe details in the description part.

Describe the technical details

What is currently done? (Provide issue link if applicable)

Currently, OpenFPGA has the following limitations:

  • Internal drivers can only engage clock network at switching points. As a result, internal driver may only be propagated a small portion of FPGA fabric. Otherwise, at least 3 layers are required.

What does this pull request change?

This PR improves in the following aspects:

  • Introduce new syntax to support internal drivers occur at any intermediate stops on a clock spine. See the figure below for an illustrative example.

image

Which part of the code base require a change

  • VPR
  • Tileable routing architecture generator
  • OpenFPGA libraries
  • FPGA-Verilog
  • FPGA-Bitstream
  • FPGA-SDC
  • FPGA-SPICE
  • Flow scripts
  • Architecture library
  • Cell library
  • Documentation
  • Regression tests
  • Continous Integration (CI) scripts

Impact of the pull request

  • Require a change on Quality of Results (QoR)
  • Break back-compatibility. If so, please list who may be influenced.

@tangxifan tangxifan changed the title Xt clkmux [WIP] Support intermediate drivers in programmable clock network Sep 21, 2024
@tangxifan tangxifan changed the title [WIP] Support intermediate drivers in programmable clock network Support intermediate drivers in programmable clock network Sep 22, 2024
@tangxifan tangxifan merged commit 41cf56e into master Sep 22, 2024
38 checks passed
@tangxifan tangxifan deleted the xt_clkmux branch September 22, 2024 06:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant