From 52d58fdee41cb30a2a8bd30e449158337220fd4d Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 11 Dec 2021 12:06:10 +0000 Subject: [PATCH] Add keep wires for debug port on bus compliance tb --- test/formal/bus_compliance_2port/tb.v | 134 ++++++++++++++++---------- 1 file changed, 82 insertions(+), 52 deletions(-) diff --git a/test/formal/bus_compliance_2port/tb.v b/test/formal/bus_compliance_2port/tb.v index 2addfff..3d9e21b 100644 --- a/test/formal/bus_compliance_2port/tb.v +++ b/test/formal/bus_compliance_2port/tb.v @@ -11,65 +11,95 @@ always @ (posedge clk) // ---------------------------------------------------------------------------- // DUT -(* keep *) wire [31:0] i_haddr; -(* keep *) wire i_hwrite; -(* keep *) wire [1:0] i_htrans; -(* keep *) wire [2:0] i_hsize; -(* keep *) wire [2:0] i_hburst; -(* keep *) wire [3:0] i_hprot; -(* keep *) wire i_hmastlock; -(* keep *) wire i_hready; -(* keep *) wire i_hresp; -(* keep *) wire [31:0] i_hwdata; -(* keep *) wire [31:0] i_hrdata; +(* keep *) wire [31:0] i_haddr; +(* keep *) wire i_hwrite; +(* keep *) wire [1:0] i_htrans; +(* keep *) wire [2:0] i_hsize; +(* keep *) wire [2:0] i_hburst; +(* keep *) wire [3:0] i_hprot; +(* keep *) wire i_hmastlock; +(* keep *) wire i_hready; +(* keep *) wire i_hresp; +(* keep *) wire [31:0] i_hwdata; +(* keep *) wire [31:0] i_hrdata; -(* keep *) wire [31:0] d_haddr; -(* keep *) wire d_hwrite; -(* keep *) wire [1:0] d_htrans; -(* keep *) wire [2:0] d_hsize; -(* keep *) wire [2:0] d_hburst; -(* keep *) wire [3:0] d_hprot; -(* keep *) wire d_hmastlock; -(* keep *) wire d_hexcl; -(* keep *) wire d_hready; -(* keep *) wire d_hresp; -(* keep *) wire d_hexokay; -(* keep *) wire [31:0] d_hwdata; -(* keep *) wire [31:0] d_hrdata; +(* keep *) wire [31:0] d_haddr; +(* keep *) wire d_hwrite; +(* keep *) wire [1:0] d_htrans; +(* keep *) wire [2:0] d_hsize; +(* keep *) wire [2:0] d_hburst; +(* keep *) wire [3:0] d_hprot; +(* keep *) wire d_hmastlock; +(* keep *) wire d_hexcl; +(* keep *) wire d_hready; +(* keep *) wire d_hresp; +(* keep *) wire d_hexokay; +(* keep *) wire [31:0] d_hwdata; +(* keep *) wire [31:0] d_hrdata; -(* keep *) reg [15:0] irq; +localparam W_DATA = 32; + +(* keep *) wire dbg_req_halt; +(* keep *) wire dbg_req_halt_on_reset; +(* keep *) wire dbg_req_resume; +(* keep *) wire dbg_halted; +(* keep *) wire dbg_running; +(* keep *) wire [W_DATA-1:0] dbg_data0_rdata; +(* keep *) wire [W_DATA-1:0] dbg_data0_wdata; +(* keep *) wire dbg_data0_wen; +(* keep *) wire [W_DATA-1:0] dbg_instr_data; +(* keep *) wire dbg_instr_data_vld; +(* keep *) wire dbg_instr_data_rdy; +(* keep *) wire dbg_instr_caught_exception; +(* keep *) wire dbg_instr_caught_ebreak; + +(* keep *) wire [15:0] irq; hazard3_cpu_2port dut ( - .clk (clk), - .rst_n (rst_n), + .clk (clk), + .rst_n (rst_n), - .i_haddr (i_haddr), - .i_hwrite (i_hwrite), - .i_htrans (i_htrans), - .i_hsize (i_hsize), - .i_hburst (i_hburst), - .i_hprot (i_hprot), - .i_hmastlock (i_hmastlock), - .i_hready (i_hready), - .i_hresp (i_hresp), - .i_hwdata (i_hwdata), - .i_hrdata (i_hrdata), + .i_haddr (i_haddr), + .i_hwrite (i_hwrite), + .i_htrans (i_htrans), + .i_hsize (i_hsize), + .i_hburst (i_hburst), + .i_hprot (i_hprot), + .i_hmastlock (i_hmastlock), + .i_hready (i_hready), + .i_hresp (i_hresp), + .i_hwdata (i_hwdata), + .i_hrdata (i_hrdata), - .d_haddr (d_haddr), - .d_hwrite (d_hwrite), - .d_htrans (d_htrans), - .d_hsize (d_hsize), - .d_hburst (d_hburst), - .d_hprot (d_hprot), - .d_hmastlock (d_hmastlock), - .d_hexcl (d_hexcl), - .d_hready (d_hready), - .d_hresp (d_hresp), - .d_hexokay (d_hexokay), - .d_hwdata (d_hwdata), - .d_hrdata (d_hrdata), + .d_haddr (d_haddr), + .d_hwrite (d_hwrite), + .d_htrans (d_htrans), + .d_hsize (d_hsize), + .d_hburst (d_hburst), + .d_hprot (d_hprot), + .d_hmastlock (d_hmastlock), + .d_hexcl (d_hexcl), + .d_hready (d_hready), + .d_hresp (d_hresp), + .d_hexokay (d_hexokay), + .d_hwdata (d_hwdata), + .d_hrdata (d_hrdata), - .irq (irq) + .dbg_req_halt (dbg_req_halt), + .dbg_req_halt_on_reset (dbg_req_halt_on_reset), + .dbg_req_resume (dbg_req_resume), + .dbg_halted (dbg_halted), + .dbg_running (dbg_running), + .dbg_data0_rdata (dbg_data0_rdata), + .dbg_data0_wdata (dbg_data0_wdata), + .dbg_data0_wen (dbg_data0_wen), + .dbg_instr_data (dbg_instr_data), + .dbg_instr_data_vld (dbg_instr_data_vld), + .dbg_instr_data_rdy (dbg_instr_data_rdy), + .dbg_instr_caught_exception (dbg_instr_caught_exception), + .dbg_instr_caught_ebreak (dbg_instr_caught_ebreak), + + .irq (irq) ); // ----------------------------------------------------------------------------