Hello,

to allow for FPGA selection and to rush the funding I have done a
design study and implemented a basic DSP output channel for the ARTIQ
DSP hardware. A 1.25 GS/s, 16 bit, "smart" channel pair would do

o0 = u0 + i0 * a0 * cos(f0 * t + p0) + q1 * a1 * sin(f1 * t + p1)
o1 = u1 + q0 * a0 * sin(f0 * t + p0) + i1 * a1 * cos(f1 * t + p1)

* u and a are 16 bit cubic spline inteprolators
* p are 16 bit constant (non-) interpolators
* f are 48 bit linear interpolators
* i and q are switches (0 or 1) that allow many different
configurations, among them single tone independent, two-tone, single
tone iq, and two-tone iq
all with independent dc offsets
* the inteprolators interpolate at 1/8 output rate, the DUCs output at
full rate (effectively).
* all designed for 16 bit spline knot duration resolution and scalable
spline interpolation clock

This uses about 28 kLUT, 14% of a xc7k325t. The timing, parsing,
serial link, rtlink, drtio, jdes phy, gearbox, monitoring, digital
servo, adc logic will probably add another 10-20 kLUT per channel pair
but this is the dominant chunk.

This looks good for the xc7a200t or a xc7k325t as the building block
and 4 channels (two smart channel pairs).

I haven't implemented, benchmarked, or tested the latest X suggestions
and design tweaks from article Y in journal Z.

Robert.
_______________________________________________
ARTIQ mailing list
https://ssl.serverraum.org/lists/listinfo/artiq

Reply via email to