75106096f0ba9e49847b7314d643abb87521e628
1 from bsv
.peripheral_gen
.base
import PBase
7 return " import jtagtdm::*;\n"
9 def fastifdecl(self
, name
, count
):
12 (*always_ready,always_enabled*) method Action tms_i(Bit#(1) tms);
13 (*always_ready,always_enabled*) method Action tdi_i(Bit#(1) tdi);
14 (*always_ready,always_enabled*)
15 method Action bs_chain_i(Bit#(1) bs_chain);
16 (*always_ready,always_enabled*) method Bit#(1) shiftBscan2Edge;
17 (*always_ready,always_enabled*) method Bit#(1) selectJtagInput;
18 (*always_ready,always_enabled*) method Bit#(1) selectJtagOutput;
19 (*always_ready,always_enabled*) method Bit#(1) updateBscan;
20 (*always_ready,always_enabled*) method Bit#(1) bscan_in;
21 (*always_ready,always_enabled*) method Bit#(1) scan_shift_en;
22 (*always_ready,always_enabled*) method Bit#(1) tdo;
23 (*always_ready,always_enabled*) method Bit#(1) tdo_oe;
27 def mkfast_peripheral(self
):
29 Ifc_jtagdtm jtag{0} <-mkjtagdtm(clocked_by tck, reset_by trst);
30 rule drive_tmp_scan_outs;
31 jtag{0}.scan_out_1_i(1'b0);
32 jtag{0}.scan_out_2_i(1'b0);
33 jtag{0}.scan_out_3_i(1'b0);
34 jtag{0}.scan_out_4_i(1'b0);
35 jtag{0}.scan_out_5_i(1'b0);
38 def axi_slave_name(self
, name
, ifacenum
, typ
=''):
41 def axi_slave_idx(self
, idx
, name
, ifacenum
, typ
):
44 def axi_addr_map(self
, name
, ifacenum
):