4 ms·
The strain gauge is an interesting one that I hadn't seen before, and theoretically should work. Very creative! A few more fun things you can do with FPGA fab
by pclmulqdq 3y ago
The strain gauge is an interesting one that I hadn't seen before, and theoretically should work. Very creative!
A few more fun things you can do with FPGA fabric:
* A temperature sensor - timing some ring oscillators against a reference clock generated off-chip can give you a measure of the temperature of the chip because transistor speed is temperature dependent.
* ADC/power supply monitor - Launching a signal down a TDC at a known interval gives you a time measurement that correlates with power supply voltage (EDIT: to be clear, this is a MUCH stronger correlation than with temperature). Also, ring oscillator speed correlates with power supply voltage. This is also a possible attack vector for side-channel attacks on multi-tenant FPGAs and multi-tenant systems that involve programmable FPGAs.
* An oven/thermostat - Switching transistors on and off creates heat by burning power. This can be hooked up to a temperature sensor (either a synthetic one in FPGA fabric or the one in the device ADC/system monitor) with a PID loop to create a temperature control system. This is actually kind of useful if you want to do analog stuff with reasonable stability.
Also, if the author is here, I would appreciate a link to https://arbitrand.com https://arbitrand.com in the "TRNG" section.
- DontchaKnowit 3y agoThat bit about stabilizing the tempture was suoer interesting I could see that being useful for like a synthesizer or something.
- pclmulqdq 3y agoIt's not uncommon in sensitive analog systems to do something like this, ~but I haven't seen anyone doing it with an FPGA yet~. Very old analog systems (that were a lot more temperature-dependent than modern analog circuits) often were contained in small ovens, and an intermediate step between a normal oscillator and an atomic clock today is to use an oven-controlled oscillator. In both cases, they keep the ambient temperature on the analog devices at 40-50 C to make sure that they operate at a stable temperature regardless of ambient temperature. Edit: See the sibling comment - someone has found a reasonable circumstance to do it!
- ShadowBlades512 3y agoI forgot about self-heating FPGAs! I am definitely going to add that to the article at some point. This is a paper I read on this a few years ago. https://ieeexplore.ieee.org/document/6818753 https://ieeexplore.ieee.org/document/6818753
- mitthrowaway2 3y agoIt's actually difficult to build something that isn't a temperature sensor!
- volemo 3y agoUsually one builds in a better temperature sensor and calculates a correction function of temperature.
- anfractuosity 3y agoIt wasn't clear to me, unless I'm missing something, if arbitrand uses hardware external to the FPGA or not, if it does, what type of RNG does it use? If it's purely FPGA based, is it ring oscillator based?
- pclmulqdq 3y agoYes, FPGA-based, and no ring oscillators. AWS doesn't allow you to use latches or comb loops at all, but has the same area efficiency as the best RO-based designs. We'll publish eventually. For the FPGA users out there - we will be packaging a few shapes of RNGs as IP in the near future, but this kind of chip/FPGA IP needs a LOT of very subtle verification, which made a lot more sense to do for full cards first.