Skip to content

Update RedMulE to recent, memory-mapped (SystemRDL) based version#46

Open
FrancescoConti wants to merge 19 commits intomainfrom
fc/redmule-update
Open

Update RedMulE to recent, memory-mapped (SystemRDL) based version#46
FrancescoConti wants to merge 19 commits intomainfrom
fc/redmule-update

Conversation

@FrancescoConti
Copy link
Member

@FrancescoConti FrancescoConti commented Feb 11, 2026

This pull request aims at integrating the latest version of RedMulE (based on HCI v2.1) in MAGIA.
The PR also includes, by necessity, an update of the HCI infrastructure in MAGIA and a few quality-of-life improvements (e.g., python3 support on UNIBO machines).

To-do before merging:

  • correctly build in QuestaSim
  • test functionality in basic RedMulE test (24x8x8)
  • test functionality in basic RedMulE test (96x64x64)
  • (optional) validate in more tests (MAGIA SDK)

@FrancescoConti FrancescoConti changed the title Fc/redmule update Update RedMulE to recent, memory-mapped (SystemRDL) based version Feb 11, 2026
@FrancescoConti
Copy link
Member Author

Integration test with new RedMulE works with a simple 24x8x8 job (same size as the accelerator itself). Subtiling is either broken, incorrectly used or something in between: to be checked.

@FrancescoConti
Copy link
Member Author

@belanoa the branch of RedMulE I targeted is based off ab/xif-1.0, which looks to me the most up-to-date public branch. Are there any known problems (or, better, known fixes!) to operations larger than 24x8x8? The test originally in the MAGIA test folder is a 96x64x64 and it does not work; I want to merge only after that is fixed.

Copy link

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 pull request integrates the latest version of RedMulE (based on HCI v2.1) into MAGIA, bringing significant infrastructure updates to support memory-mapped SystemRDL-based configuration. The changes span hardware integration, software APIs, and build system improvements.

Changes:

  • Updates RedMulE to a memory-mapped (SystemRDL) version with HCI v2.1 infrastructure
  • Adds new wrapper module (magia_redmule_wrap) to bridge between struct-based and interface-based ports
  • Consolidates RedMulE configuration API by merging arithmetic configuration into the main config registers
  • Updates test matrix sizes to 24×8×8 for initial validation (96×64×64 testing still pending)
  • Improves Python3 compatibility for UNIBO machines and updates dependency versions

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
hw/tile/magia_tile_pkg.sv Updates HCI typedef macros to v2.1 with ECC/error handling parameters
hw/tile/magia_tile.sv Integrates new RedMulE wrapper and updates HCI interface declarations
hw/tile/magia_redmule_wrap.sv New wrapper module converting between struct/interface-based ports
hw/tile/l1_spm.sv Updates memory interface to use HCI v2.1 signals
hw/tile/converters/obi2hci.sv Updates OBI-to-HCI converter for new HCI fields
hw/tile/converters/hci2obi.sv Updates HCI-to-OBI converter with proper signal mapping
sw/utils/redmule_mm_utils.h Restructures API with new register layout and configuration functions
sw/tests/mm_tests/redmule_test_mm.c Updates test to use new API and smaller matrix sizes
sw/utils/x_input.h Reduces test input data to match smaller test matrices
sw/utils/w_input.h Reduces weight input data to match smaller test matrices
target/sim/src/tile/magia_tile_vip.sv Initializes specific memory locations for simulation
target/sim/src/mesh/magia_vip.sv Adds per-tile memory initialization in multi-tile setup
Makefile Improves Python3 support by making BASE_PYTHON configurable
Bender.yml Updates RedMulE, HCI, and HWPE-ctrl dependency versions
Bender.local Removes HCI override now that official version is used
bender_profile.mk Adds conditional standalone_tile target support

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

FrancescoConti and others added 7 commits February 20, 2026 01:08
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Since the new RedMulE defaults to a lower number of pipeline stages
(P=1 instead of P=3), the parametrization in this commit is arbitrarily
set to H=16 x W=24. This is not necessarily the best choice (a square
size seems more attractive), but it should be iso-throughput with the
previous one (to be checked).
Tests are reverted to previous status using 96x64x64 matrices.
@FrancescoConti
Copy link
Member Author

Failing CI jobs are magia-tile-sim-xif and magia-sim-xif as partially expected (this version of RedMulE does not work on the XIF as currently implemented in MAGIA). So the PR is now ready for review.

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