41 #define DTM_ADDR_WIDTH 6
42 #define DTM_IR_WIDTH 5
69 #if !defined(__SYNTHESIS__)
74 #if !defined(__SYNTHESIS__) && defined(SIMBUILD)
78 static const unsigned idcode = 0xdeadbeef;
81 jtag_dtm_t (
MDtm *dtm,
unsigned required_rti_cycles);
84 void set_pins (
bool tck,
bool tms,
bool tdi);
86 bool tdo ()
const {
return _tdo; }
94 unsigned required_rti_cycles;
95 bool _tck, _tms, _tdi, _tdo;
97 const unsigned ir_length = 5;
103 const unsigned abits = 6;
108 unsigned rti_remaining;
119 class MDtm : ::sc_core::sc_module {
137 SC_HAS_PROCESS (
MDtm);
141 sensitive <<
tck.pos ();
147 void Trace (sc_trace_file *
tf,
int levels = 1);
160 #ifndef __SYNTHESIS__
161 sc_uint<DTM_ADDR_WIDTH>
adr;
169 sc_signal<sc_uint<34 + DTM_ADDR_WIDTH> >
dmi,
dr;
172 sc_signal<sc_uint<DTM_IR_WIDTH> >
ir;
Helpers, Makros and performance measuring Classes used in most ParaNut files.
Definition: jtag_dtm.h:119
uint64_t * val_out
Definition: jtag_dtm.h:163
MDtm(sc_module_name name)
Definition: jtag_dtm.h:138
sc_in< bool > tdi
Definition: jtag_dtm.h:124
sc_signal< sc_uint< DTM_IR_WIDTH > > ir
Definition: jtag_dtm.h:172
sc_out< sc_uint< 32 > > dmi_dat_o
Definition: jtag_dtm.h:132
sc_signal< sc_uint< 4 > > state
Definition: jtag_dtm.h:171
bool dmi_write(TWord adr, TWord val)
bool dmi_rd_last[3]
Definition: jtag_dtm.h:165
void JTAGMethod()
Definition: jtag_dtm.cpp:379
sc_signal< sc_uint< 34+DTM_ADDR_WIDTH > > dr
Definition: jtag_dtm.h:169
bool write
Definition: jtag_dtm.h:164
void OutputMethod()
Definition: jtag_dtm.cpp:489
void Trace(sc_trace_file *tf, int levels=1)
Definition: jtag_dtm.cpp:352
bool read
Definition: jtag_dtm.h:165
sc_in< sc_uint< 32 > > dmi_dat_i
Definition: jtag_dtm.h:133
bool dmi_read(TWord adr, uint64_t *val)
sc_out< bool > dmi_rd
Definition: jtag_dtm.h:134
sc_in< bool > tck
Definition: jtag_dtm.h:122
sc_signal< bool > dmi_op
Definition: jtag_dtm.h:175
sc_uint< 32 > val
Definition: jtag_dtm.h:162
sc_in< bool > tms
Definition: jtag_dtm.h:123
sc_in< bool > reset
Definition: jtag_dtm.h:129
sc_uint< DTM_ADDR_WIDTH > adr
Definition: jtag_dtm.h:161
sc_out< sc_uint< DTM_ADDR_WIDTH > > dmi_adr
Definition: jtag_dtm.h:131
sc_out< bool > tdo
Definition: jtag_dtm.h:125
sc_signal< bool > dmi_length
Definition: jtag_dtm.h:173
sc_signal< sc_uint< 34+DTM_ADDR_WIDTH > > dmi
Definition: jtag_dtm.h:169
sc_out< bool > dmi_wr
Definition: jtag_dtm.h:134
sc_signal< bool > reset
Definition: dm_tb.cpp:54
unsigned TWord
Word type (32 Bit).
Definition: base.h:147
jtag_regs_t
Definition: jtag_dtm.h:63
@ DMI
Definition: jtag_dtm.h:66
@ IDCODE
Definition: jtag_dtm.h:64
@ DTMCS
Definition: jtag_dtm.h:65
jtag_state_t
Definition: jtag_dtm.h:44
@ EXIT2_DR
Definition: jtag_dtm.h:52
@ SELECT_DR_SCAN
Definition: jtag_dtm.h:47
@ TEST_LOGIC_RESET
Definition: jtag_dtm.h:45
@ UPDATE_DR
Definition: jtag_dtm.h:53
@ CAPTURE_DR
Definition: jtag_dtm.h:48
@ SHIFT_IR
Definition: jtag_dtm.h:56
@ PAUSE_DR
Definition: jtag_dtm.h:51
@ CAPTURE_IR
Definition: jtag_dtm.h:55
@ UPDATE_IR
Definition: jtag_dtm.h:60
@ SHIFT_DR
Definition: jtag_dtm.h:49
@ RUN_TEST_IDLE
Definition: jtag_dtm.h:46
@ SELECT_IR_SCAN
Definition: jtag_dtm.h:54
@ EXIT2_IR
Definition: jtag_dtm.h:59
@ EXIT1_DR
Definition: jtag_dtm.h:50
@ EXIT1_IR
Definition: jtag_dtm.h:57
@ PAUSE_IR
Definition: jtag_dtm.h:58
sc_signal< bool > tdi
Definition: jtag_dtm_tb.cpp:51
sc_signal< bool > tdo
Definition: jtag_dtm_tb.cpp:51
sc_signal< bool > tms
Definition: jtag_dtm_tb.cpp:51
sc_signal< bool > tck
Definition: jtag_dtm_tb.cpp:51
sc_trace_file * tf
Definition: tlb_tb.cpp:94