[prim_mubi] Make sure waiver file is listed in core file

Signed-off-by: Michael Schaffner <msf@google.com>
diff --git a/hw/ip/prim/lint/prim_mubi.waiver b/hw/ip/prim/lint/prim_mubi.waiver
index 630bb2c..c7527fb 100644
--- a/hw/ip/prim/lint/prim_mubi.waiver
+++ b/hw/ip/prim/lint/prim_mubi.waiver
@@ -4,7 +4,7 @@
 #
 # waiver file for prim_mubi modules
 
-waive -rules SAME_NAME_TYPE -location {prim_mubi4_sync.sv} -regexp {'ResetValue' is used as an enumeration value here, and as a parameter at prim.*} \
+waive -rules {SAME_NAME_TYPE} -location {prim_mubi*.sv} -regexp {'ResetValue' is used as an enumeration value here, and as a parameter at prim.*} \
       -comment "Parameter name reuse"
 
 
diff --git a/hw/ip/prim/prim_mubi.core b/hw/ip/prim/prim_mubi.core
index 55014d7..f51e455 100644
--- a/hw/ip/prim/prim_mubi.core
+++ b/hw/ip/prim/prim_mubi.core
@@ -32,7 +32,41 @@
       - rtl/prim_mubi16_dec.sv
     file_type: systemVerilogSource
 
+  files_verilator_waiver:
+    depend:
+      # common waivers
+      - lowrisc:lint:common
+    files:
+    file_type: vlt
+
+  files_ascentlint_waiver:
+    depend:
+      # common waivers
+      - lowrisc:lint:common
+    files:
+      - lint/prim_mubi.waiver
+    file_type: waiver
+
+  files_veriblelint_waiver:
+    depend:
+      # common waivers
+      - lowrisc:lint:common
+
 targets:
-  default:
+  default: &default_target
     filesets:
+      - tool_verilator   ? (files_verilator_waiver)
+      - tool_ascentlint  ? (files_ascentlint_waiver)
+      - tool_veriblelint ? (files_veriblelint_waiver)
       - files_rtl
+
+  lint:
+    <<: *default_target
+    default_tool: verilator
+    parameters:
+      - SYNTHESIS=true
+    tools:
+      verilator:
+        mode: lint-only
+        verilator_options:
+          - "-Wall"
diff --git a/hw/ip/prim/rtl/prim_onehot_check.sv b/hw/ip/prim/rtl/prim_onehot_check.sv
index e2137a5..ccfb810 100644
--- a/hw/ip/prim/rtl/prim_onehot_check.sv
+++ b/hw/ip/prim/rtl/prim_onehot_check.sv
@@ -119,6 +119,8 @@
       `ASSERT(EnableCheck_A, !en_i && (|oh_i) |-> err_o)
     end
   end else begin : gen_no_enable_check
+    logic unused_or_tree;
+    assign unused_or_tree = or_tree[0];
     assign enable_err = 1'b0;
   end
 
@@ -127,6 +129,8 @@
     assign addr_err = or_tree[0] ^ and_tree[0];
     `ASSERT(AddrCheck_A, oh_i[addr_i] != (|oh_i) |-> err_o)
   end else begin : gen_no_addr_check_strict
+    logic unused_and_tree;
+    assign unused_and_tree = and_tree[0];
     assign addr_err = 1'b0;
   end
 
diff --git a/util/design/data/prim_mubi.core.tpl b/util/design/data/prim_mubi.core.tpl
index 56cda84..fe423e8 100644
--- a/util/design/data/prim_mubi.core.tpl
+++ b/util/design/data/prim_mubi.core.tpl
@@ -25,7 +25,41 @@
 % endfor
     file_type: systemVerilogSource
 
+  files_verilator_waiver:
+    depend:
+      # common waivers
+      - lowrisc:lint:common
+    files:
+    file_type: vlt
+
+  files_ascentlint_waiver:
+    depend:
+      # common waivers
+      - lowrisc:lint:common
+    files:
+      - lint/prim_mubi.waiver
+    file_type: waiver
+
+  files_veriblelint_waiver:
+    depend:
+      # common waivers
+      - lowrisc:lint:common
+
 targets:
-  default:
+  default: &default_target
     filesets:
+      - tool_verilator   ? (files_verilator_waiver)
+      - tool_ascentlint  ? (files_ascentlint_waiver)
+      - tool_veriblelint ? (files_veriblelint_waiver)
       - files_rtl
+
+  lint:
+    <<: *default_target
+    default_tool: verilator
+    parameters:
+      - SYNTHESIS=true
+    tools:
+      verilator:
+        mode: lint-only
+        verilator_options:
+          - "-Wall"