Skip to content

analog M5d: nand, nor, tgate and tracking-switch rows of the external team's checks computed from the PSP103 tables, cross-checked with ngspice #11263

Closed as not planned

Description

@gHashTag

Part of the analog epic (Refs #10486). After M5c (#11212, PR #11215) the external team's per-block checks of 2026-10-16 run as a .t27 evaluator on our models: 3 PASS, 1 FAIL, 9 NOT MODELLED of 13 blocks. A row we do not compute is never a pass, so the NOT MODELLED rows are the largest gap to the v0.1 acceptance. This slice computes the rows our existing tables can already answer. Only .t27 (skill only-t27).

Requirements

  • FR-001: The nand and nor output levels (a 1 within 1.45 to 1.55 V, a 0 within 50 mV of 0 V, into 10 fF) MUST be computed from the tt PSP103 tables (mos_psp103.t27 and its data) by a DC solve of the two-input gate, for all four input codes.
  • FR-002: The transmission gate's Ron at 0.75 V, its worst Ron over 0.1 to 1.4 V and its off leakage MUST be computed from the same tables (the leakage through the log-domain weak-inversion read of analog M3c-2: a log-domain PSP103 current read with an integer exp meets the 1 percent bar in weak inversion (worst cell 0.705 percent), inverter delays within 0.025 percent of ngspice #11146).
  • FR-003: The tracking switch rows (tracking error at 0.3 V and 1.2 V into 2 pF, the hold step, the droop) MUST be computed from the bootstrapped switch model (M4c) where it holds the needed quantity; a row it cannot answer stays NOT MODELLED and the reason is written next to it.
  • FR-004: Every newly computed value MUST be checked against our own ngspice-47 run of the same cell on the reference host (container jobs, at most 6 of 12 cores, files removed afterwards) and the difference written in the report; a value without an ngspice cross-check MUST NOT be counted as PASS.
  • FR-005: The report document MUST give the new totals (PASS, FAIL, NOT MODELLED of 13) and list each row with its measured number and limit.

User Scenarios

  • Given the nand inputs 11, when the DC solve runs on the tt tables, then the output is reported in volts and judged against the 0 V +- 50 mV limit.
  • Given the tgate at 0.75 V, when Ron is computed, then it is judged against 30 kohm and the ngspice value of the same cell is printed next to it.
  • Given a row the models cannot answer, when the evaluator runs, then it stays NOT MODELLED with its reason.

Boundary

  • specs/analog/accept_sar.t27
  • specs/analog/
  • docs/analog/accept-sar-2026-10-20.md

Success Criteria

  • t27c test-report specs/analog/accept_sar.t27 prints FAIL 0 and vacuous passes 0
  • the NOT MODELLED count in docs/analog/accept-sar-2026-10-20.md drops from 9 to at most 6 of 13
  • every newly computed row has an ngspice difference printed, in mV or percent

Activity

  1. added
    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it
    on Oct 20, 2026
  2. github-actions commented on Oct 20, 2026

    @github-actions
    Contributor

    Closed by the issue-shape gate (specs/policy/issue_shape.t27, #7498): an issue must have the template's sections. Edit the body; an edit that passes reopens it.

    • missing: ## Success Criteria -- an outcome a machine can settle: a number with a unit, a backticked file, exit 0, or a backticked command
  3. added 2 commits that reference this issue on Oct 20, 2026
    f47f423
    db93ac5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    shape-refusedClosed by the issue-shape gate (specs/policy/issue_shape.t27); a passing edit reopens it

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions