Developed a high-speed true random number generator using magnetic tunnel junctions (MTJs), validated to NIST standards. Designed and tested full-stack hardware on a PCB, conducted MTJ device characterization, and led extensive lab work including custom C++ tooling and integration. Research contributed to ongoing efforts at Northwestern Physical Electronics Research Laboratory (PERL), combining device-level magnetic phenomena with system-level digital design.
The objective is to develop a fully functional Tunable True Random Number Generator (TTRNG). The finalized PCB design is targeted to operate at 50 MHz, generating 4 random bits every 20 nanoseconds. These bits are sequentially captured by a series of shift registers. Based on the user-selected configuration on the PCB, the system can output either 32 bits every 160 nanoseconds or 8 bits every 40 nanoseconds.
The generated random bits are then read by a microcontroller, stored on an SD card, and subsequently evaluated using NIST randomness test standards to verify their statistical randomness. This TTRNG PCB serves as a component within a broader system, providing random input data to a custom ASIC designed to function as an Ising Model.