Skip to content

Conversation

@arturum1
Copy link
Contributor

@arturum1 arturum1 commented Jan 4, 2026

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'.
@jjts jjts requested review from P-Miranda and Copilot January 5, 2026 11:12
Copy link
Contributor

Copilot AI left a 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 (
Copy link

Copilot AI Jan 5, 2026

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.

Suggested change
iob_csrs_demo csrs_demo0 (
iob_csrs_demo iob_csrs_demo0 (

Copilot uses AI. Check for mistakes.
Copy link
Contributor

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.

@jjts jjts merged commit 391d430 into IObundle:main Jan 5, 2026
7 of 8 checks passed
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