From 44a71e6575b52ccf6687e11b05847cb43bd22599 Mon Sep 17 00:00:00 2001 From: Simone Manoni Date: Tue, 3 Feb 2026 23:14:50 +0100 Subject: [PATCH 1/5] Bump tech_cells_generic with tc_sram.sv update for unsynth issue fix. Update CI fatal grep. --- .gitlab-ci.yml | 4 ++-- .gitmodules | 2 +- hw/ips/tech_cells_generic | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a98a42b..8bb272b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -73,8 +73,8 @@ spyglass: stage: lint script: - make cp-sg-lint - - (! grep -n "Fatal" util/lint/spyglass/sg_projects/pms/pms_top/Design_Read/spyglass_reports/moresimple.rpt) - - (! grep -n "Fatal" util/lint/spyglass/sg_projects/pms/pms_top/lint/lint_rtl/spyglass_reports/moresimple.rpt) + - (! grep -n "FATAL" util/lint/spyglass/sg_projects/pms/pms_top/Design_Read/spyglass_reports/moresimple.rpt) + - (! grep -n "FATAL" util/lint/spyglass/sg_projects/pms/pms_top/lint/lint_rtl/spyglass_reports/moresimple.rpt) artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA" diff --git a/.gitmodules b/.gitmodules index e9adccc..0742a31 100644 --- a/.gitmodules +++ b/.gitmodules @@ -96,7 +96,7 @@ url = https://github.com/pulp-platform/scm.git [submodule "hw/ips/tech_cells_generic"] path = hw/ips/tech_cells_generic - url = https://github.com/pulp-platform/tech_cells_generic.git + url = git@github.com:pulp-platform/tech_cells_generic.git [submodule "hw/ips/timer_unit"] path = hw/ips/timer_unit url = https://github.com/pulp-platform/timer_unit.git diff --git a/hw/ips/tech_cells_generic b/hw/ips/tech_cells_generic index a9cae21..68fcc5e 160000 --- a/hw/ips/tech_cells_generic +++ b/hw/ips/tech_cells_generic @@ -1 +1 @@ -Subproject commit a9cae21902e75b1434328ecf36f85327ba5717de +Subproject commit 68fcc5e76cc5ce39b1225c3f001c326dbd6adbff From c035e8e2e02c9250a4bd150255eb5c4b114191e1 Mon Sep 17 00:00:00 2001 From: Simone Manoni Date: Thu, 5 Feb 2026 02:17:53 +0100 Subject: [PATCH 2/5] Disable SIM_STDOUT by top-level param --- hw/pulp/pms_top.sv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/pulp/pms_top.sv b/hw/pulp/pms_top.sv index 46a0246..e0c3895 100644 --- a/hw/pulp/pms_top.sv +++ b/hw/pulp/pms_top.sv @@ -29,7 +29,7 @@ module pms_top import pms_top_pkg::*; #( parameter int unsigned CORE_TYPE = 0, // 0 for CV32E40P (other options are not supported) parameter int unsigned USE_FPU = 1, parameter int unsigned PULP_XPULP = 1, - parameter int unsigned SIM_STDOUT = 1, + parameter int unsigned SIM_STDOUT = 0, parameter int unsigned BEHAV_MEM = 1, parameter int unsigned MACRO_ROM = 0, parameter int unsigned USE_CLUSTER = 1, From 8aebaab86704ead3980a398236997d7fd3897b23 Mon Sep 17 00:00:00 2001 From: Simone Manoni Date: Thu, 5 Feb 2026 18:09:38 +0100 Subject: [PATCH 3/5] Bump tech_cells_generic --- hw/ips/tech_cells_generic | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ips/tech_cells_generic b/hw/ips/tech_cells_generic index 68fcc5e..425a2a0 160000 --- a/hw/ips/tech_cells_generic +++ b/hw/ips/tech_cells_generic @@ -1 +1 @@ -Subproject commit 68fcc5e76cc5ce39b1225c3f001c326dbd6adbff +Subproject commit 425a2a04c7e2e6c4c3da6a6f1f6e1efe07cb1bc5 From 94e8be4bab67ded64825c10d5f8dea2152196cb6 Mon Sep 17 00:00:00 2001 From: Simone Manoni Date: Thu, 5 Feb 2026 18:10:59 +0100 Subject: [PATCH 4/5] Update lint script to waive empty modules def --- Bender.yml | 18 ++---------------- util/lint/spyglass/run_sg_lint.tcl | 8 +++----- 2 files changed, 5 insertions(+), 21 deletions(-) diff --git a/Bender.yml b/Bender.yml index 8232348..16dbbf4 100644 --- a/Bender.yml +++ b/Bender.yml @@ -26,6 +26,7 @@ package: - "Gianmarco Ottavi " - "Manuel Eggimann " - "Luca Valente " + - "Simone Manoni " dependencies: control_pulp_pkg: { path: "hw/pkg" } @@ -71,21 +72,6 @@ sources: - hw/pulp/control_pulp.sv - hw/pulp/control_pulp_fpga.sv - - target: all(lint_pms) - files: - - hw/ips/tech_cells_generic/src/rtl/tc_sram.sv - - hw/ips/tech_cells_generic/src/rtl/tc_sram_impl.sv - - hw/ips/tech_cells_generic/src/rtl/tc_clk.sv - - hw/ips/tech_cells_generic/src/deprecated/cluster_pwr_cells.sv - - hw/ips/tech_cells_generic/src/deprecated/generic_memory.sv - - hw/ips/tech_cells_generic/src/deprecated/generic_rom.sv - - hw/ips/tech_cells_generic/src/deprecated/pad_functional.sv - - hw/ips/tech_cells_generic/src/deprecated/pulp_buffer.sv - - hw/ips/tech_cells_generic/src/deprecated/pulp_pwr_cells.sv - - hw/ips/tech_cells_generic/src/deprecated/pulp_clock_gating_async.sv - - hw/ips/tech_cells_generic/src/deprecated/cluster_clk_cells.sv - - hw/ips/tech_cells_generic/src/deprecated/pulp_clk_cells.sv - # TB sources - target: any(test,simulation) files: @@ -148,7 +134,7 @@ sources: - tb/vip/i2c_eeprom/24FC1025.v # tech (gf22) - - target: all(gf22, not(lint_pms)) + - target: all(gf22) files: - nonfree/synth/gf22/sourcecode/tech_cells_gf22/pulp_power_gating.sv - nonfree/synth/gf22/sourcecode/tech_cells_gf22/cluster_clock_inverter.sv diff --git a/util/lint/spyglass/run_sg_lint.tcl b/util/lint/spyglass/run_sg_lint.tcl index 6175f9f..682ec87 100644 --- a/util/lint/spyglass/run_sg_lint.tcl +++ b/util/lint/spyglass/run_sg_lint.tcl @@ -11,11 +11,6 @@ set TIMESTAMP [exec date +%Y%m%d_%H%M%S] new_project sg_projects/${PROJECT}_${TIMESTAMP} current_methodology $env(SPYGLASS_HOME)/GuideWare/latest/block/rtl_handoff -# Ignore re-defined files -#foreach file $IgnoredFiles { -# set_option ignorefile $file -#} - # Read the RTL read_file -type sourcelist cp_sg.f @@ -29,6 +24,9 @@ set_option designread_disable_flatten no set_option mthresh 32768 set_option top pms_top +# Waive empty module warnings +waive -rule "WarnAnalyzeBBox" + # Link Design current_design pms_top compile_design From d80a75ff6b4cadce94bce4c62d92986df63a0878 Mon Sep 17 00:00:00 2001 From: Simone Manoni Date: Thu, 12 Feb 2026 21:04:38 +0100 Subject: [PATCH 5/5] Connect testmode_i of axi_to_reg instance inside axi_scmi_mailbox --- hw/ips/axi_scmi_mailbox/rtl/axi_scmi_mailbox.sv | 4 +++- hw/pulp/control_pulp_fpga.sv | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/ips/axi_scmi_mailbox/rtl/axi_scmi_mailbox.sv b/hw/ips/axi_scmi_mailbox/rtl/axi_scmi_mailbox.sv index 305e157..b797038 100644 --- a/hw/ips/axi_scmi_mailbox/rtl/axi_scmi_mailbox.sv +++ b/hw/ips/axi_scmi_mailbox/rtl/axi_scmi_mailbox.sv @@ -32,6 +32,8 @@ module axi_scmi_mailbox input logic clk_i, // Clock input logic rst_ni, // Asynchronous reset active low + input logic testmode_i, // Test mode (for scan) + input axi_req_t axi_mbox_req, output axi_resp_t axi_mbox_rsp, @@ -258,7 +260,7 @@ module axi_scmi_mailbox ) u_axi2reg_intf ( .clk_i, .rst_ni, - .testmode_i(1'b0), + .testmode_i(testmode_i), .axi_req_i(axi32_mbox_req), .axi_rsp_o(axi32_mbox_rsp), .reg_req_o(reg_req), diff --git a/hw/pulp/control_pulp_fpga.sv b/hw/pulp/control_pulp_fpga.sv index fb0e0c8..ff300be 100644 --- a/hw/pulp/control_pulp_fpga.sv +++ b/hw/pulp/control_pulp_fpga.sv @@ -635,7 +635,7 @@ module control_pulp_fpga import pms_top_pkg::*; #( .rst_ni (rst_ni ), .axi_mbox_req (to_mailbox_req ), .axi_mbox_rsp (to_mailbox_resp), - + .testmode_i (1'b0 ), .irq_completion_o (/*TODO*/), // completion irq platform->agent .irq_doorbell_o ({mbox_irq, scp_secure_irq, scp_irq, scg_irq}) // doorbell irq agent->platform );