summaryrefslogtreecommitdiff
path: root/hw_sim/NOTES.md
diff options
context:
space:
mode:
authorYuren Hao <yurenh2@illinois.edu>2026-07-17 15:37:05 -0500
committerYuren Hao <yurenh2@illinois.edu>2026-07-17 15:37:05 -0500
commit1f8145768b77e2171e27fef33bc683e5a453beb6 (patch)
tree0740f567b4804bbfdcb174bf398ca8dfe2348a14 /hw_sim/NOTES.md
parent8470a592dca83fd54f49e88c7352429e5bb0d315 (diff)
hw_sim v1: datasheet-anchored column — C_bus=5.4nF kills naive design (16.6us); best comp point 3.14us borderline vs 3us commit gate; offset rejection x3088; three design options logged
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FAPDWQ49M5Ye3NpTndTpn
Diffstat (limited to 'hw_sim/NOTES.md')
-rw-r--r--hw_sim/NOTES.md23
1 files changed, 23 insertions, 0 deletions
diff --git a/hw_sim/NOTES.md b/hw_sim/NOTES.md
new file mode 100644
index 0000000..ace5528
--- /dev/null
+++ b/hw_sim/NOTES.md
@@ -0,0 +1,23 @@
+# hw_sim ledger
+
+## v0 (cell_v0.py, 2026-07-17): behavioral sanity
+- 64-branch settle 1.14 us with ASSUMED 60 pF node — later shown ~100x optimistic.
+- Two-phase offset rejection x376 (5 mV Vos).
+
+## v1 (cell_v1.py, 2026-07-17): datasheet-anchored — FIRST REAL DESIGN VERDICT
+Anchors: AD7528 R=11k typ, R_eq(code) 0.8R-2R, C_OUT 50-120 pF/chip, settling 350/400 ns
+(the chip is never the bottleneck); MCP6022 GBW 10 MHz, Vos max 500 uV.
+KEY PHYSICS: 64 OUT pins share the column bus -> C_bus = 64 x ~85 pF = 5.4 nF.
+E1 (settle, commit <=3 us / kill >7 us):
+ naive (R_f=10k, no comp) 16.6 us KILLED
+ R_f=10k + C_f 93 pF 8.2 us killed
+ R_f=3k + C_f 170 pF 5.3 us survives kill, misses commit
+ R_f=1k + C_f 294 pF 3.14 us 5% over commit — borderline
+E2 at (1k, 294pF): Vos 500 uV -> single-read 2.71 mV, two-phase differential 0.88 uV
+ = x3088 rejection, 100x under the 0.1 mV contrast floor. Offset story SOLID.
+DESIGN OPTIONS to clear the commit gate (for Dillavou session):
+ (a) faster TIA: GBW 50 MHz class (e.g. OPA356/OPA2356 ~$1-2) -> projected ~1.4 us;
+ (b) bus segmentation: 2x32 loads, two TIAs, digital sum -> C_bus/2 -> ~2.2 us at 10 MHz;
+ (c) accept 3.14 us: wall-clock 9-14 d -> ~5% slip, not a cliff.
+NEXT (v1.1): resistor-mismatch Monte Carlo -> ENOB-after-cal proxy; op-amp noise integration
+vs contrast floor; then stage C = SPICE-in-the-loop EP training (8x8 toy).