From c1f7ab3b91f75ec3bca5fc50f2167d11b2da4d11 Mon Sep 17 00:00:00 2001 From: Alberto Dequino Date: Fri, 6 Feb 2026 15:19:42 +0100 Subject: [PATCH 1/2] Fixed broken single-tile hello world test --- bender_profile.mk | 5 +++++ target/sim/src/mesh/magia_vip.sv | 4 ++++ target/sim/src/tile/magia_tile_vip.sv | 2 ++ 3 files changed, 11 insertions(+) diff --git a/bender_profile.mk b/bender_profile.mk index c95837b..693593b 100644 --- a/bender_profile.mk +++ b/bender_profile.mk @@ -17,6 +17,11 @@ profile_targs += -t rtl profile_targs += -t test profile_targs += -t idma_test + +ifeq ($(mesh_dv), 0) + profile_targs += -t standalone_tile +endif + profile_targs += -t magia_tile_test profile_targs += -t magia_dv diff --git a/target/sim/src/mesh/magia_vip.sv b/target/sim/src/mesh/magia_vip.sv index e4c170a..5af90a6 100644 --- a/target/sim/src/mesh/magia_vip.sv +++ b/target/sim/src/mesh/magia_vip.sv @@ -136,6 +136,10 @@ module magia_vip bit eoc = 1'b0; int tile_cnt; int error = 0; + for (int i = 0; i < magia_tb_pkg::N_TILES; i++) begin + i_l2_mem.i_l2_mem.mem[32'hCCFF_0000 + 2*i] = 8'h00; + i_l2_mem.i_l2_mem.mem[32'hCCFF_0000 + 2*i+1] = 8'h00; + end do begin tile_cnt = 0; diff --git a/target/sim/src/tile/magia_tile_vip.sv b/target/sim/src/tile/magia_tile_vip.sv index 3b89bc2..5820a17 100644 --- a/target/sim/src/tile/magia_tile_vip.sv +++ b/target/sim/src/tile/magia_tile_vip.sv @@ -169,6 +169,8 @@ module magia_tile_vip endtask: elf_run task automatic wait_for_eoc(output bit[31:0] exit_code); + i_l2_mem.i_l2_mem.mem[32'hCCFF_0000] = 8'h00; + i_l2_mem.i_l2_mem.mem[32'hCCFF_0001] = 8'h00; while ({i_l2_mem.i_l2_mem.mem[32'hCCFF_0001][3]} == 0) #10000; if({i_l2_mem.i_l2_mem.mem[32'hCCFF_0001], i_l2_mem.i_l2_mem.mem[32'hCCFF_0000]} != 16'h800) From 2d6cea7f2c1e83ac6420807ca58a22e62e54d151 Mon Sep 17 00:00:00 2001 From: Alberto Dequino Date: Mon, 9 Feb 2026 15:10:12 +0100 Subject: [PATCH 2/2] Moved initialization of exit memory to init section of vips --- target/sim/src/mesh/magia_vip.sv | 8 ++++---- target/sim/src/tile/magia_tile_vip.sv | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/target/sim/src/mesh/magia_vip.sv b/target/sim/src/mesh/magia_vip.sv index 5af90a6..676f48c 100644 --- a/target/sim/src/mesh/magia_vip.sv +++ b/target/sim/src/mesh/magia_vip.sv @@ -124,6 +124,10 @@ module magia_vip irq[i] = '0; fetch_enable = 1'b0; boot_addr = entry_addr; + for (int i = 0; i < magia_tb_pkg::N_TILES; i++) begin + i_l2_mem.i_l2_mem.mem[32'hCCFF_0000 + 2*i] = 8'h00; + i_l2_mem.i_l2_mem.mem[32'hCCFF_0000 + 2*i+1] = 8'h00; + end #1000; endtask: init @@ -136,10 +140,6 @@ module magia_vip bit eoc = 1'b0; int tile_cnt; int error = 0; - for (int i = 0; i < magia_tb_pkg::N_TILES; i++) begin - i_l2_mem.i_l2_mem.mem[32'hCCFF_0000 + 2*i] = 8'h00; - i_l2_mem.i_l2_mem.mem[32'hCCFF_0000 + 2*i+1] = 8'h00; - end do begin tile_cnt = 0; diff --git a/target/sim/src/tile/magia_tile_vip.sv b/target/sim/src/tile/magia_tile_vip.sv index 5820a17..df43275 100644 --- a/target/sim/src/tile/magia_tile_vip.sv +++ b/target/sim/src/tile/magia_tile_vip.sv @@ -160,6 +160,8 @@ module magia_tile_vip irq = '0; fetch_enable = 1'b0; boot_addr = entry_addr; + i_l2_mem.i_l2_mem.mem[32'hCCFF_0000] = 8'h00; + i_l2_mem.i_l2_mem.mem[32'hCCFF_0001] = 8'h00; #1000; endtask: init @@ -169,8 +171,6 @@ module magia_tile_vip endtask: elf_run task automatic wait_for_eoc(output bit[31:0] exit_code); - i_l2_mem.i_l2_mem.mem[32'hCCFF_0000] = 8'h00; - i_l2_mem.i_l2_mem.mem[32'hCCFF_0001] = 8'h00; while ({i_l2_mem.i_l2_mem.mem[32'hCCFF_0001][3]} == 0) #10000; if({i_l2_mem.i_l2_mem.mem[32'hCCFF_0001], i_l2_mem.i_l2_mem.mem[32'hCCFF_0000]} != 16'h800)