From 0a9e24c7bdf91bdc039b5cf610551f2df1a9d717 Mon Sep 17 00:00:00 2001 From: Michael Ossmann Date: Tue, 23 Dec 2025 18:41:15 -0500 Subject: [PATCH] Revert "gateware: generic SGPIOInterface, simpler capture management, fix SB_MAC16 resamplers" --- firmware/fpga/board.py | 8 +- firmware/fpga/build/praline_fpga.bin | Bin 200284 -> 188430 bytes firmware/fpga/dsp/fir_mac16.py | 402 +++++++++++++------------- firmware/fpga/interface/__init__.py | 4 +- firmware/fpga/interface/max586x.py | 11 +- firmware/fpga/interface/sgpio.py | 204 ------------- firmware/fpga/requirements.txt | 1 - firmware/fpga/top/ext_precision_rx.py | 147 ++++++++-- firmware/fpga/top/ext_precision_tx.py | 154 ++++++++-- firmware/fpga/top/half_precision.py | 138 ++++++++- firmware/fpga/top/standard.py | 176 ++++++++++- firmware/fpga/util/__init__.py | 2 +- 12 files changed, 763 insertions(+), 484 deletions(-) delete mode 100644 firmware/fpga/interface/sgpio.py diff --git a/firmware/fpga/board.py b/firmware/fpga/board.py index fe610a54..9185f872 100644 --- a/firmware/fpga/board.py +++ b/firmware/fpga/board.py @@ -6,7 +6,7 @@ # SPDX-License-Identifier: BSD-3-Clause from amaranth import Elaboratable, Signal, Instance, Module, ClockDomain -from amaranth.build import Resource, Pins, PinsN, Clock, Attrs +from amaranth.build import Resource, Pins, Clock, Attrs from amaranth.vendor import LatticeICE40Platform from amaranth_boards.resources import SPIResource @@ -37,16 +37,14 @@ class PralinePlatform(LatticeICE40Platform): Attrs(IO_STANDARD="SB_LVCMOS")), Resource("host_data", 0, Pins("21 19 6 13 10 3 4 18", dir="io"), Attrs(IO_STANDARD="SB_LVCMOS")), + Resource("q_invert", 0, Pins("9", dir="i"), + Attrs(IO_STANDARD="SB_LVCMOS")), Resource("direction", 0, Pins("12", dir="i"), Attrs(IO_STANDARD="SB_LVCMOS")), Resource("disable", 0, Pins("23", dir="i"), Attrs(IO_STANDARD="SB_LVCMOS")), Resource("capture_en", 0, Pins("11", dir="o"), Attrs(IO_STANDARD="SB_LVCMOS")), - - # Other I/O. - Resource("q_invert", 0, Pins("9", dir="i"), - Attrs(IO_STANDARD="SB_LVCMOS")), Resource("trigger_in", 0, Pins("48", dir="i"), Attrs(IO_STANDARD="SB_LVCMOS")), Resource("trigger_out", 0, Pins("2", dir="o"), diff --git a/firmware/fpga/build/praline_fpga.bin b/firmware/fpga/build/praline_fpga.bin index 6a1a29ad44c483eafc9b67168cab289e7408bc88..8279693b82b678d796d00e600d8a8d2b5517db6a 100644 GIT binary patch literal 188430 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⩔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
iu3S& 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 diff --git a/firmware/fpga/dsp/fir_mac16.py b/firmware/fpga/dsp/fir_mac16.py index 9bb18c79..fea4824a 100644 --- a/firmware/fpga/dsp/fir_mac16.py +++ b/firmware/fpga/dsp/fir_mac16.py @@ -7,7 +7,7 @@ from math import ceil, log2 from amaranth import Module, Signal, Mux, DomainRenamer, ClockSignal, signed -from amaranth.lib import wiring, stream, data, memory, fifo +from amaranth.lib import wiring, stream, data, memory from amaranth.lib.wiring import In, Out from amaranth.utils import bits_for @@ -58,7 +58,7 @@ class HalfBandDecimatorMAC16(wiring.Component): if not self.input.signature.always_ready: m.d.comb += self.input.ready.eq(~odd | fir.input.ready) - m.d.comb += dly.output.ready.eq(fir.input.ready) + m.d.comb += dly.output.ready.eq(1) m.d.comb += [ dly.input.p.eq(self.input.p), @@ -126,52 +126,30 @@ class HalfBandInterpolatorMAC16(wiring.Component): taps = [ 2 * tap for tap in self.taps ] arm0_taps = taps[0::2] - arm1_taps = taps[1::2] - delay = arm1_taps.index(1) # Arms - m.submodules.fir = fir = FIRFilterMAC16(arm0_taps, shape=self.data_shape, shape_out=self.shape_out, overclock_rate=self.overclock_rate, always_ready=always_ready, num_channels=self.num_channels) - m.submodules.dly = dly = Delay(delay, shape=self.data_shape, always_ready=always_ready, num_channels=self.num_channels) - m.submodules.dly_fifo = dly_fifo = fifo.SyncFIFOBuffered(width=self.num_channels*self.data_shape.as_shape().width, depth=self.overclock_rate+1) - - m.d.comb += [ - dly_fifo.w_data.eq(dly.output.p), - dly_fifo.w_en.eq(dly.output.valid), - ] - if not dly.output.signature.always_ready: - m.d.comb += dly.output.ready.eq(dly_fifo.w_rdy) + m.submodules.fir = fir = FIRFilterMAC16(arm0_taps, shape=self.data_shape, shape_out=self.shape_out, overclock_rate=self.overclock_rate, always_ready=always_ready, num_channels=self.num_channels, delayed_port=True) - winchin_valid = Signal() - winchin_ready_0 = Signal() - winchin_ready = Signal() - m.d.comb += [ - winchin_valid.eq(self.input.valid), - winchin_ready.eq(self.input.ready), - winchin_ready_0.eq(fir.input.ready), - ] - - #busy = Signal() - #with m.If(fir.input.valid & fir.input.ready): - # m.d.sync += busy.eq(1) + busy = Signal() + with m.If(fir.input.valid & fir.input.ready): + m.d.sync += busy.eq(1) # Input m.d.comb += fir.input.payload.eq(self.input.payload) - m.d.comb += fir.input.valid.eq(self.input.valid & dly.input.ready) - m.d.comb += dly.input.payload.eq(self.input.payload) - m.d.comb += dly.input.valid.eq(self.input.valid & fir.input.ready) + m.d.comb += fir.input.valid.eq(self.input.valid & ~busy) if not self.input.signature.always_ready: - m.d.comb += self.input.ready.eq(fir.input.ready & dly.input.ready) + m.d.comb += self.input.ready.eq(fir.input.ready & ~busy) # Output # Arm index selection: switch after every delivered sample arm_index = Signal() - #delayed = Signal.like(fir.input_delayed) - #with m.If(fir.output.valid & fir.output.ready): - # m.d.sync += delayed.eq(fir.input_delayed) - r_data_cast = data.ArrayLayout(self.data_shape, self.num_channels)(dly_fifo.r_data) + delayed = Signal.like(fir.input_delayed) + with m.If(fir.output.valid & fir.output.ready): + m.d.sync += delayed.eq(fir.input_delayed) + with m.If(~self.output.valid | self.output.ready): with m.Switch(arm_index): @@ -185,11 +163,10 @@ class HalfBandInterpolatorMAC16(wiring.Component): m.d.sync += arm_index.eq(1) with m.Case(1): for c in range(self.num_channels): - m.d.sync += self.output.payload[c].eq(r_data_cast[c]) - m.d.sync += self.output.valid.eq(dly_fifo.r_rdy) - m.d.comb += dly_fifo.r_en.eq(1) - with m.If(dly_fifo.r_rdy): - m.d.sync += arm_index.eq(0) + m.d.sync += self.output.payload[c].eq(delayed[c]) + m.d.sync += self.output.valid.eq(1) + m.d.sync += arm_index.eq(0) + m.d.sync += busy.eq(0) if self._domain != "sync": m = DomainRenamer(self._domain)(m) @@ -231,12 +208,11 @@ class FIRFilterMAC16(wiring.Component): }) super().__init__(signature) - def taps_shape(self, taps=None): - taps = taps or self.taps - taps_as_ratios = [tap.as_integer_ratio() for tap in taps] + def taps_shape(self): + taps_as_ratios = [tap.as_integer_ratio() for tap in self.taps] f_width = bits_for(max(tap[1] for tap in taps_as_ratios)) - 1 i_width = max(0, bits_for(max(abs(tap[0]) for tap in taps_as_ratios)) - f_width) - return fixed.Shape(i_width, f_width, signed=any(tap < 0 for tap in taps)) + return fixed.Shape(i_width, f_width, signed=any(tap < 0 for tap in self.taps)) def compute_output_shape(self): taps_shape = self.taps_shape() @@ -253,105 +229,101 @@ class FIRFilterMAC16(wiring.Component): def elaborate(self, platform): m = Module() - # Build filter out of SerialMAC16 blocks. + # Build filter out of FIRFilterSerialMAC16 blocks. overclock_factor = self.overclock_rate - taps = self.taps + # Symmetric coefficients special case. + symmetric = (self.taps == self.taps[::-1]) + + # Even-symmetric case. (N=2*K) + # Odd-symmetric case. (N=2*K+1) + if symmetric: + taps = self.taps[:ceil(len(self.taps)/2)] + odd_symmetric = ((len(self.taps) % 2) == 1) + else: + taps = self.taps + + dsp_block_count = ceil(len(taps) / overclock_factor) + + + def pipe(signal, length): + name = signal.name if hasattr(signal, "name") else "signal" + pipe = [ signal ] + [ Signal.like(signal, name=f"{name}_q{i}") for i in range(length) ] + for i in range(length): + m.d.sync += pipe[i+1].eq(pipe[i]) + return pipe + if self.carry is not None: sum_carry_q = Signal.like(self.sum_carry) - - filters_ready = Signal() - window_valid = Signal() - input_ready = Signal() - m.d.comb += input_ready.eq(~window_valid | filters_ready) - if not self.input.signature.always_ready: - m.d.comb += self.input.ready.eq(input_ready) - - # Samples window. - window = [ Signal.like(self.input.p, name=f"window_{i}") for i in range(len(self.taps)) ] - - with m.If(input_ready): - m.d.sync += window_valid.eq(self.input.valid) - with m.If(self.input.valid): - m.d.sync += window[0].eq(self.input.p) - for i in range(1, len(window)): - m.d.sync += window[i].eq(window[i-1]) - if self.carry is not None: - m.d.sync += sum_carry_q.eq(self.sum_carry) - - # When filter is symmetric, presum samples to obtain a smaller window. - symmetric = (self.taps == self.taps[::-1]) - if symmetric: - sum_shape = (self.input.p[0] + self.input.p[0]).shape() - odd_symmetric = ((len(self.taps) % 2) == 1) - new_len = len(self.taps) // 2 + odd_symmetric - new_window = [ Signal(data.ArrayLayout(sum_shape, self.num_channels), name=f"window_sym_{i}") for i in range(new_len) ] - for i in range(len(new_window) - odd_symmetric): - for c in range(self.num_channels): - m.d.comb += new_window[i][c].eq(window[i][c] + window[-i-1][c]) - if odd_symmetric: - for c in range(self.num_channels): - m.d.comb += new_window[-1][c].eq(window[len(self.taps)//2][c]) - window = new_window - taps = self.taps[:ceil(len(self.taps)/2)] - samples_shape = sum_shape - else: - samples_shape = self.shape - - # Build filter out of SerialMAC16 blocks: each one multiplies and - # accumulates `overclock_factor` taps serially. - dsp_block_count = ceil(len(taps) / overclock_factor) - - # If we have multiple subfilters, make them all the same size. - if dsp_block_count > 1 and len(taps) % overclock_factor != 0: - taps = taps + [0]*(overclock_factor - (len(taps)%overclock_factor)) + with m.If(self.input.valid & self.input.ready): + m.d.sync += sum_carry_q.eq(self.sum_carry) for c in range(self.num_channels): + last = self.input dsp_blocks = [] for i in range(dsp_block_count): taps_slice = taps[i*overclock_factor:(i+1)*overclock_factor] - window_slice = window[i*overclock_factor:(i+1)*overclock_factor] - carry = None if i > 0 else self.carry + input_delayed = len(taps_slice) + carry = last.output.p.shape() if i > 0 else self.carry - dsp = SerialMAC16(taps=taps_slice, shape=samples_shape, taps_shape=self.taps_shape(taps), carry=carry, always_ready=self.always_ready) + if (i == dsp_block_count-1) and symmetric and odd_symmetric: + taps_slice[-1] /= 2 + input_delayed -= 1 + + dsp = FIRFilterSerialMAC16(taps=taps_slice, shape=self.shape, taps_shape=self.taps_shape(), carry=carry, symmetry=symmetric, + input_delayed_cycles=input_delayed, always_ready=self.always_ready) dsp_blocks.append(dsp) - for j in range(len(window_slice)): - m.d.comb += dsp.input.p[j].eq(window_slice[j][c]) - m.d.comb += dsp.input.valid.eq(window_valid) - if i == 0: - m.d.comb += filters_ready.eq(dsp.input.ready) + m.d.comb += [ + dsp.input.p .eq(self.input.p[c]), + dsp.input.valid .eq(self.input.valid & self.input.ready), + ] + if not self.input.signature.always_ready: + m.d.comb += self.input.ready.eq(dsp.input.ready) if self.carry is not None: m.d.comb += dsp.sum_carry.eq(sum_carry_q[c]) + else: + m.d.comb += [ + dsp.input.p .eq(pipe(last.input_delayed, last.delay())[-1]), + dsp.input.valid .eq(last.output.valid), + dsp.sum_carry .eq(last.output.p), + ] + if not last.output.signature.always_ready: + m.d.comb += last.output.ready.eq(dsp.input.ready) + + last = dsp + + if self.delayed_port: + m.d.comb += self.input_delayed[c].eq(last.input_delayed) + + if symmetric: + + for i in reversed(range(dsp_block_count)): + end_block = (i == dsp_block_count-1) + m.d.comb += [ + dsp_blocks[i].rev_input .eq(dsp_blocks[i+1].rev_delayed if not end_block else dsp_blocks[i].input_delayed), + ] m.submodules += dsp_blocks - # Adder tree for channel c - if dsp_block_count > 1: - with m.If(~self.output.valid | self.output.ready): - for i in range(dsp_block_count): - if not dsp_blocks[i].output.signature.always_ready: - m.d.comb += dsp_blocks[i].output.ready.eq(1) - m.d.sync += self.output.valid.eq(dsp_blocks[0].output.valid) - with m.If(dsp_blocks[0].output.valid): - m.d.sync += self.output.payload[c] .eq(sum(dsp_blocks[i].output.p for i in range(dsp_block_count))) - else: - m.d.comb += self.output.payload[c].eq(dsp_blocks[0].output.p) - m.d.comb += self.output.valid.eq(dsp_blocks[0].output.valid) - if not dsp_blocks[0].output.signature.always_ready: - m.d.comb += dsp_blocks[0].output.ready.eq(self.output.ready) + m.d.comb += [ + self.output.payload[c] .eq(last.output.p), + self.output.valid .eq(last.output.valid), + ] + if not last.output.signature.always_ready: + m.d.comb += last.output.ready.eq(self.output.ready) return m -class SerialMAC16(wiring.Component): +class FIRFilterSerialMAC16(wiring.Component): - def __init__(self, taps, shape, shape_out=None, taps_shape=None, carry=None, always_ready=False): - assert shape.as_shape().width <= 16, f"DSP slice inputs have a maximum width of 16 bit. {shape} {shape.as_shape().width}" + def __init__(self, taps, shape, shape_out=None, taps_shape=None, carry=None, symmetry=False, input_delayed_cycles=None, always_ready=False): + assert shape.as_shape().width <= 16, "DSP slice inputs have a maximum width of 16 bit." self.carry = carry self.taps = list(taps) @@ -361,8 +333,15 @@ class SerialMAC16(wiring.Component): shape_out = self.compute_output_shape() self.shape_out = shape_out self.always_ready = always_ready + self.symmetry = symmetry + if input_delayed_cycles is None: + self.input_delayed_cycles = len(self.taps) + else: + self.input_delayed_cycles = input_delayed_cycles + signature = { - "input": In(stream.Signature(data.ArrayLayout(shape, len(taps)), always_ready=always_ready)), + "input": In(stream.Signature(shape, always_ready=always_ready)), + "input_delayed": Out(shape), "output": Out(stream.Signature(shape_out, always_ready=always_ready)), } if carry is not None: @@ -371,6 +350,11 @@ class SerialMAC16(wiring.Component): }) else: self.sum_carry = 0 + if symmetry: + signature.update({ + "rev_input": In(shape), + "rev_delayed": Out(shape), + }) super().__init__(signature) def taps_shape(self): @@ -391,36 +375,72 @@ class SerialMAC16(wiring.Component): shape_out = fixed.Shape(i_width, f_width, signed=signed) return shape_out + def delay(self): + return 1 + 1 + 3 + len(self.taps) - 1 + def elaborate(self, platform): m = Module() depth = len(self.taps) counter_in = Signal(range(depth)) - dsp_ready = Signal() + counter_mult = Signal(range(depth)) + counter_out = Signal(range(depth)) + dsp_ready = ~self.output.valid | self.output.ready + + window_valid = Signal() + window_ready = dsp_ready multin_valid = Signal() + input_ready = Signal() # Ready to process a sample either when the DSP slice is ready and the samples window is: # - Not valid yet. # - Only valid for 1 more cycle. - m.d.comb += input_ready.eq((counter_in == depth-1) & dsp_ready) + m.d.comb += input_ready.eq(~window_valid | ((counter_in == depth-1) & window_ready)) if not self.input.signature.always_ready: m.d.comb += self.input.ready.eq(input_ready) + window = [ Signal.like(self.input.p, name=f"window_{i}") for i in range(max(depth, self.input_delayed_cycles)) ] + + # Sample window. + with m.If(input_ready): + m.d.sync += window_valid.eq(self.input.valid) + with m.If(self.input.valid): + m.d.sync += window[0].eq(self.input.p) + for i in range(1, len(window)): + m.d.sync += window[i].eq(window[i-1]) + + m.d.sync += multin_valid.eq(window_valid) + + dsp_a = Signal.like(self.input.p) + with m.Switch(counter_in): + for i in range(depth): + with m.Case(i): + m.d.sync += dsp_a.eq(window[i]) + + m.d.comb += self.input_delayed.eq(window[self.input_delayed_cycles-1]) + # Sample counter. - with m.If((self.input.valid | (counter_in != 0)) & dsp_ready): + with m.If(window_ready & window_valid): m.d.sync += counter_in.eq(_incr(counter_in, depth)) - with m.If(dsp_ready): - m.d.sync += multin_valid.eq(self.input.valid | (counter_in != 0)) + # Symmetry handling. + if self.symmetry: - # Select sample from window. - dsp_a = Signal(self.shape) - with m.If(dsp_ready): + window_rev = [ Signal.like(self.input.p, name=f"window_rev_{i}") for i in range(depth) ] + + with m.If(input_ready & self.input.valid): + m.d.sync += window_rev[0].eq(self.rev_input) + m.d.sync += [ window_rev[i].eq(window_rev[i-1]) for i in range(1, len(window_rev)) ] + + m.d.comb += self.rev_delayed.eq(window_rev[-1]) + + dsp_a_rev = Signal.like(self.input.p) with m.Switch(counter_in): for i in range(depth): with m.Case(i): - m.d.sync += dsp_a.eq(self.input.p[i]) + m.d.sync += dsp_a_rev.eq(window_rev[depth-1-i]) + # Coefficient ROM. taps_shape = self.taps_shape @@ -433,38 +453,33 @@ class SerialMAC16(wiring.Component): m.submodules.coeff_rom = coeff_rom = memory.Memory(data=coeff_data) coeff_rd = coeff_rom.read_port(domain="sync") m.d.comb += coeff_rd.addr.eq(counter_in) - m.d.comb += coeff_rd.en.eq(dsp_ready) shape_out = self.compute_output_shape() if self.carry: sum_carry_q = Signal.like(self.sum_carry) - with m.If(input_ready): + with m.If(self.input.ready & self.input.valid): m.d.sync += sum_carry_q.eq(self.sum_carry) - m.submodules.dsp = dsp = iCE40Multiplier( - o_width=shape_out.as_shape().width, - always_ready=self.always_ready) - - valid_cnt = Signal(depth, init=1) - mult_cnt = Signal(depth, init=1) + m.submodules.dsp = dsp = iCE40Multiplier() + if self.symmetry: + m.d.comb += dsp.a.eq(dsp_a + dsp_a_rev) + else: + m.d.comb += dsp.a.eq(dsp_a) m.d.comb += [ - dsp.a .eq(dsp_a), dsp.b .eq(coeff_rd.data), shape_out(dsp.p) .eq(sum_carry_q if self.carry is not None else 0), - dsp.valid_in .eq(multin_valid), - dsp_ready .eq(dsp.ready_in), - dsp.p_load .eq(mult_cnt[0]), + dsp.valid_in .eq(multin_valid & window_ready), + dsp.p_load .eq(counter_mult == 0), self.output.p .eq(shape_out(dsp.o)), - self.output.valid .eq(dsp.valid_out & valid_cnt[-1]), - dsp.ready_out .eq(self.output.ready | ~valid_cnt[-1]), + self.output.valid .eq(dsp.valid_out & (counter_out == depth-1)), ] # Multiplier input and output counters. - with m.If(dsp.valid_in & dsp.ready_in): - m.d.sync += mult_cnt.eq(mult_cnt.rotate_left(1)) - with m.If(dsp.valid_out & dsp.ready_out): - m.d.sync += valid_cnt.eq(valid_cnt.rotate_left(1)) + with m.If(dsp.valid_in): + m.d.sync += counter_mult.eq(_incr(counter_mult, depth)) + with m.If(dsp.valid_out): + m.d.sync += counter_out.eq(_incr(counter_out, depth)) return m @@ -472,20 +487,15 @@ class SerialMAC16(wiring.Component): class iCE40Multiplier(wiring.Component): - def __init__(self, a_width=16, b_width=16, p_width=32, o_width=32, always_ready=False): - super().__init__({ - "a": In(signed(a_width)), - "b": In(signed(b_width)), - "valid_in": In(1), - "ready_in": In(1), - "p": In(signed(p_width)), - "p_load": In(1), - "o": Out(signed(o_width)), - "valid_out": Out(1), - "ready_out": In(1), - }) - self.always_ready = always_ready - self.o_width = o_width + a: In(signed(16)) + b: In(signed(16)) + valid_in: In(1) + + p: In(signed(32)) + p_load: In(1) + + o: Out(signed(32)) + valid_out: Out(1) def elaborate(self, platform): m = Module() @@ -497,20 +507,13 @@ class iCE40Multiplier(wiring.Component): return pipe p_load_v = Signal() - valid_v = Signal() - m.d.comb += valid_v.eq(self.valid_in & self.ready_in) dsp_delay = 3 - valid_pipe = pipe(valid_v, dsp_delay) - m.d.comb += p_load_v.eq(self.p_load & valid_v) + valid_pipe = pipe(self.valid_in, dsp_delay) + m.d.comb += p_load_v.eq(self.p_load & self.valid_in) p_pipe = pipe(self.p, dsp_delay-1) p_load_pipe = pipe(p_load_v, dsp_delay - 1) - - # skid buffer - if not self.always_ready: - m.submodules.out_fifo = out_fifo = fifo.SyncFIFOBuffered(width=self.o_width, depth=dsp_delay+2) - - m.d.comb += self.ready_in.eq(~self.valid_out | self.ready_out) + m.d.comb += self.valid_out.eq(valid_pipe[dsp_delay]) m.submodules.sb_mac16 = mac = SB_MAC16( C_REG=0, @@ -538,10 +541,10 @@ class iCE40Multiplier(wiring.Component): # Inputs. mac.CLK .eq(ClockSignal("sync")), mac.CE .eq(1), - mac.C.as_signed().eq(Mux(p_load_pipe[2], p_pipe[2][16:], mac.O[16:])), - mac.A.as_signed().eq(self.a), - mac.B.as_signed().eq(self.b), - mac.D.as_signed().eq(Mux(p_load_pipe[2], p_pipe[2][:16], mac.O[:16])), + mac.C .eq(Mux(p_load_pipe[2], p_pipe[2][16:], self.o[16:])), + mac.A .eq(self.a), + mac.B .eq(self.b), + mac.D .eq(Mux(p_load_pipe[2], p_pipe[2][:16], self.o[:16])), mac.AHOLD .eq(~valid_pipe[0]), # 0: load mac.BHOLD .eq(~valid_pipe[0]), mac.CHOLD .eq(0), @@ -552,23 +555,11 @@ class iCE40Multiplier(wiring.Component): mac.ADDSUBBOT .eq(0), mac.OLOADTOP .eq(0), mac.OLOADBOT .eq(0), + + # Outputs. + self.o .eq(mac.O), ] - if not self.always_ready: - m.d.comb += [ - out_fifo.w_data.eq(mac.O), - out_fifo.w_en.eq(valid_pipe[dsp_delay]), - - self.o.eq(out_fifo.r_data), - self.valid_out.eq(out_fifo.r_rdy), - out_fifo.r_en.eq(self.ready_out), - ] - else: - m.d.comb += [ - self.o.eq(mac.O), - self.valid_out.eq(valid_pipe[dsp_delay]), - ] - return m @@ -602,7 +593,7 @@ class _TestFilter(unittest.TestCase): return samples / (1 << f_width) return samples - def _filter(self, dut, samples, count, num_channels=1, outfile=None, empty_cycles=0, empty_ready_cycles=0): + def _filter(self, dut, samples, count, num_channels=1, outfile=None, empty_cycles=0): async def input_process(ctx): if hasattr(dut, "enable"): @@ -636,10 +627,6 @@ class _TestFilter(unittest.TestCase): filtered.append(payload[0].as_float()) else: filtered.append(payload.as_float()) - if empty_ready_cycles > 0: - ctx.set(dut.output.ready, 0) - await ctx.tick().repeat(empty_ready_cycles) - ctx.set(dut.output.ready, 1) if not dut.output.signature.always_ready: ctx.set(dut.output.ready, 0) @@ -658,6 +645,23 @@ class _TestFilter(unittest.TestCase): class TestFIRFilterMAC16(_TestFilter): + def test_filter_serial(self): + taps = [-1, 0, 9, 16, 9, 0, -1] + taps = [ tap / 32 for tap in taps ] + + num_samples = 1024 + input_width = 8 + input_samples = self._generate_samples(num_samples, input_width) + + # Compute the expected result + filtered_np = np.convolve(input_samples, taps).tolist() + + # Simulate DUT + dut = FIRFilterSerialMAC16(taps, fixed.SQ(15, 0), always_ready=False) + filtered = self._filter(dut, input_samples, len(input_samples)) + + self.assertListEqual(filtered_np[:len(filtered)], filtered) + def test_filter(self): taps = [-1, 0, 9, 16, 9, 0, -1] taps = [ tap / 32 for tap in taps ] @@ -670,8 +674,8 @@ class TestFIRFilterMAC16(_TestFilter): filtered_np = np.convolve(input_samples, taps).tolist() # Simulate DUT - dut = FIRFilterMAC16(taps, shape=fixed.SQ(8, 0), always_ready=False) - filtered = self._filter(dut, input_samples, len(input_samples), empty_ready_cycles=5) + dut = FIRFilterMAC16(taps, fixed.SQ(15, 0), always_ready=False) + filtered = self._filter(dut, input_samples, len(input_samples)) self.assertListEqual(filtered_np[:len(filtered)], filtered) @@ -713,7 +717,7 @@ class TestHalfBandDecimatorMAC16(_TestFilter): "test_filter_no_backpressure_and_empty_cycles_taps1": { "num_samples": 1024, "dut_options": dict(**common_dut_options, always_ready=True, taps=taps0), - "sim_opts": dict(empty_cycles=6), + "sim_opts": dict(empty_cycles=3), }, "test_filter_no_backpressure": { @@ -764,20 +768,20 @@ class TestHalfBandInterpolatorMAC16(_TestFilter): "test_filter_with_backpressure": { "num_samples": 1024, - "dut_options": dict(**common_dut_options, always_ready=False, num_channels=2, taps=taps1), - "sim_opts": dict(empty_cycles=0, empty_ready_cycles=0), + "dut_options": dict(**common_dut_options, always_ready=False, num_channels=2, taps=taps0), + "sim_opts": dict(empty_cycles=0), }, "test_filter_with_backpressure_and_empty_cycles": { "num_samples": 1024, "dut_options": dict(**common_dut_options, num_channels=2, always_ready=False, taps=taps0), - "sim_opts": dict(empty_ready_cycles=7, empty_cycles=3), + "sim_opts": dict(empty_cycles=3), }, "test_filter_with_backpressure_taps1": { "num_samples": 1024, "dut_options": dict(**common_dut_options, num_channels=2, always_ready=False, taps=taps1), - "sim_opts": dict(empty_ready_cycles=7, empty_cycles=0), + "sim_opts": dict(empty_cycles=0), }, "test_filter_no_backpressure_and_empty_cycles_taps1": { diff --git a/firmware/fpga/interface/__init__.py b/firmware/fpga/interface/__init__.py index 530d7af8..a19e3fc2 100644 --- a/firmware/fpga/interface/__init__.py +++ b/firmware/fpga/interface/__init__.py @@ -1,3 +1 @@ -from .max586x import MAX586xInterface -from .spi import SPIRegisterInterface -from .sgpio import SGPIOInterface +from .max586x import MAX586xInterface \ No newline at end of file diff --git a/firmware/fpga/interface/max586x.py b/firmware/fpga/interface/max586x.py index 60ffade9..b94d2152 100644 --- a/firmware/fpga/interface/max586x.py +++ b/firmware/fpga/interface/max586x.py @@ -9,11 +9,13 @@ from amaranth.lib.wiring import Out, In from util import IQSample - class MAX586xInterface(wiring.Component): - adc_stream: Out(stream.Signature(IQSample(8), always_ready=True, always_valid=True)) + adc_stream: Out(stream.Signature(IQSample(8), always_ready=True)) dac_stream: In(stream.Signature(IQSample(8), always_ready=True)) - q_invert: In(1) + + adc_capture: In(1) + dac_capture: In(1) + q_invert: In(1) def __init__(self, bb_domain): super().__init__() @@ -45,9 +47,10 @@ class MAX586xInterface(wiring.Component): m.d.comb += [ adc_stream.p.i .eq(adc_in.i[0] ^ 0x80), # I: non-inverted between MAX2837 and MAX5864. adc_stream.p.q .eq(adc_in.i[1] ^ rx_q_mask), # Q: inverted between MAX2837 and MAX5864. + adc_stream.valid .eq(self.adc_capture), ] - # Output to the DAC using a DDR output buffer. + # Output the transformed data to the DAC using a DDR output buffer. m.submodules.dac_out = dac_out = io.DDRBuffer("o", platform.request("dd", dir="-"), o_domain=self._bb_domain) with m.If(dac_stream.valid): m.d.comb += [ diff --git a/firmware/fpga/interface/sgpio.py b/firmware/fpga/interface/sgpio.py deleted file mode 100644 index cca0b116..00000000 --- a/firmware/fpga/interface/sgpio.py +++ /dev/null @@ -1,204 +0,0 @@ -# -# This file is part of HackRF. -# -# Copyright (c) 2025 Great Scott Gadgets -# SPDX-License-Identifier: BSD-3-Clause - -from amaranth import Module, Signal, DomainRenamer, EnableInserter, ClockSignal, Instance -from amaranth.lib import io, fifo, stream, wiring, cdc -from amaranth.lib.wiring import Out, In - -from util import LinearFeedbackShiftRegister - - -class SGPIOInterface(wiring.Component): - - def __init__(self, sample_width=8, rx_assignments=None, tx_assignments=None, domain="sync"): - self.sample_width = sample_width - if rx_assignments is None: - rx_assignments = _default_rx_assignments(sample_width // 8) - if tx_assignments is None: - tx_assignments = _default_tx_assignments(sample_width // 8) - self.rx_assignments = rx_assignments - self.tx_assignments = tx_assignments - self._domain = domain - super().__init__({ - "adc_stream": In(stream.Signature(sample_width, always_ready=True)), - "dac_stream": Out(stream.Signature(sample_width)), - "trigger_en": In(1), - "prbs": In(1), - }) - - def elaborate(self, platform): - m = Module() - - adc_stream = self.adc_stream - dac_stream = self.dac_stream - rx_cycles = len(self.rx_assignments) - tx_cycles = len(self.tx_assignments) - - direction_i = platform.request("direction").i - enable_i = ~platform.request("disable").i - capture_en = platform.request("capture_en").o - - # Determine data transfer direction. - direction = Signal() - m.submodules.direction_cdc = cdc.FFSynchronizer(direction_i, direction, o_domain=self._domain) - transfer_from_adc = (direction == 0) - - # SGPIO clock and data lines. - tx_clk_en = Signal() - rx_clk_en = Signal() - data_to_host = Signal(self.sample_width) - byte_to_host = Signal(8) - data_from_host = Signal(self.sample_width) - byte_from_host = Signal(8) - - m.submodules.clk_out = clk_out = io.DDRBuffer("o", platform.request("host_clk", dir="-"), o_domain=self._domain) - m.submodules.host_io = host_io = io.DDRBuffer('io', platform.request("host_data", dir="-"), i_domain=self._domain, o_domain=self._domain) - - m.d.sync += clk_out.o[0].eq(tx_clk_en) - m.d.sync += clk_out.o[1].eq(rx_clk_en) - m.d.sync += host_io.oe.eq(transfer_from_adc) - m.d.comb += host_io.o[0].eq(byte_to_host) - m.d.comb += host_io.o[1].eq(byte_to_host) - m.d.comb += byte_from_host.eq(host_io.i[1]) - - # Transmission is handled differently to account for the latency before the data - # becomes available in the FPGA fabric. - ddr_in_latency = 2 # for iCE40 DDR inputs in Amaranth. - tx_write_latency = tx_cycles + ddr_in_latency - tx_write_pipe = Signal(tx_write_latency) - m.d.sync += tx_write_pipe.eq(tx_write_pipe << 1) - for i in range(tx_cycles-1): # don't store last byte - with m.If(tx_write_pipe[ddr_in_latency + i]): - m.d.sync += self.tx_assignments[i](data_from_host, byte_from_host) - - # Small TX FIFO to avoid missing samples when the consumer deasserts its ready - # signal and transfers are in progress. - m.submodules.tx_fifo = tx_fifo = fifo.SyncFIFOBuffered(width=self.sample_width, depth=16) - m.d.comb += [ - tx_fifo.w_data .eq(data_from_host), - self.tx_assignments[-1](tx_fifo.w_data, byte_from_host), - tx_fifo.w_en .eq(tx_write_pipe[-1]), - dac_stream.p .eq(tx_fifo.r_data), - dac_stream.valid .eq(tx_fifo.r_rdy), - tx_fifo.r_en .eq(dac_stream.ready), - ] - - # Pseudo-random binary sequence generator. - prbs_advance = Signal() - prbs_count = Signal(2) - m.submodules.prbs = prbs = EnableInserter(prbs_advance)( - LinearFeedbackShiftRegister(degree=8, taps=[8,6,5,4], init=0b10110001)) - - - # Capture signal generation. - capture = Signal() - m.submodules.trigger_gen = trigger_gen = FlowAndTriggerControl(domain=self._domain) - m.d.comb += [ - trigger_gen.enable.eq(enable_i), - trigger_gen.trigger_en.eq(self.trigger_en), - capture.eq(trigger_gen.capture), - ] - - - # Main state machine. - with m.FSM(): - with m.State("IDLE"): - - m.d.sync += capture_en.eq(capture) - - with m.If(transfer_from_adc): - with m.If(self.prbs): - m.d.sync += capture_en.eq(1) - m.next = "PRBS" - with m.Elif(adc_stream.valid & capture): - m.d.comb += rx_clk_en.eq(1) - m.d.sync += data_to_host.eq(adc_stream.p) - m.d.sync += byte_to_host.eq(self.rx_assignments[0](adc_stream.p)) - if rx_cycles > 1: - m.next = "RX0" - with m.Else(): - with m.If(dac_stream.ready & capture): - m.d.comb += tx_clk_en.eq(1) - m.d.sync += tx_write_pipe[0].eq(capture) - if tx_cycles > 1: - m.next = "TX0" - - for i in range(rx_cycles-1): - with m.State(f"RX{i}"): - m.d.comb += rx_clk_en.eq(1) - m.d.sync += byte_to_host.eq(self.rx_assignments[i+1](data_to_host)) - m.next = "IDLE" if i == rx_cycles-2 else f"RX{i+1}" - - for i in range(tx_cycles-1): - with m.State(f"TX{i}"): - m.d.comb += tx_clk_en.eq(1) - m.next = "IDLE" if i == tx_cycles-2 else f"TX{i+1}" - - with m.State("PRBS"): - m.d.comb += rx_clk_en.eq(prbs_count == 0) - m.d.comb += prbs_advance.eq(prbs_count == 0) - m.d.sync += byte_to_host.eq(prbs.value) - m.d.sync += prbs_count.eq(prbs_count + 1) - with m.If(~self.prbs): - m.next = "IDLE" - - # Convert to other clock domain if necessary. - if self._domain != "sync": - m = DomainRenamer(self._domain)(m) - - return m - - -def _default_rx_assignments(n): - def rx_assignment(i): - def _f(w): - return w.word_select(i, 8) - return _f - return [ rx_assignment(i) for i in range(n) ] - -def _default_tx_assignments(n): - def tx_assignment(i): - def _f(w, v): - return w.word_select(i, 8).eq(v) - return _f - return [ tx_assignment(i) for i in range(n) ] - - -class FlowAndTriggerControl(wiring.Component): - trigger_en: In(1) - enable: In(1) - capture: Out(1) - - def __init__(self, domain): - super().__init__() - self._domain = domain - - def elaborate(self, platform): - m = Module() - - # - # Signal synchronization and trigger logic. - # - trigger_enable = self.trigger_en - trigger_in = platform.request("trigger_in").i - trigger_out = platform.request("trigger_out").o - m.d.comb += trigger_out.eq(self.enable) - - # Create a latch for the trigger input signal using a special FPGA primitive. - trigger_in_latched = Signal() - trigger_in_reg = Instance("SB_DFFES", - i_D = 0, - i_S = trigger_in, # async set - i_E = ~self.enable, - i_C = ClockSignal(self._domain), - o_Q = trigger_in_latched - ) - m.submodules.trigger_in_reg = trigger_in_reg - - # Export signal for capture gating. - m.d[self._domain] += self.capture.eq(self.enable & (trigger_in_latched | ~trigger_enable)) - - return m diff --git a/firmware/fpga/requirements.txt b/firmware/fpga/requirements.txt index 87b248b0..4b676b22 100644 --- a/firmware/fpga/requirements.txt +++ b/firmware/fpga/requirements.txt @@ -1,4 +1,3 @@ amaranth==v0.5.8 amaranth-boards @ git+https://github.com/amaranth-lang/amaranth-boards.git@23c66d6 lz4 -numpy diff --git a/firmware/fpga/top/ext_precision_rx.py b/firmware/fpga/top/ext_precision_rx.py index 3950458e..6eb3f138 100644 --- a/firmware/fpga/top/ext_precision_rx.py +++ b/firmware/fpga/top/ext_precision_rx.py @@ -4,13 +4,15 @@ # Copyright (c) 2025 Great Scott Gadgets # SPDX-License-Identifier: BSD-3-Clause -from amaranth import Elaboratable, Module, Cat, DomainRenamer -from amaranth.lib.wiring import connect +from amaranth import Elaboratable, Module, Signal, Mux, Instance, Cat, ClockSignal, DomainRenamer +from amaranth.lib import io, fifo, stream, wiring +from amaranth.lib.wiring import Out, In, connect from amaranth_future import fixed from board import PralinePlatform, ClockDomainGenerator -from interface import MAX586xInterface, SGPIOInterface, SPIRegisterInterface +from interface import MAX586xInterface +from interface.spi import SPIRegisterInterface from dsp.fir import FIRFilter from dsp.fir_mac16 import HalfBandDecimatorMAC16 from dsp.cic import CICDecimator @@ -19,6 +21,119 @@ from dsp.quarter_shift import QuarterShift from util import ClockConverter, IQSample +class MCUInterface(wiring.Component): + adc_stream: In(stream.Signature(IQSample(12), always_ready=True)) + direction: In(1) + enable: In(1) + + def __init__(self, domain="sync"): + self._domain = domain + super().__init__() + + def elaborate(self, platform): + m = Module() + + adc_stream = self.adc_stream + + # Determine data transfer direction. + direction = Signal() + enable = Signal() + m.d.sync += enable.eq(self.enable) + m.d.sync += direction.eq(self.direction) + transfer_from_adc = (direction == 0) + + # SGPIO clock and data lines. + m.submodules.clk_out = clk_out = io.DDRBuffer("o", platform.request("host_clk", dir="-"), o_domain=self._domain) + m.submodules.host_io = host_io = io.DDRBuffer('io', platform.request("host_data", dir="-"), i_domain=self._domain, o_domain=self._domain) + + # State machine to control SGPIO clock and data lines. + rx_clk_en = Signal() + m.d.sync += clk_out.o[1].eq(rx_clk_en) + m.d.sync += host_io.oe.eq(transfer_from_adc) + + data_to_host = Signal.like(adc_stream.p) + rx_data_buffer = Signal(8) + m.d.comb += host_io.o[0].eq(rx_data_buffer) + m.d.comb += host_io.o[1].eq(rx_data_buffer) + + with m.FSM(): + with m.State("IDLE"): + m.d.comb += rx_clk_en.eq(enable & transfer_from_adc & adc_stream.valid) + + with m.If(rx_clk_en): + m.d.sync += rx_data_buffer.eq(adc_stream.p.i >> 8) + m.d.sync += data_to_host.eq(adc_stream.p) + m.next = "RX_I1" + + with m.State("RX_I1"): + m.d.comb += rx_clk_en.eq(1) + m.d.sync += rx_data_buffer.eq(data_to_host.i) + m.next = "RX_Q0" + + with m.State("RX_Q0"): + m.d.comb += rx_clk_en.eq(1) + m.d.sync += rx_data_buffer.eq(data_to_host.q >> 8) + m.next = "RX_Q1" + + with m.State("RX_Q1"): + m.d.comb += rx_clk_en.eq(1) + m.d.sync += rx_data_buffer.eq(data_to_host.q) + m.next = "IDLE" + + if self._domain != "sync": + m = DomainRenamer(self._domain)(m) + + return m + + +class FlowAndTriggerControl(wiring.Component): + trigger_en: In(1) + direction: Out(1) # async + enable: Out(1) # async + adc_capture: Out(1) + dac_capture: Out(1) + + def __init__(self, domain): + super().__init__() + self._domain = domain + + def elaborate(self, platform): + m = Module() + + # + # Signal synchronization and trigger logic. + # + trigger_enable = self.trigger_en + trigger_in = platform.request("trigger_in").i + trigger_out = platform.request("trigger_out").o + host_data_enable = ~platform.request("disable").i + m.d.comb += trigger_out.eq(host_data_enable) + + # Create a latch for the trigger input signal using a special FPGA primitive. + trigger_in_latched = Signal() + trigger_in_reg = Instance("SB_DFFES", + i_D = 0, + i_S = trigger_in, # async set + i_E = ~host_data_enable, + i_C = ClockSignal(self._domain), + o_Q = trigger_in_latched + ) + m.submodules.trigger_in_reg = trigger_in_reg + + # Export signals for direction control and capture gating. + m.d.comb += self.direction.eq(platform.request("direction").i) + m.d.comb += self.enable.eq(host_data_enable) + + with m.If(host_data_enable): + m.d[self._domain] += self.adc_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 0)) + m.d[self._domain] += self.dac_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 1)) + with m.Else(): + m.d[self._domain] += self.adc_capture.eq(0) + m.d[self._domain] += self.dac_capture.eq(0) + + return m + + class Top(Elaboratable): def elaborate(self, platform): @@ -27,25 +142,15 @@ class Top(Elaboratable): m.submodules.clkgen = ClockDomainGenerator() # Submodules. + m.submodules.flow_ctl = flow_ctl = FlowAndTriggerControl(domain="gck1") m.submodules.adcdac_intf = adcdac_intf = MAX586xInterface(bb_domain="gck1") - m.submodules.mcu_intf = mcu_intf = SGPIOInterface( - sample_width=24, - rx_assignments=[ - lambda w: Cat(w[8:12], w[11].replicate(4)), - lambda w: w[0:8], - lambda w: Cat(w[20:24], w[23].replicate(4)), - lambda w: w[12:20], - ], - tx_assignments=[ - lambda w, v: w[8:12].eq(v), - lambda w, v: w[0:8].eq(v), - lambda w, v: w[20:24].eq(v), - lambda w, v: w[12:20].eq(v), - ], - domain="sync" - ) + m.submodules.mcu_intf = mcu_intf = MCUInterface(domain="sync") + m.d.comb += adcdac_intf.adc_capture.eq(flow_ctl.adc_capture) + m.d.comb += adcdac_intf.dac_capture.eq(flow_ctl.dac_capture) m.d.comb += adcdac_intf.q_invert.eq(platform.request("q_invert").i) + m.d.comb += mcu_intf.direction.eq(flow_ctl.direction) + m.d.comb += mcu_intf.enable.eq(flow_ctl.enable) # Half-band filter taps. taps_hb1 = [-2, 0, 5, 0, -10, 0,18, 0, -30, 0,53, 0,-101, 0, 323, 512, 323, 0,-101, 0, 53, 0, -30, 0,18, 0, -10, 0, 5, 0,-2] @@ -68,7 +173,7 @@ class Top(Elaboratable): "hbfir2": HalfBandDecimatorMAC16(taps_hb2, data_shape=fixed.SQ(11), overclock_rate=8, always_ready=True, domain="gck1"), # Clock domain conversion. - "clkconv": ClockConverter(IQSample(12), 8, "gck1", "sync", always_ready=True), + "clkconv": ClockConverter(IQSample(12), 4, "gck1", "sync", always_ready=True), } for k,v in rx_chain.items(): m.submodules[f"rx_{k}"] = v @@ -91,7 +196,7 @@ class Top(Elaboratable): m.d.comb += [ # Trigger enable. - mcu_intf.trigger_en .eq(ctrl[7]), + flow_ctl.trigger_en .eq(ctrl[7]), # RX settings. rx_chain["dc_block"].enable .eq(ctrl[0]), diff --git a/firmware/fpga/top/ext_precision_tx.py b/firmware/fpga/top/ext_precision_tx.py index 6b55acc4..4268606d 100644 --- a/firmware/fpga/top/ext_precision_tx.py +++ b/firmware/fpga/top/ext_precision_tx.py @@ -4,19 +4,140 @@ # Copyright (c) 2025 Great Scott Gadgets # SPDX-License-Identifier: BSD-3-Clause -from amaranth import Elaboratable, Module, Cat, DomainRenamer -from amaranth.lib.wiring import connect +from amaranth import Elaboratable, Module, Signal, Instance, Cat, ClockSignal, DomainRenamer +from amaranth.lib import io, fifo, stream, wiring +from amaranth.lib.wiring import Out, In, connect from amaranth_future import fixed from board import PralinePlatform, ClockDomainGenerator -from interface import MAX586xInterface, SGPIOInterface, SPIRegisterInterface +from interface import MAX586xInterface +from interface.spi import SPIRegisterInterface from dsp.fir import FIRFilter from dsp.fir_mac16 import HalfBandInterpolatorMAC16 from dsp.cic import CICInterpolator from util import ClockConverter, IQSample, StreamSkidBuffer +class MCUInterface(wiring.Component): + dac_stream: Out(stream.Signature(IQSample(12))) + direction: In(1) + enable: In(1) + + def __init__(self, domain="sync"): + self._domain = domain + super().__init__() + + def elaborate(self, platform): + m = Module() + + dac_stream = self.dac_stream + + # Determine data transfer direction. + direction = Signal() + enable = Signal() + m.d.sync += enable.eq(self.enable) + m.d.sync += direction.eq(self.direction) + transfer_to_dac = (direction == 1) + + # SGPIO clock and data lines. + m.submodules.clk_out = clk_out = io.DDRBuffer("o", platform.request("host_clk", dir="-"), o_domain=self._domain) + m.submodules.host_io = host_io = io.DDRBuffer('io', platform.request("host_data", dir="-"), i_domain=self._domain, o_domain=self._domain) + + # State machine to control SGPIO clock and data lines. + tx_clk_en = Signal() + m.d.sync += clk_out.o[0].eq(tx_clk_en) + + tx_dly_write = Signal(4) + tx_in_sample = Signal(4*8) + m.d.sync += tx_dly_write.eq(tx_dly_write << 1) + m.d.sync += tx_in_sample.eq(Cat(host_io.i[1], tx_in_sample)) + + # Small TX FIFO to avoid overflows from the write delay. + m.submodules.tx_fifo = tx_fifo = fifo.SyncFIFOBuffered(width=24, depth=4) + m.d.comb += [ + tx_fifo.w_data.word_select(0, 12) .eq(tx_in_sample[20:32]), + tx_fifo.w_data.word_select(1, 12) .eq(tx_in_sample[4:16]), + tx_fifo.w_en .eq(tx_dly_write[-1]), + dac_stream.p .eq(tx_fifo.r_data), + dac_stream.valid .eq(tx_fifo.r_rdy), + tx_fifo.r_en .eq(dac_stream.ready), + ] + + with m.FSM(): + with m.State("IDLE"): + m.d.comb += tx_clk_en.eq(enable & transfer_to_dac & dac_stream.ready) + + with m.If(tx_clk_en): + m.next = "TX_I1" + + with m.State("TX_I1"): + m.d.comb += tx_clk_en.eq(1) + m.next = "TX_Q0" + + with m.State("TX_Q0"): + m.d.comb += tx_clk_en.eq(1) + m.next = "TX_Q1" + + with m.State("TX_Q1"): + m.d.comb += tx_clk_en.eq(1) + m.d.sync += tx_dly_write[0].eq(1) # delayed write + m.next = "IDLE" + + if self._domain != "sync": + m = DomainRenamer(self._domain)(m) + + return m + + +class FlowAndTriggerControl(wiring.Component): + trigger_en: In(1) + direction: Out(1) # async + enable: Out(1) # async + adc_capture: Out(1) + dac_capture: Out(1) + + def __init__(self, domain): + super().__init__() + self._domain = domain + + def elaborate(self, platform): + m = Module() + + # + # Signal synchronization and trigger logic. + # + trigger_enable = self.trigger_en + trigger_in = platform.request("trigger_in").i + trigger_out = platform.request("trigger_out").o + host_data_enable = ~platform.request("disable").i + m.d.comb += trigger_out.eq(host_data_enable) + + # Create a latch for the trigger input signal using a special FPGA primitive. + trigger_in_latched = Signal() + trigger_in_reg = Instance("SB_DFFES", + i_D = 0, + i_S = trigger_in, # async set + i_E = ~host_data_enable, + i_C = ClockSignal(self._domain), + o_Q = trigger_in_latched + ) + m.submodules.trigger_in_reg = trigger_in_reg + + # Export signals for direction control and capture gating. + m.d.comb += self.direction.eq(platform.request("direction").i) + m.d.comb += self.enable.eq(host_data_enable) + + with m.If(host_data_enable): + m.d[self._domain] += self.adc_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 0)) + m.d[self._domain] += self.dac_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 1)) + with m.Else(): + m.d[self._domain] += self.adc_capture.eq(0) + m.d[self._domain] += self.dac_capture.eq(0) + + return m + + class Top(Elaboratable): def elaborate(self, platform): @@ -25,27 +146,15 @@ class Top(Elaboratable): m.submodules.clkgen = ClockDomainGenerator() # Submodules. + m.submodules.flow_ctl = flow_ctl = FlowAndTriggerControl(domain="gck1") m.submodules.adcdac_intf = adcdac_intf = MAX586xInterface(bb_domain="gck1") - m.submodules.mcu_intf = mcu_intf = SGPIOInterface( - sample_width=24, - rx_assignments=[ - lambda w: Cat(w[8:12], w[11].replicate(4)), - lambda w: w[0:8], - lambda w: Cat(w[20:24], w[23].replicate(4)), - lambda w: w[12:20], - ], - tx_assignments=[ - lambda w, v: w[8:12].eq(v), - lambda w, v: w[0:8].eq(v), - lambda w, v: w[20:24].eq(v), - lambda w, v: w[12:20].eq(v), - ], - domain="sync" - ) + m.submodules.mcu_intf = mcu_intf = MCUInterface(domain="sync") + m.d.comb += adcdac_intf.dac_capture.eq(flow_ctl.dac_capture) m.d.comb += adcdac_intf.q_invert.eq(platform.request("q_invert").i) + m.d.comb += mcu_intf.direction.eq(flow_ctl.direction) + m.d.comb += mcu_intf.enable.eq(flow_ctl.enable) - # Half-band filter taps. taps_hb1 = [-2, 0, 5, 0, -10, 0,18, 0, -30, 0,53, 0,-101, 0, 323, 512, 323, 0,-101, 0, 53, 0, -30, 0,18, 0, -10, 0, 5, 0,-2] taps_hb1 = [ tap/1024 for tap in taps_hb1 ] @@ -55,7 +164,7 @@ class Top(Elaboratable): tx_chain = { # Clock domain conversion. - "clkconv": ClockConverter(IQSample(12), 8, "sync", "gck1", always_ready=False), + "clkconv": ClockConverter(IQSample(12), 4, "sync", "gck1", always_ready=False), # Half-band interpolation stages (+ skid buffers for timing closure). "hbfir1": HalfBandInterpolatorMAC16(taps_hb1, data_shape=fixed.SQ(11), @@ -67,6 +176,7 @@ class Top(Elaboratable): # CIC interpolation stage. "cic_comp": DomainRenamer("gck1")(FIRFilter([-0.125, 0, 0.75, 0, -0.125], shape=fixed.SQ(11), shape_out=fixed.SQ(11), always_ready=False, num_channels=2)), + "cic_interpolator": CICInterpolator(2, 4, (4, 8, 16, 32), 12, 8, num_channels=2, always_ready=False, domain="gck1"), } @@ -91,7 +201,7 @@ class Top(Elaboratable): m.d.comb += [ # Trigger enable. - mcu_intf.trigger_en .eq(ctrl[7]), + flow_ctl.trigger_en .eq(ctrl[7]), # TX interpolation rate. tx_chain["cic_interpolator"].factor .eq(tx_intrp + 2), diff --git a/firmware/fpga/top/half_precision.py b/firmware/fpga/top/half_precision.py index 974f68ee..4cc0e20b 100644 --- a/firmware/fpga/top/half_precision.py +++ b/firmware/fpga/top/half_precision.py @@ -5,17 +5,128 @@ # Copyright (c) 2024 Great Scott Gadgets # SPDX-License-Identifier: BSD-3-Clause -from amaranth import Elaboratable, Module, DomainRenamer -from amaranth.lib import stream, wiring +from amaranth import Elaboratable, Module, Signal, C, Mux, Instance, Cat, ClockSignal, DomainRenamer, signed +from amaranth.lib import io, stream, wiring, cdc, data, fifo from amaranth.lib.wiring import Out, In, connect from board import PralinePlatform, ClockDomainGenerator -from interface import MAX586xInterface, SGPIOInterface, SPIRegisterInterface +from interface import MAX586xInterface +from interface.spi import SPIRegisterInterface from dsp.dc_block import DCBlock from dsp.round import convergent_round from util import IQSample, ClockConverter +class MCUInterface(wiring.Component): + adc_stream: In(stream.Signature(IQSample(4), always_ready=True)) + dac_stream: Out(stream.Signature(IQSample(4))) + direction: In(1) + enable: In(1) + + def __init__(self, domain="sync"): + self._domain = domain + super().__init__() + + def elaborate(self, platform): + m = Module() + + adc_stream = self.adc_stream + dac_stream = self.dac_stream + + # Determine data transfer direction. + direction = Signal() + enable = Signal() + m.d.sync += enable.eq(self.enable) + m.d.sync += direction.eq(self.direction) + transfer_from_adc = (direction == 0) + transfer_to_dac = (direction == 1) + + # SGPIO clock and data lines. + m.submodules.clk_out = clk_out = io.DDRBuffer("o", platform.request("host_clk", dir="-"), o_domain=self._domain) + m.submodules.host_io = host_io = io.DDRBuffer('io', platform.request("host_data", dir="-"), i_domain=self._domain, o_domain=self._domain) + + # State machine to control SGPIO clock and data lines. + m.d.sync += clk_out.o[0].eq(0) + m.d.sync += clk_out.o[1].eq(0) + m.d.sync += host_io.oe.eq(transfer_from_adc) + + data_to_host = Signal.like(Cat(adc_stream.p.i, adc_stream.p.q)) + assert len(data_to_host) == 8 + m.d.comb += host_io.o[0].eq(data_to_host) + m.d.comb += host_io.o[1].eq(data_to_host) + + tx_dly_write = Signal(2) + m.d.sync += tx_dly_write.eq(tx_dly_write << 1) + m.d.comb += dac_stream.payload.eq(host_io.i[1]) + m.d.comb += dac_stream.valid.eq(tx_dly_write[-1]) + + with m.FSM(): + with m.State("IDLE"): + with m.If(enable): + with m.If(transfer_from_adc & adc_stream.valid): + m.d.sync += data_to_host.eq(Cat(adc_stream.p.i, adc_stream.p.q)) + m.d.sync += clk_out.o[1].eq(1) + + with m.Elif(transfer_to_dac & dac_stream.ready): + m.d.sync += clk_out.o[0].eq(1) + m.d.sync += tx_dly_write[0].eq(1) # delayed write + + if self._domain != "sync": + m = DomainRenamer(self._domain)(m) + + return m + + +class FlowAndTriggerControl(wiring.Component): + trigger_en: In(1) + direction: Out(1) # async + enable: Out(1) # async + adc_capture: Out(1) + dac_capture: Out(1) + + def __init__(self, domain): + super().__init__() + self._domain = domain + + def elaborate(self, platform): + m = Module() + + # + # Signal synchronization and trigger logic. + # + trigger_enable = self.trigger_en + trigger_in = platform.request("trigger_in").i + trigger_out = platform.request("trigger_out").o + host_data_enable = ~platform.request("disable").i + m.d.comb += trigger_out.eq(host_data_enable) + + # Create a latch for the trigger input signal using a FPGA primitive. + trigger_in_latched = Signal() + trigger_in_reg = Instance("SB_DFFES", + i_D = 0, + i_S = trigger_in, # async set + i_E = ~host_data_enable, + i_C = ClockSignal(self._domain), + o_Q = trigger_in_latched + ) + m.submodules.trigger_in_reg = trigger_in_reg + + # Export signals for direction control and gating captures. + m.d.comb += self.direction.eq(platform.request("direction").i) + m.d.comb += self.enable.eq(host_data_enable) + + with m.If(host_data_enable): + m.d[self._domain] += self.adc_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 0)) + m.d[self._domain] += self.dac_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 1)) + with m.Else(): + m.d[self._domain] += self.adc_capture.eq(0) + m.d[self._domain] += self.dac_capture.eq(0) + + return m + + + + class IQHalfPrecisionConverter(wiring.Component): input: In(stream.Signature(IQSample(8), always_ready=True)) output: Out(stream.Signature(IQSample(4), always_ready=True)) @@ -56,18 +167,22 @@ class Top(Elaboratable): m.submodules.clkgen = ClockDomainGenerator() # Submodules. + m.submodules.flow_ctl = flow_ctl = FlowAndTriggerControl(domain="gck1") m.submodules.adcdac_intf = adcdac_intf = MAX586xInterface(bb_domain="gck1") - m.submodules.mcu_intf = mcu_intf = SGPIOInterface(sample_width=8, domain="sync") + m.submodules.mcu_intf = mcu_intf = MCUInterface(domain="sync") + m.d.comb += adcdac_intf.adc_capture.eq(flow_ctl.adc_capture) + m.d.comb += adcdac_intf.dac_capture.eq(flow_ctl.dac_capture) m.d.comb += adcdac_intf.q_invert.eq(platform.request("q_invert").i) + m.d.comb += mcu_intf.direction.eq(flow_ctl.direction) + m.d.comb += mcu_intf.enable.eq(flow_ctl.enable) rx_chain = { "dc_block": DCBlock(width=8, num_channels=2, domain="gck1"), "half_prec": DomainRenamer("gck1")(IQHalfPrecisionConverter()), - "clkconv": ClockConverter(IQSample(4), 16, "gck1", "sync"), + "clkconv": ClockConverter(IQSample(4), 4, "gck1", "sync"), } - for k,v in rx_chain.items(): - m.submodules[f"rx_{k}"] = v + m.submodules += rx_chain.values() # Connect receiver chain. last = adcdac_intf.adc_stream @@ -78,11 +193,10 @@ class Top(Elaboratable): tx_chain = { - "clkconv": ClockConverter(IQSample(4), 16, "sync", "gck1", always_ready=False), + "clkconv": ClockConverter(IQSample(4), 4, "sync", "gck1", always_ready=False), "half_prec": DomainRenamer("gck1")(IQHalfPrecisionConverterInv()), } - for k,v in tx_chain.items(): - m.submodules[f"tx_{k}"] = v + m.submodules += tx_chain.values() # Connect transmitter chain. last = mcu_intf.dac_stream @@ -99,7 +213,7 @@ class Top(Elaboratable): ctrl = spi_regs.add_register(0x01, init=0) m.d.comb += [ # Trigger enable. - mcu_intf.trigger_en .eq(ctrl[7]), + flow_ctl.trigger_en .eq(ctrl[7]), # RX settings. rx_chain["dc_block"].enable .eq(ctrl[0]), @@ -110,4 +224,4 @@ class Top(Elaboratable): if __name__ == "__main__": plat = PralinePlatform() - plat.build(Top()) + plat.build(Top_HP()) diff --git a/firmware/fpga/top/standard.py b/firmware/fpga/top/standard.py index 7f85925b..50c73df8 100644 --- a/firmware/fpga/top/standard.py +++ b/firmware/fpga/top/standard.py @@ -4,20 +4,168 @@ # Copyright (c) 2025 Great Scott Gadgets # SPDX-License-Identifier: BSD-3-Clause -from amaranth import Elaboratable, Module, Signal, Mux, DomainRenamer -from amaranth.lib import cdc -from amaranth.lib.wiring import connect +from amaranth import Elaboratable, Module, Signal, Mux, Instance, Cat, ClockSignal, DomainRenamer, EnableInserter +from amaranth.lib import io, fifo, stream, wiring, cdc +from amaranth.lib.wiring import Out, In, connect from amaranth_future import fixed from board import PralinePlatform, ClockDomainGenerator -from interface import MAX586xInterface, SGPIOInterface, SPIRegisterInterface +from interface import MAX586xInterface +from interface.spi import SPIRegisterInterface from dsp.fir import HalfBandDecimator, HalfBandInterpolator -from dsp.cic import CICInterpolator +from dsp.cic import CICDecimator, CICInterpolator from dsp.dc_block import DCBlock from dsp.quarter_shift import QuarterShift from dsp.nco import NCO -from util import ClockConverter, IQSample, StreamSkidBuffer +from util import ClockConverter, IQSample, StreamSkidBuffer, LinearFeedbackShiftRegister + + +class MCUInterface(wiring.Component): + adc_stream: In(stream.Signature(IQSample(8), always_ready=True)) + dac_stream: Out(stream.Signature(IQSample(8))) + direction: In(1) + enable: In(1) + prbs: In(1) + + def __init__(self, domain="sync"): + self._domain = domain + super().__init__() + + def elaborate(self, platform): + m = Module() + + adc_stream = self.adc_stream + dac_stream = self.dac_stream + + # Determine data transfer direction. + direction = Signal() + enable = Signal() + m.submodules.enable_cdc = cdc.FFSynchronizer(self.enable, enable, o_domain=self._domain) + m.submodules.direction_cdc = cdc.FFSynchronizer(self.direction, direction, o_domain=self._domain) + transfer_from_adc = (direction == 0) + transfer_to_dac = (direction == 1) + + # SGPIO clock and data lines. + m.submodules.clk_out = clk_out = io.DDRBuffer("o", platform.request("host_clk", dir="-"), o_domain=self._domain) + m.submodules.host_io = host_io = io.DDRBuffer('io', platform.request("host_data", dir="-"), i_domain=self._domain, o_domain=self._domain) + + # State machine to control SGPIO clock and data lines. + tx_clk_en = Signal() + rx_clk_en = Signal() + m.d.sync += clk_out.o[0].eq(tx_clk_en) + m.d.sync += clk_out.o[1].eq(rx_clk_en) + m.d.sync += host_io.oe.eq(transfer_from_adc) + + data_to_host = Signal.like(adc_stream.p) + m.d.comb += host_io.o[0].eq(data_to_host) + m.d.comb += host_io.o[1].eq(data_to_host) + + tx_dly_write = Signal(3) + host_io_prev_data = Signal(8) + m.d.sync += tx_dly_write.eq(tx_dly_write << 1) + m.d.sync += host_io_prev_data.eq(host_io.i[1]) + + # Small TX FIFO to avoid overflows from the write delay. + m.submodules.tx_fifo = tx_fifo = fifo.SyncFIFOBuffered(width=16, depth=8) + m.d.comb += [ + tx_fifo.w_data .eq(Cat(host_io_prev_data, host_io.i[1])), + tx_fifo.w_en .eq(tx_dly_write[-1]), + dac_stream.p .eq(tx_fifo.r_data), + dac_stream.valid .eq(tx_fifo.r_rdy), + tx_fifo.r_en .eq(dac_stream.ready), + ] + + # Pseudo-random binary sequence generator. + prbs_advance = Signal() + prbs_count = Signal(2) + m.submodules.prbs = prbs = EnableInserter(prbs_advance)( + LinearFeedbackShiftRegister(degree=8, taps=[8,6,5,4], init=0b10110001)) + + with m.FSM(): + with m.State("IDLE"): + m.d.comb += tx_clk_en.eq(enable & transfer_to_dac & dac_stream.ready) + m.d.comb += rx_clk_en.eq(enable & transfer_from_adc & adc_stream.valid) + + with m.If(self.prbs): + m.next = "PRBS" + with m.Elif(rx_clk_en): + m.d.sync += data_to_host.eq(adc_stream.p) + m.next = "RX_Q" + with m.Elif(tx_clk_en): + m.next = "TX_Q" + + with m.State("RX_Q"): + m.d.comb += rx_clk_en.eq(1) + m.d.sync += data_to_host.i.eq(data_to_host.q) + m.next = "IDLE" + + with m.State("TX_Q"): + m.d.comb += tx_clk_en.eq(1) + m.d.sync += tx_dly_write[0].eq(1) # delayed write + m.next = "IDLE" + + with m.State("PRBS"): + m.d.sync += host_io.oe.eq(1) + m.d.sync += data_to_host.eq(prbs.value) + m.d.comb += rx_clk_en.eq(prbs_count == 0) + m.d.comb += prbs_advance.eq(prbs_count == 0) + m.d.sync += prbs_count.eq(prbs_count + 1) + with m.If(~self.prbs): + m.next = "IDLE" + + if self._domain != "sync": + m = DomainRenamer(self._domain)(m) + + return m + + +class FlowAndTriggerControl(wiring.Component): + trigger_en: In(1) + direction: Out(1) # async + enable: Out(1) # async + adc_capture: Out(1) + dac_capture: Out(1) + + def __init__(self, domain): + super().__init__() + self._domain = domain + + def elaborate(self, platform): + m = Module() + + # + # Signal synchronization and trigger logic. + # + trigger_enable = self.trigger_en + trigger_in = platform.request("trigger_in").i + trigger_out = platform.request("trigger_out").o + host_data_enable = ~platform.request("disable").i + m.d.comb += trigger_out.eq(host_data_enable) + + # Create a latch for the trigger input signal using a special FPGA primitive. + trigger_in_latched = Signal() + trigger_in_reg = Instance("SB_DFFES", + i_D = 0, + i_S = trigger_in, # async set + i_E = ~host_data_enable, + i_C = ClockSignal(self._domain), + o_Q = trigger_in_latched + ) + m.submodules.trigger_in_reg = trigger_in_reg + + # Export signals for direction control and capture gating. + m.d.comb += self.direction.eq(platform.request("direction").i) + m.d.comb += self.enable.eq(host_data_enable) + + with m.If(host_data_enable): + m.d[self._domain] += self.adc_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 0)) + m.d[self._domain] += self.dac_capture.eq((trigger_in_latched | ~trigger_enable) & (self.direction == 1)) + with m.Else(): + m.d[self._domain] += self.adc_capture.eq(0) + m.d[self._domain] += self.dac_capture.eq(0) + + return m class Top(Elaboratable): @@ -28,10 +176,15 @@ class Top(Elaboratable): m.submodules.clkgen = ClockDomainGenerator() # Submodules. + m.submodules.flow_ctl = flow_ctl = FlowAndTriggerControl(domain="gck1") m.submodules.adcdac_intf = adcdac_intf = MAX586xInterface(bb_domain="gck1") - m.submodules.mcu_intf = mcu_intf = SGPIOInterface(sample_width=16, domain="sync") + m.submodules.mcu_intf = mcu_intf = MCUInterface(domain="sync") + m.d.comb += adcdac_intf.adc_capture.eq(flow_ctl.adc_capture) + m.d.comb += adcdac_intf.dac_capture.eq(flow_ctl.dac_capture) m.d.comb += adcdac_intf.q_invert.eq(platform.request("q_invert").i) + m.d.comb += mcu_intf.direction.eq(flow_ctl.direction) + m.d.comb += mcu_intf.enable.eq(flow_ctl.enable) # Half-band filter taps. taps = [-2, 0, 7, 0, -18, 0, 41, 0, -92, 0, 320, 512, 320, 0, -92, 0, 41, 0, -18, 0, 7, 0, -2] @@ -68,7 +221,7 @@ class Top(Elaboratable): "hbfir1": HalfBandDecimator(taps, **common_rx_filter_opts), # Clock domain conversion. - "clkconv": ClockConverter(IQSample(8), 8, "gck1", "sync"), + "clkconv": ClockConverter(IQSample(8), 4, "gck1", "sync"), } for k,v in rx_chain.items(): m.submodules[f"rx_{k}"] = v @@ -82,7 +235,7 @@ class Top(Elaboratable): tx_chain = { # Clock domain conversion. - "clkconv": ClockConverter(IQSample(8), 8, "sync", "gck1", always_ready=False), + "clkconv": ClockConverter(IQSample(8), 4, "sync", "gck1", always_ready=False), # Half-band interpolation stages (+ skid buffers for timing closure). "hbfir1": HalfBandInterpolator(taps, data_shape=fixed.SQ(7), @@ -95,7 +248,6 @@ class Top(Elaboratable): # CIC interpolation stage. "cic_interpolator": CICInterpolator(1, 3, (1, 2, 4, 8), 8, 8, num_channels=2, always_ready=False, domain="gck1"), - "skid4": DomainRenamer("gck1")(StreamSkidBuffer(IQSample(8), always_ready=False)), } for k,v in tx_chain.items(): m.submodules[f"tx_{k}"] = v @@ -111,7 +263,7 @@ class Top(Elaboratable): m.d.comb += [ adcdac_intf.dac_stream.p.eq(nco.output), adcdac_intf.dac_stream.valid.eq(1), - last.ready.eq(1), + tx_chain["cic_interpolator"].output.ready.eq(1), ] with m.Else(): connect(m, last, adcdac_intf.dac_stream) @@ -129,7 +281,7 @@ class Top(Elaboratable): m.d.sync += [ # Trigger enable. - mcu_intf.trigger_en .eq(ctrl[7]), + flow_ctl.trigger_en .eq(ctrl[7]), # PRBS enable. mcu_intf.prbs .eq(ctrl[6]), diff --git a/firmware/fpga/util/__init__.py b/firmware/fpga/util/__init__.py index 47e88e5e..75334121 100644 --- a/firmware/fpga/util/__init__.py +++ b/firmware/fpga/util/__init__.py @@ -35,7 +35,7 @@ class ClockConverter(wiring.Component): def elaborate(self, platform): m = Module() - m.submodules.mem = mem = fifo.AsyncFIFOBuffered( + m.submodules.mem = mem = fifo.AsyncFIFO( width=Shape.cast(self.shape).width, depth=self.depth, r_domain=self._output_domain,

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