<sb0>
whitequark, maybe you should consider FPGA + DAC ;)
<sb0>
cr1901_modern, reduce() is an existing python function, optree is additional code that I have removed in the new branch
<sb0>
there are no problems with multiplication (since there are no overflows), and I guess synthesizers reorganize associative operations into trees just fine
<rjo>
why are there no overflows?
<sb0>
whitequark, (pa98) ion trap electrode drivers
<sb0>
because the bit width of the multiplication is the sum of that of the operands
<sb0>
if there is a truncation, it happens at the end
<rjo>
hmm. is there a concise document about verilog that says these things?
<sb0>
actually in verilog this isn't exactly what happens - all operands are coerced first to the same size. but it is equivalent (and modular multiplication is still associative)
<rjo_>
sb0: only associative if all ops and the target have the same modulus. but from what you say they do.
<rjo_>
sb0: and anyway. even if migen has a different behavior, as long as it outputs verilog, it needs to map its behavior to that of verilog.
rjo_ has quit [Quit: leaving]
<sb0>
rjo, radare2-or1k or llvm-lm32?
rohitksingh has joined #m-labs
<whitequark>
sb0: haven't decided on particular DDS yet. I do not have very strict requirements for my application
<whitequark>
using FPGA+DAC to generate sine with fixed amplitude and varying frequency seems like overkill, also unnecessarily complicates board design and assembly
<sb0>
touch those crappy Analog Devices DDS chips and we talk again...
<sb0>
how fast does it need to be?
<sb0>
I mean, what the maximum frequency is
<sb0>
if you can get away with QFP packages, the board layout should be quite straightforward... you can connect the DAC pins to most FPGA pins
<sb0>
so no tracks crossing etc.
<whitequark>
10MHz top
<sb0>
yeah, put a lx4/lx9 and some DAC
<sb0>
that would make a nice small fpga project too...
<whitequark>
ugh, BGA
<sb0>
no, those are available in TQ144
<sb0>
would a sigma-delta DAC even work? you can generate ~1Gsps 1-bit on those chips
<whitequark>
hrm
<whitequark>
I think so
<sb0>
also: I think we should/will get rid of the DDS on ARTIQ in the far future and replace them with fast DACs and a fat FPGA
<sb0>
so this small DDS code might even be useful in the long run.
<cr1901_modern>
sb0: You'd need a good LPF if you're doing delta-sigma that fast (idk the freq spectrum on the types of cap's you're using but 1GHz sounds beyond the point where caps start acting like inductors)
ylamarre has quit [Quit: ylamarre]
<whitequark>
no, you only need a 10MHz filter
<cr1901_modern>
Why? Just (really) oversampling?
rohitksingh has quit [Quit: Leaving.]
FabM has joined #m-labs
fengling has joined #m-labs
rohitksingh has joined #m-labs
rohitksingh has quit [Ping timeout: 240 seconds]
rohitksingh has joined #m-labs
antgreen` is now known as atgreen
rohitksingh has quit [Ping timeout: 255 seconds]
rohitksingh has joined #m-labs
rohitksingh has quit [Ping timeout: 246 seconds]
rohitksingh1 has joined #m-labs
rohitksingh1 has quit [Ping timeout: 246 seconds]
ylamarre has joined #m-labs
<rjo>
sb0: radare-or1k or llvm-lm32 what?
rohitksingh has joined #m-labs
rohitksingh has quit [Ping timeout: 240 seconds]
rohitksingh has joined #m-labs
rohitksingh1 has joined #m-labs
rohitksingh has quit [Ping timeout: 272 seconds]
rohitksingh has joined #m-labs
rohitksingh1 has quit [Ping timeout: 268 seconds]
rohitksingh has quit [Quit: Leaving.]
rohitksingh has joined #m-labs
ylamarre has quit [Quit: ylamarre]
cr1901_modern has quit [Read error: Connection reset by peer]