Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@yaozhicheng
Copy link
Member

Description

Support GSIM basic features

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Test NutShell Pass

Checklist:

  • My code follows the style guidelines of this project
  • I have added the appropriate labels
  • I have performed a self-review of my code

@yaozhicheng yaozhicheng requested review from Makiras and Copilot August 11, 2025 06:30
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 adds support for GSIM (a FIRRTL-based simulator) to the backend simulation framework, expanding beyond the existing Verilator and VCS support.

  • Adds GSIM as a new simulator option alongside existing Verilator/VCS support
  • Implements FIRRTL parsing capabilities for extracting module ports and signal information
  • Adds memory direct access support for GSIM with native signal addressing
  • Updates build system and templates to handle GSIM-specific compilation requirements

Reviewed Changes

Copilot reviewed 40 out of 42 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
src/picker.cpp Adds GSIM as supported simulator option and implements GSIM-specific parsing logic
src/parser/firrtl.cpp New FIRRTL parser for extracting circuit and port information from .fir files
src/parser/gsim_root.cpp New parser for GSIM-generated C++ header files to extract variable declarations
template/lib/dut_base.hpp Adds DutGSimBase class with GSIM-specific DUT interface
template/lib/dut_base.cpp Implements GSIM DUT functionality including step simulation and pin management
template/lib/cmake/gsim.cmake New CMake configuration for GSIM builds with GMP library linking
template/python/cmake/gsim.cmake Python binding CMake configuration for GSIM
template/mem_direct/ Updates memory direct access templates to support both Verilator and GSIM
example/GSim/NutShell/ Adds example GSIM usage with NutShell processor
Comments suppressed due to low confidence (1)

src/parser/gsim_root.cpp:36

  • Grammar error: 'type size not find' should be 'type size not found'.
            cpp_variableInfo var_info;

Makiras and others added 4 commits August 12, 2025 10:19
This regex pattern is extremely complex and hard to maintain. Consider breaking it down into smaller, more readable components or adding detailed comments explaining each part.

Co-authored-by: Copilot <[email protected]>
Copy link
Contributor

@Makiras Makiras left a comment

Choose a reason for hiding this comment

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

LGTM if test passed

@yaozhicheng yaozhicheng merged commit 0063b63 into master Aug 13, 2025
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.

2 participants