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

Remove firmware dependency on generated_bank_to_noc_coord_mapping.h #15070

Draft
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

spoojaryTT
Copy link
Contributor

@spoojaryTT spoojaryTT commented Nov 14, 2024

Ticket

12844

Problem description

Firmware build is dependent on runtime values.

What's changed

Firmware now declares a global array for dram_bank_to_noc_xy, l1_bank_to_noc_xy, bank_to_dram_offset, bank_to_l1_offset. During build, values are written to L1 memory. Firmware during initialization would copy these values from L1 to the above global arrays.

Checklist

  • Post commit CI passes (waiting for the hung machines to be fixed)
  • Blackhole Post commit (if applicable)
  • Model regression CI testing passes (if applicable)
  • Device performance regression CI testing passes (if applicable)
  • New/Existing tests provide coverage for changes

Copy link
Contributor

@pgkeller pgkeller left a comment

Choose a reason for hiding this comment

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

minor

tt_metal/hw/firmware/src/brisc.cc Outdated Show resolved Hide resolved
tt_metal/impl/device/device.cpp Outdated Show resolved Hide resolved
Move the global arrays from generated_bank_to_noc_coord_mapping.h to
brisc.cc and ncrisc.cc
For Kernel, this global arrays are declared as extern in dataflow_api.h
Allocate space in L1 for the host to copy array data during build.
Firmware would then copy this data to the global array during init.
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