Repository navigation
Conversation
… SAR ADC blocks (Closes #1732, Refs Trinity-S-AI-DNA/t27#11972) One post in English and Russian. Every number is copied from the v0.1 release notes (t27#11973) with its pull request or issue; the speed is stated only as 170000 to 196000 times slower than real time; the limits (one corner on the board, M3f phase 2a never loaded and below 100 MHz, four blocks NOT MODELLED, converter not predicted end to end) are stated plainly. The widget and the course lesson are not part of this change. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Summary by t27-beesChecked by the t27 compilert27c parse, parse-complete and typecheck on each changed .t27 file at
Read by the modelThis PR adds a bilingual blog post announcing t27 analog emulation v0.1 (9 PASS, 0 FAIL, 4 NOT MODELLED of 13 SAR ADC blocks) together with the spec-generated widget Worth a look
Read: 14 files, +929 -98, the whole diff up to 60000 characters (the rest was not read). Head |
…oard of t27 analog v0.1 (Refs #1377) A spec-generated tool widget: one table (9 of 13 blocks pass, 0 fail, 4 not modelled; 26 / 0 / 4 of 30 rows) and one diagram (the dynamic comparator decision time, 613.07 ps in t27 against 602.54 ps in ngspice, +1.75 %). The numbers come from docs/analog/v0.1-release-notes.md of Trinity-S-AI-DNA/t27 (PR 11973) and nowhere else; the spec's own tests pin the sums, every table cell and flow step, and recompute the 1.75 % in integers. Nothing on the page is a speed claim. - specs/widgets/analog-v01-acceptance.t27: the spec (byte-identical to t27 specs/widgets/analog_v01_acceptance.t27) - public/widgets/analog-v01-acceptance/: tool.js (one import of ../infographic.js), generated index.html and .t27, card.png 1200x630 - gallery.t27 + queenWidgets.generated.ts: registered (kind tool, category fpga) - course verify-hardware, lesson coverage-lies: LESSON_ALSO carries the id (gate S15), course.generated.ts and public/learn regenerated Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… regenerated (Refs #1377) The spec is byte-identical to specs/widgets/analog_v01_acceptance.t27 in Trinity-S-AI-DNA/t27#12025 after its first review: the Total row's last table cell is now pinned by a test, the row test is renamed to what its counts can prove, and the gap window's unit is stated. The page text is unchanged; the generated copy and the page stamp follow the spec. 604 spec tests, 1937 asserts, all hold. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…nguages (Refs #1732) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Closes #1732
Refs Trinity-S-AI-DNA/t27#11972 (analog epic Trinity-S-AI-DNA/t27#10486), Trinity-S-AI-DNA/t27#12025, supersedes #1735
What this adds
One blog post,
analog-emulation-v0-1, in English (body, ASCII) and Russian (ruBody), telling what t27 analog emulation v0.1 measured and what it does not claim, plus the widget the post links, in the same PR so the widget-per-post rule and the course-post rule are both met by one change. The headline is the acceptance run of an external team's per-block checks on the 13 blocks of the golden SAR ADC: 9 PASS, 0 FAIL, 4 NOT MODELLED.Commits, oldest first:
27aaad96fthe post (my commit):analog-emulation-v0-1.ts,posts.ts,index.ts.cda4cc0b9and209274bb9the widgetanalog-v01-acceptance(cherry-picked from widget(analog-v01-acceptance): the SAR ADC acceptance scoreboard of t27 analog v0.1, spec-generated (Refs Trinity-S-AI-DNA/t27#11972) #1735, written by the peer session that owns it): specspecs/widgets/analog-v01-acceptance.t27, the generated page underpublic/widgets/analog-v01-acceptance/, the gallery and course registrations,card.png.fa373b1cdone paragraph in each language of the post, linking t27.ai/widgets/analog-v01-acceptance/ (no new block kind, no renderer change; the sameppattern other posts use for their widgets).Every number in the post and in the widget is copied from the v0.1 release notes (Trinity-S-AI-DNA/t27#11973, merged; release
analog-v0.1.0is tagged) with the pull request or issue it was measured in. Speed appears once in the post, as: the board is 170000 to 196000 times slower than real time; the widget makes no speed claim. The post names no partner, budget or customer ("an external team"). It states plainly: one corner on the board, M3f phase 2a never loaded and below 100 MHz, four blocks NOT MODELLED, converter not predicted end to end.What is not in this PR
specs/course/*.t27,courses.t27,scripts/course-from-spec.mjs), each with exactly 27 lessons and a unique widget per lesson. The widget is placed in the existing "coverage-lies" lesson ofverify-hardwareby the generator (gate S15), as in widget(analog-v01-acceptance): the SAR ADC acceptance scoreboard of t27 analog v0.1, spec-generated (Refs Trinity-S-AI-DNA/t27#11972) #1735.Checks run
By me, on the new head
fa373b1cd:npm run check:blog-bodiesinapps/website: passed (111 published posts open in the reader).tsc, no browser render: heavy builds are not run on this Mac.Carried from #1735, run there by its author on the widget commits, not re-run by me: the three
--checkgenerators (194 pages, 604 spec tests, 1937 asserts; 307 widgets; course up to date) andt27c test-reportof the widget spec (10 tests, 10 pass, 0 fail, 7 of 10 vacuous as in every widget spec).{ "version": 1, "head_sha": "fa373b1cdaec5669b60c21531101c6e7ebbfd875", "summary": "Adds one bilingual blog post on t27 analog emulation v0.1 (9 PASS, 0 FAIL, 4 NOT MODELLED of 13 SAR ADC blocks) together with the spec-generated widget analog-v01-acceptance it links, so the post, its widget and the course placement land in one change.", "changes": [ "Adds apps/website/src/data/blog/bodies/analog-emulation-v0-1.ts with an ASCII English body and a Russian ruBody of 37 blocks each, including one paragraph per language that links t27.ai/widgets/analog-v01-acceptance/.", "Registers the post in apps/website/src/data/blog/posts.ts and apps/website/src/data/blog/index.ts with English and Russian metadata and eight receipts.", "Adds specs/widgets/analog-v01-acceptance.t27, which holds the scoreboard numbers once as K_ constants and 10 tests that add the counts up and recompute the 1.75 % in integers, and the generated public/widgets/analog-v01-acceptance/ page with a one-line tool.js and a 1200x630 card.png.", "Registers the widget in specs/widgets/gallery.t27, public/widgets/gallery.t27 and src/lib/queenWidgets.generated.ts, and places it in the coverage-lies lesson through specs/course/verify-hardware.t27 and the regenerated course files." ], "tests": [ { "command": "npm run check:blog-bodies (in apps/website)", "result": "passed, every published post of 111 opens in the reader", "status": "passed", "evidence": "Output line: blog bodies: every published post of 111 opens in the reader, run on head fa373b1cd." }, { "command": "LC_ALL=C grep for non-ASCII bytes on the English body of analog-emulation-v0-1.ts", "result": "no non-ASCII byte found in the English body", "status": "passed", "evidence": "The scan between the body export and the ruBody export printed a count of 0." }, { "command": "node apps/website/scripts/widget-pages-from-spec.mjs --check", "result": "up to date, 194 pages, 604 spec tests, 1937 asserts, all hold", "status": "passed", "evidence": "Run by the widget's author on the same two widget commits in PR 1735 and carried here unchanged; not re-run by me." }, { "command": "t27c test-report specs/widgets/analog_v01_acceptance.t27 (master-built t27c, T27 OS shell pane)", "result": "10 tests, 10 pass, 0 fail; 7 of 10 vacuous because integer-only asserts are folded, as in every widget spec", "status": "passed", "evidence": "Run by the widget's author in PR 1735 and carried here; the three string-comparing tests execute 15, 1 and 3 runtime asserts." }, { "command": "npx vite build and tsc typecheck of apps/website", "result": "not run, heavy builds skipped on this Mac", "status": "not_run", "evidence": "Skipped on purpose because heavy builds are not run on this Mac, so the layout of the page was not rendered here." } ], "limitations": [ "Nothing in the post or on the widget is measured by this PR: every number is copied from docs/analog/v0.1-release-notes.md of Trinity-S-AI-DNA/t27 (PR 11973, merged), and the 4 NOT MODELLED blocks stay open gaps.", "The widget page is not live until this PR merges and the release PR in 999 ships it; a seal was not saved, as no existing tool widget spec carries one.", "The page was not rendered in a browser and no production build was run, so the layout of the long tables is unchecked.", "The course lesson is not hand-written; the widget is placed in an existing lesson by the generator, and a new lesson of the analog course is still to come." ], "tags": ["t27", "analog", "FPGA", "ngspice", "Widgets"], "blog": { "title": "t27 analog emulation v0.1: 13 SAR ADC blocks checked, 9 PASS, 0 FAIL, 4 NOT MODELLED", "summary": "A SPICE netlist with IHP SG13G2 (PSP103) models becomes t27 specs that are both the software reference and the FPGA design. An external team's per-block checks on 13 SAR ADC blocks give 9 PASS, 0 FAIL and 4 NOT MODELLED, and the post states plainly what v0.1 does not claim.", "outline": [ "What v0.1 is: a SPICE netlist with PSP103 models becomes t27 specs that are both the reference and the FPGA design, checked against ngspice-47 and VACASK.", "The measured chain: the linear cell and the netlist front end, the PSP103 tables for five corners, the SAR ADC blocks and the first converter slice.", "The acceptance result of an external team's checks on 13 blocks, with the ngspice cross-check of each transistor-level row, the negative controls and the scoreboard widget.", "The AX7203 board receipts, the waveform writer and the second reference, and the speed stated as 170000 to 196000 times slower than real time.", "What v0.1 does not claim: one corner on the board, an unloaded comparator unit below 100 MHz, four blocks NOT MODELLED, and a converter that is not predicted end to end." ] } }🤖 Generated with Claude Code