Repository navigation
EPIC: Hardware-engineer course track -- 10 new 9x3 courses and fixes to the 4 existing ones #1476
Copy link
Copy link
Open
Labels
Description
Goal
Turn t27.ai/#/course into a full hardware-engineer track: every course 9 modules x 3 lessons = 27 lessons, every lesson a widget plus a .t27 spec that runs in the reader's browser, English by default with an RU contract, black-and-white share cards, SEO pages, and a blog post (EN + RU) per course PR.
This epic is planning only: each child issue is a full decomposition (27 lessons, the spec each lesson opens, a widget idea, and the specs still to be written). Nothing is implemented here.
State on 2026-10-07
| # | Course | Status |
|---|---|---|
| 0 | t27-basics |
shipped (#1464) |
| 1 | course (FPGA) |
shipped, needs fixes (#1478) |
| 2 | ai-numbers |
shipped, needs fixes (#1480) |
| 3 | goldenfloat |
built, needs restructuring (#1479, #1469) |
Note: t27.ai has not deployed since 2026-10-04; see #1475.
Key findings from the review
- Hardware specs do not run in the browser. Every hardware spec tried typechecks and lowers to HIR. Their tests still fail in the runner on locals, calls and struct fields.
constsOfalso crashes on100_000_000,0x03,0b..., unary and identifier constants. Examples:clock_domain(12 failures),fifo(18),axi4(16),tri27_machine(93). Twoai-numberslesson specs fail too. Hardware lessons fall back to recorded casts. Course infra: browser test runner must run hardware specs (calls, locals, struct fields, hex/binary/underscore literals) #1477 blocks every course below. - Course 1 repeats Course 0. It reteaches hello, tests, compiler stages and seven backends. 11 of its lessons open a spec that does not match the lesson topic, including generic
specs/tutorial/*files on hardware lessons (Course 1 (FPGA): remove overlap with Course 0 and give every lesson a hardware spec #1478). - GoldenFloat is a width table. 17 of its 27 lessons are one per width. It has no hardware cost per format and no cross-links (Course 3 (GoldenFloat): teach concepts, not one lesson per width; add hardware cost per format #1479).
- The repo already holds most of the material. About 35
fpga/specs, 30 testbenches, 18 ISA specs, 64 ternary specs and 60+tri fpga-*/x7-*tool specs. Most new courses below are grounded in existing specs, not invented.
Child issues
Infrastructure (do first)
- Course infra: browser test runner must run hardware specs (calls, locals, struct fields, hex/binary/underscore literals) #1477 Browser test runner: calls, locals, struct fields, literal forms
- Hardware track: course map, prerequisites, capstone receipts and a shared lesson-quality checklist #1481 Hardware track: course map, prerequisites, capstone receipts, duplicate-lesson check
Fixes to existing courses
- Course 1 (FPGA): remove overlap with Course 0 and give every lesson a hardware spec #1478 Course 1 (FPGA): remove overlap with Course 0, hardware spec per lesson
- Course 2 (AI numbers): make lessons runnable instead of recorded, and hand datapath topics to the accelerator course #1480 Course 2 (AI numbers): runnable lessons, hand datapath to the accelerator course
- Course 3 (GoldenFloat): teach concepts, not one lesson per width; add hardware cost per format #1479 Course 3 (GoldenFloat): concepts not widths, hardware cost per format
New hardware courses (9x3 each, decomposed)
| Issue | Course id | Grounded in existing specs | New specs needed |
|---|---|---|---|
| #1482 | clocks-and-cdc |
clock_domain, cts, fifo, timing, emitter_xdc |
3 (mmcm, reset_sync, mtbf) |
| #1483 | verify-hardware |
30 *_tb, vcd_trace, formal, x7-mutate, fpga-batch-cosim |
1 (coverage) |
| #1484 | buses-and-peripherals |
uart, spi, apb_bridge, axi4, bridge, memory |
2 (rgmii, eth_crc) |
| #1485 | open-toolchain |
x7-fasm, x7-writer, router, placement, fpga-jtag |
0 |
| #1486 | ternary-computer (roadmap) |
isa/* (18), ternary/*, assembler, linker, bootrom |
0 |
| #1487 | ai-accelerator |
mac, gf16_accel, gft_*, bitnet_* |
1 (systolic) |
| #1488 | arithmetic-circuits |
ternary_ripple_adder, gft_add_rne, gft_mul_rne, bigint |
4 (adders, multipliers, divider, cordic) |
| #1489 | power-and-test |
power, power_analysis, dft, fpga-jtag, fpga-selftest |
0 |
| #1490 | dsp-and-radio |
bpsk, requant_boundary |
9 (dsp/*) |
| #1491 | fpga-to-silicon |
tt-trinity-corona |
3 (asic/*); honesty rules: no die exists |
Ship order:
- Course infra: browser test runner must run hardware specs (calls, locals, struct fields, hex/binary/underscore literals) #1477, Course 1 (FPGA): remove overlap with Course 0 and give every lesson a hardware spec #1478
verify-hardware+clocks-and-cdc(most existing specs, highest demand)buses-and-peripherals+open-toolchainternary-computer+ai-acceleratorarithmetic-circuits, which supplies CORDIC for DSPpower-and-testdsp-and-radiofpga-to-silicon
Golden Ruler (arXiv:2606.09686) stays on the roadmap as a formats course. Its conformance vectors are used as a test corpus by #1483 and #1479.
Rules for every child
- Spec first in
gHashTag/t27, then copied here (t27-spec-first); only t27 for new code. - Numbers only from real tool output named in
DATA_SOURCES; board named on every page. - Hardware results are on the Artix-7 FPGA prototype; no silicon claims anywhere (TTSKY26a/b were withdrawn, no die exists).
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Projects
- StatusShow more project fieldsNo status
Activity
gHashTag commentedon Oct 7, 2026
Added #1492 (owner directive 2026-10-07): access funnel -- first course free, two more behind Telegram login, 10000 Telegram Stars unlocks all courses via the bot. This gates everything this epic ships; scheduling it alongside the runner fix #1477.
cdc: merge verification world into clocks-and-cdc; 160-widget gallery…
cdc: mint the first missing cast -- tri fpga-txhold lands in slot 22;…
cdc: close the last two uniqueness gaps -- rxcap and rxer casts; all …
fix(blog): drop the duplicated nine-modules-of-three-again import and…
fix(course): keep the harness mutations honest for the fifth course (…
fix(tools): tri-fpga-rxer carries its cast, rxcap and txhold point at…
Merge pull request #1497 from gHashTag/feat/course-verification-1483
Deploy 5b78130
Merge origin/main (course 5 verify-hardware landed as #1497) into fea…
fix(course): keep the harness mutations honest for the sixth course (…