From de49ebb80d1e2ef8283818332a0ac6bf5d70440d Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 12 May 2024 13:28:53 -0600 Subject: platform/wavelet3d: implement JTAG TAP bridge in simulation --- platform/wavelet3d/w3d_top.sv | 103 ++++-------------------------------------- 1 file changed, 8 insertions(+), 95 deletions(-) (limited to 'platform/wavelet3d/w3d_top.sv') diff --git a/platform/wavelet3d/w3d_top.sv b/platform/wavelet3d/w3d_top.sv index 0875ba2..2b24ec4 100644 --- a/platform/wavelet3d/w3d_top.sv +++ b/platform/wavelet3d/w3d_top.sv @@ -1,92 +1,25 @@ module w3d_top -import gfx::*; ( input logic clk, rst_n, - input word a[SHADER_LANES], - b[SHADER_LANES], - input logic in_valid, - setup_mul_float, - setup_unit_b, - mnorm_put_hi, - mnorm_put_lo, - mnorm_put_mul, - mnorm_zero_b, - mnorm_zero_flags, - minmax_abs, - minmax_swap, - minmax_zero_min, - minmax_copy_flags, - shiftr_int_signed, - addsub_copy_flags, - addsub_int_operand, - clz_force_nop, - shiftl_copy_flags, - round_copy_flags, - round_enable, - encode_enable, + input logic jtag_tck, + jtag_tms, + jtag_tdi, - output logic out_valid, - output word q[SHADER_LANES], - - input word geom_tdata, - input logic geom_tlast, - geom_tvalid, - output logic geom_tready, - - input logic raster_tready, - output logic raster_tlast, - raster_tvalid, - output word raster_tdata + output logic jtag_tdo ); - gfx_wb fpint_wb(); if_tap host_jtag(); if_axib dram(), host_dbus(), host_ibus(); if_axil external_io(), gfx_ctrl(); - if_pkts coverage(), geometry(); - gfx_regfile_io fpint_io(); logic srst_n; - assign q = fpint_wb.rx.lanes; - assign out_valid = fpint_wb.rx.valid; - - assign geometry.tx.tdata = geom_tdata; - assign geometry.tx.tlast = geom_tlast; - assign geometry.tx.tvalid = geom_tvalid; - assign geom_tready = geometry.tx.tready; - - assign raster_tdata = coverage.rx.tdata; - assign raster_tlast = coverage.rx.tlast; - assign raster_tvalid = coverage.rx.tvalid; - assign coverage.rx.tready = raster_tready; - - fpint_op op; - assign op.writeback = 1; - assign op.setup_mul_float = setup_mul_float; - assign op.setup_unit_b = setup_unit_b; - assign op.mnorm_put_hi = mnorm_put_hi; - assign op.mnorm_put_lo = mnorm_put_lo; - assign op.mnorm_put_mul = mnorm_put_mul; - assign op.mnorm_zero_b = mnorm_zero_b; - assign op.mnorm_zero_flags = mnorm_zero_flags; - assign op.minmax_abs = minmax_abs; - assign op.minmax_swap = minmax_swap; - assign op.minmax_zero_min = minmax_zero_min; - assign op.minmax_copy_flags = minmax_copy_flags; - assign op.shiftr_int_signed = shiftr_int_signed; - assign op.addsub_copy_flags = addsub_copy_flags; - assign op.addsub_int_operand = addsub_int_operand; - assign op.clz_force_nop = clz_force_nop; - assign op.shiftl_copy_flags = shiftl_copy_flags; - assign op.round_copy_flags = round_copy_flags; - assign op.round_enable = round_enable; - assign op.encode_enable = encode_enable; - - assign fpint_io.regs.a = a; - assign fpint_io.regs.b = b; + assign jtag_tdo = host_jtag.m.tdo; + assign host_jtag.m.tck = jtag_tck; + assign host_jtag.m.tms = jtag_tms; + assign host_jtag.m.tdi = jtag_tdi; if_rst_sync rst_sync ( @@ -95,26 +28,6 @@ import gfx::*; .srst_n ); - gfx_shader_fpint fpint - ( - .clk, - .rst_n, - .op, - .wb(fpint_wb.tx), - .wave(), - .abort(0), - .in_valid, - .read_data(fpint_io.ab) - ); - - gfx_raster raster - ( - .clk, - .rst_n, - .geometry(geometry.rx), - .coverage(coverage.tx) - ); - gfx_top gfx ( .clk, -- cgit v1.2.3