-
Notifications
You must be signed in to change notification settings - Fork 12
General improvements #419
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
General improvements #419
Conversation
When iob_system runs in simulation mode (by passing verilog parameter SIMULATION=1), it will enable some optimizations that improve simulation performance. Currently, it decreases the ethernet PHY reset counter value to 20'h00100 for simulation.
Add fix_doxygen_subsections.py script that runs after doxygen to remove orphaned doxysubsections from document index. Resolves IObundle/iob-eth#97
New blocks table only contains the instance name and description of each block. Partially resolves IObundle/iob-eth#96
New default.nix of repos that use py2hwsw should generate the shorthash.tex file as well. This is required, since after nix's fetchFromGitHub command, the .git directory is deleted, and we can no longer generate the shortHash.tex file (due to the missing commit info).
Partially resolves IObundle/iob-eth#97 This commits updates the csr_gen.py script to only generate subsections when there are multiple core configurations.
Remove 'iob_' prefix from iob_csrs's instances names and ports, since the iob_csrs module also supports other subordinate interface types. The core is still named 'iob_csrs' (like other lib modules), but its instances inside peripherals are renamed to 'csrs'. This renaming also more closely matches the block diagram figures of peripheral user guides, where there is a block named 'CSRs'.
Update submodules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements several general improvements to the py2hwsw codebase, primarily focusing on renaming and refactoring the iob_csrs interface, improving documentation generation, and adding simulation support enhancements.
Key changes:
- Renamed iob_csrs subblock instances and ports from 'iob_csrs' to 'csrs' for consistency
- Added SIMULATION parameter to iob_system for simulation-specific optimizations
- Implemented fix for orphaned Doxygen subsections in documentation generation
- Removed module names from generated blocks table in user guide
Reviewed changes
Copilot reviewed 37 out of 37 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Updated shortHash.tex file handling to reuse existing file in pip installations |
| py2hwsw/scripts/setup_srcs.py | Added fix_doxygen_subsections.py script to deployment |
| py2hwsw/scripts/iob_instance.py | Updated comment to reflect renamed csrs control port |
| py2hwsw/scripts/iob_core.py | Updated port name from iob_csrs_cbus_s to csrs_cbus_s |
| py2hwsw/scripts/fix_doxygen_subsections.py | New script to fix orphaned Doxygen subsections |
| py2hwsw/scripts/block_gen.py | Removed module column from subblocks table |
| py2hwsw/lib/peripherals/*/*.py | Renamed iob_csrs instance names to csrs across multiple peripherals |
| py2hwsw/lib/hardware/buses/*/*.v | Updated port names from iob_csrs_* to csrs_* in testbenches |
| py2hwsw/lib/iob_system/iob_system.py | Added SIMULATION parameter and ETH_PHY_RST_CNT false-parameter |
| py2hwsw/lib/hardware/iob_csrs/scripts/csr_gen.py | Fixed generation of subsections when only one configuration exists |
| py2hwsw/document/doxygen/Makefile | Added call to fix_doxygen_subsections.py script |
| py2hwsw/lib/iob_system/submodules/* | Updated submodule references |
Comments suppressed due to low confidence (3)
setup.py:1
- Corrected spelling of 'reposity' to 'repository'.
py2hwsw/scripts/fix_doxygen_subsections.py:1 - Corrected spelling of 'Assuume' to 'Assume'.
setup.py:1 - Error message 'unknown revision' is inconsistent with the original 'unknown'. Consider keeping it consistent or updating the format throughout the codebase.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| .iob_csrs_iob_rvalid_o(iob_rvalid_o), | ||
| .iob_csrs_iob_rdata_o (iob_rdata_o), | ||
| .iob_csrs_iob_ready_o (iob_ready_o) | ||
| iob_csrs_demo csrs_demo0 ( |
Copilot
AI
Jan 5, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The instance name 'csrs_demo0' is inconsistent with the module name 'iob_csrs_demo'. Consider using 'iob_csrs_demo0' or updating the module name to match the new naming convention.
| iob_csrs_demo csrs_demo0 ( | |
| iob_csrs_demo iob_csrs_demo0 ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current instance name is fine. Instance name does not need to contain exact module name.
SIMULATIONparameter to iob_system.Addresses user guide: orfaned sections iob-eth#97
Addresses Block diagram issues iob-eth#96
shortHash.texfile if it exists in Py2HWSW repository.Related to Unknown in title and page header iob-eth#98