software: update `pdm.min.lock`.
by whitequark 3 weeks 3 days
8210ba69
applet.control.mdio: new applet.
by whitequark 3 weeks 5 days
0fa6a0cb
applet: fix style of error message. NFC
by whitequark 3 weeks 4 days
5f70e774
manual/intro: feature GPIO applet.
by whitequark 3 weeks 5 days
f180457d
gateware.iostream: remove in favor of new `IOStrea...
by whitequark 3 weeks 5 days
gateware.iostream: remove in favor of new `IOStreamer`.
7035846c
gateware.qspi: migrate to new `IOStreamer`.
by whitequark 3 weeks 5 days
140d97b2
gateware.jtag.probe: migrate to new `IOStreamer`.
by whitequark 3 weeks 6 days
dce8d9d0
applet.interface.jtag_xvc: migrate to new `IOStrea...
by whitequark 3 weeks 6 days
applet.interface.jtag_xvc: migrate to new `IOStreamer`.
13d07802
gateware.swd: use DDR buffers to double fSWCLK_max...
by whitequark 3 weeks 6 days
gateware.swd: use DDR buffers to double fSWCLK_max.

This commit combines several changes:
* Migrating to new IOStreamer.
* Changing tests to have simulated DUT setup/sample on the correct
edge (setup on rising, sample on falling).
* Changing enframer to double timer resolution and upper frequency
range.
* Changing enframer/deframer to allow for varying the sampling point.
* Moving the sampling point to right before DUT setup point, to
maximize timing budget.
* Updating `probe-rs` applet protocol to accommodate the change in
divisor semantics.

Co-authored-by: Wanda <wanda@phinode.net>
10d3d980
gateware.iostream2: redesign `IOStreamer`.
by whitequark 3 weeks 6 days
gateware.iostream2: redesign `IOStreamer`.

The new design is significantly simpler and easier to understand. It
changes the following:
* There is no `i_en` anymore; the metadata must contain enough
information to determine whether the sample contains useful input.
As a result, there is a 1:1 correspondence between input and output
frames.
* There is no `IOClocker`; the enframer handles clocking. This is
slightly more verbose to implement, but much easier to understand.
* For SDR interfaces, it is expected that the enframer would produce
DDR frames, allowing fIO=fSYS; if such an enframer must be used
with SDR buffers, an IO stream specific downconverter must be used.
* Offset sampling (in half cycle resolution, for DDR) is implemented.

Co-authored-by: Wanda <wanda@phinode.net>
b5209c7c
Report a bug