applet.memory.onfi: explicitly flush IN FIFO.
by whitequark 6 years 2 months
applet.memory.onfi: explicitly flush IN FIFO.

Improves throughput.
82b391bb
support.logging: dump_hex: show total bytes, not e...
by whitequark 6 years 2 months
support.logging: dump_hex: show total bytes, not elided bytes.

It's not actually clear how many bytes are shown, so printing how
many bytes are elided isn't helpful at all. Instead, print the total
count, which is handy e.g. to see if a complete packet was received.
79e038cb
revC1: add io port pinout to back silkscreen
by electronic_eel 6 years 2 months
revC1: add io port pinout to back silkscreen

Shortened version with just numbers, V instead of Vio, aligned numbers
f2202ca5
fx2_crossbar: explain how and why it works.
by whitequark 6 years 2 months
19d07e97
fx2.FX2Arbiter→fx2_crossbar.FX2Crossbar
by whitequark 6 years 2 months
fx2.FX2Arbiter→fx2_crossbar.FX2Crossbar

It's not so much an arbiter (there's only one bus master, the FPGA)
as a crossbar switch with an integrated control signal sequencer.
2520d9f4
applet.internal.benchmark: add a counter, for debu...
by whitequark 6 years 2 months
applet.internal.benchmark: add a counter, for debugging.

If the transfer hangs or errors out, the counter will show where
that happened.
ffbae8a1
gateware.registers: generalize to any bit width.
by whitequark 6 years 3 months
e54f2931
gateware.i2c: fix fencepost error in reads.
by whitequark 6 years 2 months
gateware.i2c: fix fencepost error in reads.

The ACK period would be interpreted as starting one bit time too
early, and SDA would be released. Not only that is a fencepost error,
but releasing SDA during the sample half-period is illegal; it would
be correctly detected as a stop condition, terminating trasnaction.

This commit reworks the read part of the FSM to only change SDA level
during setup half-period, and fixes the fencepost error.
6516cb8d
gateware.i2c: load new data after each byte is rea...
by whitequark 6 years 3 months
gateware.i2c: load new data after each byte is read.

Also, fix testbench to release SDA after writing a bit.
6e44cfb4
applet.audio.yamaha_opl: mark as broken.
by whitequark 6 years 3 months
applet.audio.yamaha_opl: mark as broken.

Looks like the changes in e59730fb disturbed a fragile balance
between coroutine scheduling and buffering in the hardware.
To fix this, the applet likely requires an explicit feedback path
between the playback and record coroutines, and/or further rework
of pipelining.
7c7ded1a
Report a bug