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

Use Yosys HQ v0.10 as a submodule #403

Merged
merged 31 commits into from
Oct 31, 2021
Merged

Use Yosys HQ v0.10 as a submodule #403

merged 31 commits into from
Oct 31, 2021

Conversation

tangxifan
Copy link
Collaborator

@tangxifan tangxifan commented Oct 29, 2021

Motivate of the pull request

  • To address an existing issue. If so, please provide a link to the issue: Yosys plugin support #371
  • 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:

  • Current Yosys submodule is a QuickLogic version. As agreed in Yosys plugin support #371 , we should go for the yosys HQ version where we have most developers and updates

What does this pull request change?

This PR improves in the following aspects:

  • Switch Yosys submodule to Yosys HQ v0.10 release; Quicklogic submodule is removed
  • Update yosys script by replacing the deprecated command opt_rmdff with opt_dff
  • Fixed critical bugs in multi-mode FF HDL modeling, which caused reset signal unconnected (reported in Yosys plugin support #371 )

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
  • submodules

Impact of the pull request

  • Require a change on Quality of Results (QoR)

The yosys v0.10 changes the number of BRAMs for some VTR benchmarks.

 INFO (     MainThread) - Task execution completed
ERROR: Benchmark 00_memset_MIN_ROUTE_CHAN_WIDTH failed in checking 'memory_blocks'
Found: 0 but expected: 1 outside range [20.0%, 10000.0%]
ERROR: Benchmark 00_paj_raygentop_hierarchy_no_mem_MIN_ROUTE_CHAN_WIDTH failed in checking 'memory_blocks'
Found: 0 but expected: 1 outside range [20.0%, 10000.0%]
INFO: Checked 26 metrics
INFO: See 2 QoR failures
  • Break back-compatibility. If so, please list who may be influenced.

All the yosys scripts have been updated. If any tape-out has used the yosys scripts, they require a change.

@@ -8,12 +8,14 @@ PYTHON_EXEC=python3.8
##############################################
echo -e "QuickLogic regression tests";

echo -e "Testing yosys flow using custom ys script for running quicklogic device";
run-task quicklogic_tests/flow_test --debug --show_thread_logs
# TODO: Disabled all the tests here because Quicklogic's synthesis script is not in Yosys v0.10 release. Will bring back once Quicklogic manages to merge their contribution to Yosys upstream
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@tpagarani @coolbreeze413 Please be aware of this

@tangxifan tangxifan requested a review from ganeshgore October 31, 2021 03:43
@tangxifan
Copy link
Collaborator Author

@tpagarani @ganeshgore @coolbreeze413 This PR is ready to go now.

@tangxifan tangxifan merged commit 4e50644 into master Oct 31, 2021
@tangxifan tangxifan deleted the yosyshq branch October 31, 2021 03:57
@tangxifan tangxifan mentioned this pull request Oct 31, 2021
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