dmi: Add ASYNC_REG attribute on synchronizers (#200)
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Fri, 12 Jun 2020 22:44:43 +0000 (08:44 +1000)
committerGitHub <noreply@github.com>
Fri, 12 Jun 2020 22:44:43 +0000 (08:44 +1000)
This tells Vivado to keep them close among other things

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
dmi_dtm_xilinx.vhdl

index 6e47c569876c09ac84e0bad421eda422175a6754..ed92e959a27d066bb7a8fef6bc16f004f884cf0f 100644 (file)
@@ -127,6 +127,11 @@ architecture behaviour of dmi_dtm is
     constant DMI_RSP_OK  : std_ulogic_vector(1 downto 0) := "00";
     constant DMI_RSP_BSY : std_ulogic_vector(1 downto 0) := "11";
 
+    attribute ASYNC_REG : string;
+    attribute ASYNC_REG of jtag_req_0: signal is "TRUE";
+    attribute ASYNC_REG of jtag_req_1: signal is "TRUE";
+    attribute ASYNC_REG of dmi_ack_0: signal is "TRUE";
+    attribute ASYNC_REG of dmi_ack_1: signal is "TRUE";
 begin
 
     -- Implement the Xilinx bscan2 for series 7 devices (TODO: use PoC to
@@ -161,7 +166,6 @@ begin
            O => jtag_clk
            );
 
-
     -- dmi_req synchronization
     dmi_req_sync : process(sys_clk)
     begin