Design reasoning · runnable methods · engineering record
Explore the design-to-measurement repository.
The repository connects the published architecture to tested code for protocol generation, affine calibration, and code-conditioned SNDR. Design, tapeout, PCB and PYNQ, measurement, and publication notes are each organized by the question they answer.
Choose a path
Start from the question you want to answer.
How does SEC correct the array?
The path runs from the behavioral model to the integrated macro: the , , and factorization, then fixed-point widths and OCCS.
Open the design story →How did the idea become a chip?
Walk through model freeze, mixed-signal integration, physical and package closure, and post-silicon readiness.
Open the tapeout story →How is compute SNDR estimated?
Inspect calibration, code-conditioned sampling, probability weighting, and measured results.
Open the measurement story →What can I run immediately?
Generate the protocol, fit independent ADC-column calibration, and compute weighted SNDR on deterministic data.
Jump to quick start ↓Quick start
Run the public measurement method.
Using only the Python standard library, the deterministic example generates code-conditioned requests, synthetic column responses, per-column calibration, and final weighted SNDR.
Run the example
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install -e .
python3 examples/protocol_demo.py
Run the tests
PYTHONPATH=src python3 -m unittest \
discover -s tests -v
Build the website
corepack enable
pnpm install --frozen-lockfile
pnpm run build
pnpm run validate
# without node
python3 scripts/build_site.py
python3 scripts/validate_site.py
Example output is labeled Synthetic. Prototype values on the site are labeled Silicon, Circuit simulation, Behavioral model, or Projection.
Repository map
Each directory owns one part of the story.
The editable website builds into docs/. The Python package implements deterministic sampling, calibration, correction illustration, and weighted compute-SNDR.
SEC-Enabled-MRAM-IMC/ ├── website/ editable page fragments, CSS, JS, assets ├── docs/ generated GitHub Pages site ├── src/sec_mram_imc/ calibration, sampling, SNDR, SEC demo ├── examples/ deterministic protocol demonstration ├── tests/ standard-library unit tests ├── measurements/ method and interpretation guide ├── design/ model and SEC/OCCS design notes ├── hardware/ PCB and PYNQ engineering guides ├── tapeout/ mixed-signal process guide ├── data/ measurement schema and release pattern ├── papers/ citations and paper evolution ├── provenance/ artifact and visual manifests └── .github/workflows/ validation and Pages deployment
A compact evidence label identifies the source of each result, while the adjacent condition identifies , ADC columns, clock/precision, sample population, or application mapping.
| Silicon | Measured on the 22 nm macro under the stated protocol. |
|---|---|
| Implemented | A property of the design as built, such as the die area a block occupies. |
| Circuit simulation | Transistor-level PVT, mismatch, and Monte Carlo evidence. |
| Behavioral model | Parasitic-aware array and fixed-point SEC studies. |
| Projection | Estimated implementation alternative, such as SRAM-backed SEC storage. |
| Synthetic | Deterministic input generated by the runnable method example. |
Artifact map
Choose what you want to inspect or run.
Behavioral model guide
Signal-path components, controlled sweeps, extraction, correlation ladder, and validation invariants.
design/behavioral-model/SEC/OCCS architecture
Roles of and , learning and inference paths, fixed-point widths, sensing phases, and macro organization.
design/sec-architecture/Tapeout process guide
Four evidence gates from model freeze through physical/package closure and executable bring-up.
tapeout/process-guide/PCB and PYNQ guides
QFN64 board intent, power/bring-up ladder, overlay fingerprint, typed transport, and acquisition flow.
hardware/Measurement package
Affine MMSE calibration, deterministic state sampling, signed-code probability model, and weighted SNDR.
src/sec_mram_imc/Protocol demonstration
An example with 30 states per code and 10 repeats per state, explicit synthetic correction, and column results.
examples/protocol_demo.pyMeasurement schema
Run configuration, protocol, raw sample, calibration, and provenance fields for structured captures.
data/schema.jsonESSCIRC 2023, JxCDC 2024, and JSSC 2025
Parallel-bar modeling, measured SEC silicon, the complete journal account, and copyable citations.
papers/README.md