[top/dv] Insert weak pulls on JTAG signals

These weak pulls prevent a simulation issue where Xes leak through the
pinmux module and trigger unkown assertions in other modules (e.g. the
PLIC).

Signed-off-by: Michael Schaffner <msf@opentitan.org>
diff --git a/hw/top_earlgrey/dv/tb/tb.sv b/hw/top_earlgrey/dv/tb/tb.sv
index daa26cb..2d750b2 100644
--- a/hw/top_earlgrey/dv/tb/tb.sv
+++ b/hw/top_earlgrey/dv/tb/tb.sv
@@ -172,6 +172,15 @@
   );
 
   // connect signals
+  // TODO: Replace this weak pull to a known value with initialization
+  // in the agent/interface.
+  // Without these pulls, we may get Xes that propagate through the design
+  // (one example is the interference IRQ of the I2C that propagates into the PLIC).
+  assign (weak0, weak1) jtag_tck = 1'b0;
+  assign (weak0, weak1) jtag_tms = 1'b0;
+  assign (weak0, weak1) jtag_trst_n = 1'b0;
+  assign (weak0, weak1) jtag_tdi = 1'b0;
+  assign (weak0, weak1) jtag_tdo = 1'b0;
   assign jtag_tck         = jtag_if.tck;
   assign jtag_tms         = jtag_if.tms;
   assign jtag_trst_n      = jtag_if.trst_n;