Skip to content

Commit 84e4f48

Browse files
committed
jtag: Decode bits once into integer and use that for the annotation
1 parent 49a8641 commit 84e4f48

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

decoders/jtag/pd.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,8 +188,9 @@ def handle_rising_tck_edge(self, pins):
188188
t = self.state.value[-2:] + ' TDI'
189189
self.bits_tdi.reverse()
190190
self.bits_samplenums_tdi.reverse()
191-
b = ''.join(map(str, self.bits_tdi[1:]))
192-
h = ' (0x%x' % int('0b0' + b, 2) + ')'
191+
bits_tdi_decoded = sum(bit << idx for idx, bit in enumerate(self.bits_tdi[1:][::-1]))
192+
b = bin(bits_tdi_decoded)[2:].rjust(len(self.bits_tdi[1:]), '0')
193+
h = ' (0x%x)' % bits_tdi_decoded
193194
s = t + ': ' + b + h + ', ' + str(len(self.bits_tdi[1:])) + ' bits'
194195
self.putx_bs([18, [s]])
195196
self.putp_bs([t, [b, self.bits_samplenums_tdi[1:]]])
@@ -199,8 +200,9 @@ def handle_rising_tck_edge(self, pins):
199200
t = self.state.value[-2:] + ' TDO'
200201
self.bits_tdo.reverse()
201202
self.bits_samplenums_tdo.reverse()
202-
b = ''.join(map(str, self.bits_tdo[1:]))
203-
h = ' (0x%x' % int('0b0' + b, 2) + ')'
203+
bits_tdo_decoded = sum(bit << idx for idx, bit in enumerate(self.bits_tdo[1:][::-1]))
204+
b = bin(bits_tdo_decoded)[2:].rjust(len(self.bits_tdo[1:]), '0')
205+
h = ' (0x%x)' % bits_tdo_decoded
204206
s = t + ': ' + b + h + ', ' + str(len(self.bits_tdo[1:])) + ' bits'
205207
self.putx_bs([19, [s]])
206208
self.putp_bs([t, [b, self.bits_samplenums_tdo[1:]]])

0 commit comments

Comments
 (0)