We’re excited to announce the public release of the Atomic Memory™ reference repository:
https://github.com/fcunnane/AtomicMemory
This repository contains the full design, FPGA images, test scripts, and documentation for a 1024-cell read-once memory bank built entirely in standard CMOS logic.
🔍 Why This Matters
In modern security systems, especially with the increasing focus on post-quantum cryptography and ephemeral key-structures, one of the biggest risks is secrets that live too long: keys that remain in memory, can be replayed, cloned or extracted.
Atomic Memory™ is designed from the ground up to address that: a memory primitive where each cell can be read exactly once (under correct conditions), and upon misuse or second read, it enters an irreversible collapse state producing entropy instead of the original value.
Key features:
- A deterministic read-once semantics: the first correct read returns the stored value; any non-compliant operation collapses the cell.
- A purely digital implementation in standard CMOS — no exotic process steps, no analog logic.
- Integrated entropy generation: once collapse happens, the cell transitions into TRNG/PRNG mode, giving obfuscated output instead of the original data.
- A scalable bank (1024 cells) with shared entropy bus, memory-mapped access, and full test harness.
📦 What You’ll Find in the Repo
Here’s a quick overview of the contents of the repository:
- fpga/collapse_cell.sv — The core cell logic implementing INIT, first-read, collapse semantics.
- fpga/collapse_bank.sv — A 1024-cell bank module that instantiates the collapse_cells, handles addressing, the entropy ring oscillator path.
- fpga/Atomic1024Bank.sof and fpga/SignalTap.sof — Precompiled FPGA images for Intel Cyclone V SoC (DE-SoC board) with and without instrumentation.
- tcl/ folder — TCL scripts (System Console) for automated testing: cell-init, random basis testing, collapse verification.
- LICENSE.md — Non-commercial research license.
- README.md — Full overview of the project, usage instructions, hardware target, and notes.
🛠 How to Get Started
You can start experimenting today
git clone https://github.com/fcunnane/AtomicMemory.git
- Clone the repo
- Load the Atomic1024Bank.sof onto your Intel Cyclone V board (5CSEBA6 / DE-SoC) via Quartus Programmer.
- Run the included TCL scripts in System Console to initialize cells, perform first‐reads and verify collapse behavior.
- Inspect the collapse_cell.sv and collapse_bank.sv to understand the logic: how INIT, read pulses, basis validation, collapse state machines operate.
- Use the SignalTap.sof build if you want internal waveform visibility: capture collapse transitions, ring oscillator data, etc.
📈 What the Release Means
By releasing this as an open reference implementation, the goal is to enable:
- Academic review and validation of read-once memory primitives.
- Hardware security engineers to prototype and integrate ephemeral key-handling into FPGAs or ASICs.
- Researchers to explore collapse behavior, entropy evolution, side-channel risks, and integration with post-quantum stacks.
- The wider community to extend the design: larger banks, alternative basis schemes, different interface options (AXI, Avalon-MM, etc.).
🙋 Get Involved
We’d love your feedback, ideas, and contributions. Here are ways you can get involved:
- Open an issue on GitHub if you find bugs, documentation gaps, or want improvements.
- Fork the repo and experiment: e.g., change cell count, add new interface, test other FPGAs or ASIC flows.
- Share your results — whether it’s waveform captures, collapse timing measurements, entropy statistics, or integration with your system.
- Cite the work in academic papers: The README includes citation instructions.
🎯 Final Thoughts
Memory has often been the weak link in secure systems: keys sitting in RAM, secrets living longer than intended, persistent state creating risks. With Atomic Memory™, the paradigm shifts — secrets can now be forgotten by design.
This release is the first step toward making that paradigm mainstream in hardware security.
The repo is live now, ready to clone, compile, study, break, and build upon: https://github.com/fcunnane/AtomicMemory/
Let’s see what you build.
