I don't think there is any need to get 25 bits with 1 kHz speed. The LM399 has a much higher noise. So there would be much more noise from the LM399 than any SD modulation amplitude from using "only" some 20 Bit true PWM and than SD modulation on top.
Hmm, Maybe I need to rethink things. Looking at the LM399 datasheet again, it shows ~10 uV (~1.5ppm) of p-p <1Hz noise (Low Frequency Noise Voltage). Looking at the other plot, "Zener Noise Voltage (stabilized)", shows all the noise. I also need to figure out what I'm trying to achieve (My thought has been a 10 V transfer-standard with long-ish term stability, but not necessarily low noise.).
I was intending to get the resolution down to be similar to what I see as the S.D. of voltmeter readings when measuring my source (about 0.5 uV of 10V), so 0.05 ppm, even though this is wasted due to the accuracy of the reference.....
Do you have any suggestions? Is there something you'd like to see done with the LM399?
Connecting a few LM399 in parallel would reduce the noise, but burn a lot of power.
Disciplining a lower-noise source (like LTC6655) with a LM399 (Stack two LTC6655-5 to get 10V, use a 8 to 12 bit DAC to tweak the output to be 10V, divide down to ~7.1V with PWM and compare to the LM399 to use as a feedback loop to control the DAC, using a micro for temperature compensation?)? I guess this is just another name for auto-cal. The disciplining can be disabled, and the PWM divider can be used as a fairly linear high-resolution calibrator output.
25bits at 1kHz will be a bit of a challenge, but if you could ease the requirements a bit, Parallax' Propeller might be an alternative. That MCU has a quite odd and by now fairly old design, requires support chips (external I2C connected EEPROM), draws quite a bit of power and has other drawbacks. It does however allow for arbitrary length PWM via bit banging (since it has eight 'cogs' -- think of them as cores -- and no interrupts, bit banging can be done jitter-free easily). It's routinely clocked up to 100MHz, some reported success with slightly higher clock rates. Sadly, despite its age, the MCU is notoriously under-specified. It derives its clock from an external crystal via an internal PLL circuit. It's unclear to me how much jitter that introduces (on small time scales -- within a second, I measured the error to be less than 2 parts in 80e6 using a 10MHz reference signal from a GPSDO).
FPGA seems to be the more promising choice, the Propeller might just be easier to program.
I meant to try this for a long time now. You could beat me to it.
The Propeller looks interesting, but probably can't do what I want because of its "only" 80 MHz clock speed (without using an external serializer IC). I'm also worried the low-ish PLL frequency of 128 MHz implies significant clock jitter. Another similar (but more modern?) design are the processors by XMOS. They quite likely could do the wizardry I'm trying to get, with "tile" clock frequencies of 500 MHz on their lower-end hardware (XS1-L6A-64-TQ48-C5).
I already have a proof-of-concept PWM generator running on a FPGA dev board, so my plan is to further explore it.
So, the question is if I should finish up this 10V LM399-based source. I'm leaning towards yes, just to see how good of a PWM generator I can make. But, I won't make a dedicated PCB this time. I'll just use the machXO2 breakout board, as-is, with a small external MCU to do temperature readings, and package it in a box to avoid drafts. I need to get my design into an oven soon for doing tempco checks.