Update pulp_riscv_dbg to pulp-platform/riscv-dbg@834853c
Update code from upstream repository https://github.com/pulp-
platform/riscv-dbg to revision
834853c0c68fc48d032a3e256e563f2b0bd28492
Signed-off-by: Michael Schaffner <msf@google.com>
diff --git a/hw/vendor/patches/pulp_riscv_dbg/0001-Style-lint-cleanup-to-make-Verible-lint-happy.patch b/hw/vendor/patches/pulp_riscv_dbg/0001-Style-lint-cleanup-to-make-Verible-lint-happy.patch
index 1c5668c..0d329ef 100644
--- a/hw/vendor/patches/pulp_riscv_dbg/0001-Style-lint-cleanup-to-make-Verible-lint-happy.patch
+++ b/hw/vendor/patches/pulp_riscv_dbg/0001-Style-lint-cleanup-to-make-Verible-lint-happy.patch
@@ -212,5 +212,5 @@
end
--
-2.27.0.389.gc38d7665816-goog
+2.28.0.rc0.105.gf9edc3c819-goog
diff --git a/hw/vendor/patches/pulp_riscv_dbg/0002-Use-lowrisc-instead-of-PULP-primitives.patch b/hw/vendor/patches/pulp_riscv_dbg/0002-Use-lowrisc-instead-of-PULP-primitives.patch
index 417058c..d959765 100644
--- a/hw/vendor/patches/pulp_riscv_dbg/0002-Use-lowrisc-instead-of-PULP-primitives.patch
+++ b/hw/vendor/patches/pulp_riscv_dbg/0002-Use-lowrisc-instead-of-PULP-primitives.patch
@@ -1,8 +1,9 @@
-From 570145de9ffca99595e2fee9fcfb433fee6c3610 Mon Sep 17 00:00:00 2001
+From 256422ad7df932c6f9934e65361cd963b8ac3bf0 Mon Sep 17 00:00:00 2001
From: Philipp Wagner <phw@lowrisc.org>
Date: Fri, 22 Feb 2019 14:48:46 +0000
Subject: [PATCH 2/2] Use lowrisc instead of PULP primitives
+Signed-off-by: Michael Schaffner <msf@google.com>
---
src/dm_csrs.sv | 42 +++++++++++++++-------------------
src/dmi_cdc.sv | 56 +++++++++++++++++++++++++++------------------
@@ -10,7 +11,7 @@
3 files changed, 60 insertions(+), 58 deletions(-)
diff --git a/src/dm_csrs.sv b/src/dm_csrs.sv
-index f131392..b7fc5e1 100644
+index f131392..0d88e79 100644
--- a/src/dm_csrs.sv
+++ b/src/dm_csrs.sv
@@ -78,6 +78,7 @@ module dm_csrs #(
@@ -24,16 +25,16 @@
@@ -85,10 +86,6 @@ module dm_csrs #(
dm::dtm_op_e dtm_op;
assign dtm_op = dm::dtm_op_e'(dmi_req_i.op);
-
+
- logic resp_queue_full;
- logic resp_queue_empty;
- logic resp_queue_push;
- logic resp_queue_pop;
logic [31:0] resp_queue_data;
-
+
localparam dm::dm_csr_e DataEnd = dm::dm_csr_e'(dm::Data0 + {4'b0, dm::DataCount} - 8'h1);
@@ -180,9 +177,6 @@ module dm_csrs #(
-
+
// a successful response returns zero
assign dmi_resp_o.resp = dm::DTM_SUCCESS;
- assign dmi_resp_valid_o = ~resp_queue_empty;
@@ -45,11 +46,11 @@
@@ -550,27 +544,27 @@ module dm_csrs #(
assign progbuf_o = progbuf_q;
assign data_o = data_q;
-
+
- assign resp_queue_pop = dmi_resp_ready_i & ~resp_queue_empty;
-
assign ndmreset_o = dmcontrol_q.ndmreset;
-
+
+ logic unused_testmode;
+ assign unused_testmode = testmode_i;
+
@@ -85,16 +86,16 @@
+ .rready_i( dmi_resp_ready_i ),
+ .depth_o ( ) // Doesn't use
);
-
+
always_ff @(posedge clk_i or negedge rst_ni) begin : p_regs
diff --git a/src/dmi_cdc.sv b/src/dmi_cdc.sv
-index 4665c91..1e4a6f3 100644
+index 4665c91..1299b09 100644
--- a/src/dmi_cdc.sv
+++ b/src/dmi_cdc.sv
@@ -42,32 +42,44 @@ module dmi_cdc (
input logic core_dmi_valid_i
);
-
+
- cdc_2phase #(.T(dm::dmi_req_t)) i_cdc_req (
- .src_rst_ni ( trst_ni ),
- .src_clk_i ( tck_i ),
@@ -102,7 +103,7 @@
- .src_valid_i ( jtag_dmi_valid_i ),
- .src_ready_o ( jtag_dmi_ready_o ),
+ // TODO: Make it clean for synthesis.
-
+
- .dst_rst_ni ( rst_ni ),
- .dst_clk_i ( clk_i ),
- .dst_data_o ( core_dmi_req_o ),
@@ -126,7 +127,7 @@
+ .rdata_o ( core_dmi_req_o ),
+ .rdepth_o ( )
);
-
+
- cdc_2phase #(.T(dm::dmi_resp_t)) i_cdc_resp (
- .src_rst_ni ( rst_ni ),
- .src_clk_i ( clk_i ),
@@ -143,7 +144,7 @@
+ .wready_o ( core_dmi_ready_o ), // wrclk
+ .wdata_i ( core_dmi_resp_i ),
+ .wdepth_o ( ),
-
+
- .dst_rst_ni ( trst_ni ),
- .dst_clk_i ( tck_i ),
- .dst_data_o ( jtag_dmi_resp_o ),
@@ -156,10 +157,10 @@
+ .rdata_o ( jtag_dmi_resp_o ),
+ .rdepth_o ( )
);
-
+
endmodule : dmi_cdc
diff --git a/src/dmi_jtag_tap.sv b/src/dmi_jtag_tap.sv
-index 3d11145..ca6b824 100644
+index 3d11145..94b51d6 100644
--- a/src/dmi_jtag_tap.sv
+++ b/src/dmi_jtag_tap.sv
@@ -216,18 +216,14 @@ module dmi_jtag_tap #(
@@ -180,15 +181,15 @@
- .clk_o ( tck_n )
+ logic tck_n;
+
-+ prim_clock_inverter #(
++ prim_clock_inv #(
+ .HasScanMode(1'b1)
+ ) i_tck_inv (
+ .clk_i ( tck_i ),
+ .clk_no ( tck_n ),
+ .scanmode_i ( testmode_i )
);
-
+
// TDO changes state at negative edge of TCK
---
-2.27.0.389.gc38d7665816-goog
+--
+2.28.0.rc0.105.gf9edc3c819-goog
diff --git a/hw/vendor/pulp_riscv_dbg/src/dmi_jtag_tap.sv b/hw/vendor/pulp_riscv_dbg/src/dmi_jtag_tap.sv
index ca6b824..94b51d6 100644
--- a/hw/vendor/pulp_riscv_dbg/src/dmi_jtag_tap.sv
+++ b/hw/vendor/pulp_riscv_dbg/src/dmi_jtag_tap.sv
@@ -218,7 +218,7 @@
// ----------------
logic tck_n;
- prim_clock_inverter #(
+ prim_clock_inv #(
.HasScanMode(1'b1)
) i_tck_inv (
.clk_i ( tck_i ),