Skip to content

Commit a4f9696

Browse files
committed
Refactor everything around IOStreamer, and QSPIController
There is a slight change in behavior, because the "bypass" feature has been removed, CS clock pulses must now be at least 1 QPSI cycle long. `sample_delay_half_clocks` is now runtime-selectable. `max_sample_delay_half_clocks` is now a configuration option, for the IOStreamerTop to know how many resources to allocate. `min_divisor` is now a configuration option, that if set to > 0, allows IOStreamer to optimize away some uneeded resources. The bulk of the changes is about cutting up the functionality into smaller sub-components.
1 parent 0cd5632 commit a4f9696

File tree

5 files changed

+914
-310
lines changed

5 files changed

+914
-310
lines changed

software/glasgow/applet/interface/qspi_controller/__init__.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,10 @@ def elaborate(self, platform):
3232
m = Module()
3333

3434
m.submodules.qspi = qspi = QSPIController(self._ports, use_ddr_buffers=True,
35-
sample_delay_half_clocks = self._sample_delay_half_clocks)
35+
max_sample_delay_half_clocks=self._sample_delay_half_clocks,
36+
min_divisor=self._divisor)
3637
m.d.comb += qspi.divisor.eq(self._divisor)
38+
m.d.comb += qspi.sample_delay_half_clocks.eq(self._sample_delay_half_clocks)
3739

3840
o_fifo = self._out_fifo.stream
3941
i_fifo = self._in_fifo.stream

0 commit comments

Comments
 (0)