Reset JTAG/DMI
authorAnton Blanchard <anton@linux.ibm.com>
Tue, 15 Dec 2020 03:27:26 +0000 (14:27 +1100)
committerAnton Blanchard <anton@ozlabs.org>
Tue, 15 Dec 2020 03:27:26 +0000 (14:27 +1100)
request is never initialized and we leak X state control signals to other
parts of the core (eg dmi_wr). Add a reset.

Signed-off-by: Anton Blanchard <anton@linux.ibm.com>
dmi_dtm_xilinx.vhdl

index ed92e959a27d066bb7a8fef6bc16f004f884cf0f..69d8996073c09795ee096e96fb7a8466dc512828 100644 (file)
@@ -222,11 +222,12 @@ begin
     -- jtag_req latch. Could be split into 3 processes but it's probably
     -- not worthwhile.
     --
-    shifter: process(jtag_clk, jtag_reset)
+    shifter: process(jtag_clk, jtag_reset, sys_reset)
     begin
-       if jtag_reset = '1' then
+       if jtag_reset = '1' or sys_reset = '1' then
            shiftr <= (others => '0');
            jtag_req <= '0';
+           request <= (others => '0');
        elsif rising_edge(jtag_clk) then
 
            -- Handle jtag "commands" when sel is 1