applet.interface.jtag_xvc: new applet.
by
whitequark
13 hours 42 min
cli: remove redundant warning.
This is a leftover from a previous commit that made this warning
the responsibility of the applet class.
by
whitequark
16 hours 47 min
manual: reorder applet sub-indices.
by
whitequark
18 hours 35 min
software: update firmware.
by
whitequark
22 hours 58 min
firmware: reset FPGA side FIFOs automatically (-61 bytes XRAM).
This commit ties together several changes that align the way FIFOs work
with the new API with the way the firmware treats FIFOs. With new API,
applets can request up to 4 independent pipes: two OUT and two IN.
There is no inherent ties between any of the pipes, in particular they
are not paired as IN+OUT.
Until this commit, the gateware would pair pipes into interfaces: one
IN+OUT pair per interface. After this commit, each endpoint gets its
own interface, independent from all others. Moreover, the firmware is
now aware of a pipe reset register in the FPGA, and will reset a pipe
in response to the standard Set Interface command. This command would
already clear buffers in the FX2, and for correctness it is necessary
to reset the complementary buffers in the FPGA too; until now this was
the responsibility of the host software, which made using the Glasgow
hardware with non-Glasgow software rather annoying. (Even while it is
not supported, we don't want to make it painful.)
Until this commit, the hardware assembly would create a global reset
register, and apply `ResetInserter` to every added submodule. This was
not robust: due to Amaranth issues, it is less reliable than adding
a clock domain per applet (`ResetValue()` only looks at the domain
reset, not any added reset), and it made it impossible to a single
applet individually in a multiple applet configuration. After this
commit, an applet is reset whenever *any* of the pipes connected to it
are reset. (Also, pipes gain a `reset()` method.) While a bit limited,
this approach avoids needing to introduce applet resets explicitly, at
least for most applets which are controlled via a pipe.
The approach of offering two configurations (one with four EPs and one
with two EPs) is unchanged, with all of its upsides and downsides.
by
whitequark
23 hours 43 min
cli: eliminate noise on Ctrl+C.
This try..except* block forgotten in an earlier commit.
by
whitequark
21 hours 43 min
gateware.cobs: don't lose NUL bytes writing end marker into full FIFO.
Discovered-by: @attie
by
whitequark
1 day 4 hours
- 1 of 100
- ››