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.

UnderstandTrace row-dependent attenuation through correction factors α\alpha, γ\gamma, and θ\theta into the fixed-point SEC/OCCS macro.
ReproduceRun deterministic state sampling, per-column calibration, and probability-weighted SNDR.
ExtendUse the tapeout, PCB, PYNQ, data-schema, and provenance guides as engineering handoffs.

Choose a path

Start from the question you want to answer.

Architecture

How does SEC correct the array?

The path runs from the behavioral model to the integrated macro: the α\alpha, γ\gamma, and θ\theta factorization, then fixed-point widths and OCCS.

Open the design story →
Implementation

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 →
Measurement

How is compute SNDR estimated?

Inspect calibration, 30×1030\times10 code-conditioned sampling, probability weighting, and measured results.

Open the measurement story →
Reproduction

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
Output labels

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
How to read every number

A compact evidence label identifies the source of each result, while the adjacent condition identifies NN, ADC columns, clock/precision, sample population, or application mapping.

SiliconMeasured on the 22 nm macro under the stated protocol.
ImplementedA property of the design as built, such as the die area a block occupies.
Circuit simulationTransistor-level PVT, mismatch, and Monte Carlo evidence.
Behavioral modelParasitic-aware array and fixed-point SEC studies.
ProjectionEstimated implementation alternative, such as SRAM-backed SEC storage.
SyntheticDeterministic input generated by the runnable method example.

Artifact map

Choose what you want to inspect or run.

Read · Design

Behavioral model guide

Signal-path components, controlled sweeps, α\alpha extraction, correlation ladder, and validation invariants.

design/behavioral-model/
Read · Design

SEC/OCCS architecture

Roles of γ\gamma and θ\theta, learning and inference paths, fixed-point widths, sensing phases, and macro organization.

design/sec-architecture/
Follow · Hardware

Tapeout process guide

Four evidence gates from model freeze through physical/package closure and executable bring-up.

tapeout/process-guide/
Follow · Hardware

PCB and PYNQ guides

QFN64 board intent, power/bring-up ladder, overlay fingerprint, typed transport, and acquisition flow.

hardware/
Run · Measurement

Measurement package

Affine MMSE calibration, deterministic state sampling, signed-code probability model, and weighted SNDR.

src/sec_mram_imc/
Run · Measurement

Protocol demonstration

An example with 30 states per code and 10 repeats per state, explicit synthetic correction, and column results.

examples/protocol_demo.py
Build · Data

Measurement schema

Run configuration, protocol, raw sample, calibration, and provenance fields for structured captures.

data/schema.json
Cite · Papers

ESSCIRC 2023, JxCDC 2024, and JSSC 2025

Parallel-bar modeling, measured SEC silicon, the complete journal account, and copyable citations.

papers/README.md