Simplify AIE Dtrace CT file generation for bandwidth metrics#40
Merged
jvillarre merged 4 commits intoXilinx:masterfrom Apr 16, 2026
Merged
Conversation
This change simplifies the CT file generation for bandwidth monitoring: - Add self-contained CT generation that configures hardware directly via write_reg commands in the begin block (stream switch ports and perf counters) - Remove dependency on setMetricsSettings() - return early after nop.elf - Fix VE2 shim tile DMA port mappings: - S2MM ch0: master South1, port index 3 - S2MM ch1: master South3, port index 5 - MM2S ch0: slave South3, port index 5 - MM2S ch1: slave South7, port index 9 - Fix performance counter control register addresses: - Performance_Ctrl0 at 0x00031000 for counters 0,1 - Performance_Ctrl2 at 0x0003100C for counters 2,3 - Fix PORT_RUNNING event numbers for aie2ps shim tiles: - Port_Running_0 = 134 (0x86) - Port_Running_1 = 138 (0x8A) - Port_Running_2 = 142 (0x8E) - Port_Running_3 = 146 (0x92) - Use relative column indices for hardware configuration - Generate per-UC grouped counter metadata (compatible with vaianalyze) - Remove inline comments from write_reg/read_reg actions Post-processing filters bandwidth data by metric type: - read_bandwidth: S2MM counters (0, 1) - write_bandwidth: MM2S counters (2, 3) - ddr_bandwidth: all 4 counters Made-with: Cursor
Add write_reg commands to reset performance counters 0-3 to zero before configuring the counter control registers. This ensures counters start from a known state for accurate bandwidth measurement. Counter addresses (aie2ps_pl_module): - Performance_Counter0: 0x00031020 - Performance_Counter1: 0x00031024 - Performance_Counter2: 0x00031028 - Performance_Counter3: 0x0003102C Made-with: Cursor
garimadhaked
approved these changes
Apr 14, 2026
Improve code readability by using more descriptive variable names: - asmFiles -> asmFileInfoList - asmFile -> asmFileInfo The struct ASMFileInfo name remains unchanged. Made-with: Cursor
CT file handles all hardware configuration via write_reg commands in the begin block. No need to submit nop.elf or call setMetricsSettings in updateDevice. The original code is preserved for potential fallback flow in the future. Made-with: Cursor
jvillarre
approved these changes
Apr 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change simplifies the CT file generation for bandwidth monitoring:
Post-processing filters bandwidth data by metric type:
Made-with: Cursor