projects
/
c4m-jtag.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
8416c08
)
if no wb stall assume single-cycle mode
author
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Thu, 8 Apr 2021 23:02:24 +0000
(
00:02
+0100)
committer
Staf Verhaegen
<staf@stafverhaegen.be>
Thu, 22 Apr 2021 14:19:14 +0000
(16:19 +0200)
c4m/nmigen/jtag/tap.py
patch
|
blob
|
history
diff --git
a/c4m/nmigen/jtag/tap.py
b/c4m/nmigen/jtag/tap.py
index e9961d94b56ab4ccd642311c4e0820098a91cfcf..b255e24357ad62f3e8f021d5f6cd3106d78893a8 100755
(executable)
--- a/
c4m/nmigen/jtag/tap.py
+++ b/
c4m/nmigen/jtag/tap.py
@@
-797,8
+797,17
@@
class TAP(Elaboratable):
m.d[domain] += wb.adr.eq(wb.adr + 1)
m.next = "READ"
m.d[domain] += wb.adr.eq(wb.adr + 1)
m.next = "READ"
+ if hasattr(wb, "stall"):
+ m.d.comb += wb.stb.eq(fsm.ongoing("READ") |
+ fsm.ongoing("WRITEREAD"))
+ else:
+ # non-stall is single-cycle (litex), must assert stb
+ # until ack is sent
+ m.d.comb += wb.stb.eq(fsm.ongoing("READ") |
+ fsm.ongoing("WRITEREAD") |
+ fsm.ongoing("READACK") |
+ fsm.ongoing("WRITEREADACK"))
m.d.comb += [
wb.cyc.eq(~fsm.ongoing("IDLE")),
m.d.comb += [
wb.cyc.eq(~fsm.ongoing("IDLE")),
- wb.stb.eq(fsm.ongoing("READ") | fsm.ongoing("WRITEREAD")),
wb.we.eq(fsm.ongoing("WRITEREAD")),
]
wb.we.eq(fsm.ongoing("WRITEREAD")),
]