# ASM · RV32I From Blinker to RISC-V Status: L01--L09 opracowane, testowane i zarejestrowane; seria zakończona. ```text ASM · RV32I From Blinker to RISC-V ├── L01 · Number Systems and Storage [existing · 3 taski] ├── L02 · FPGA Bring-up and Programming [existing · 3 taski] ├── L03 · Blinker and Synchronous Logic [existing · 3 taski] ├── L04 · The RISC-V ISA and Instruction Decoder [existing · 3 taski] ├── L05 · ALU and the Verilog Assembler [existing · 3 taski] ├── L06 · Control Flow — Jumps and Branches [existing · 3 taski] ├── L07 · Addresses and Memory [existing · 3 taski] ├── L08 · Subroutines and ABI [existing · 3 taski] └── L09 · Load and Store Semantics [existing · 3 taski] ``` L01 dostarcza języka liczb, kodowania i pamięci. L02 ustanawia fizyczną drabinkę FPGA. Kolejne karty prowadzą od logiki synchronicznej do rdzenia, który wykonuje podstawowe instrukcje RV32I. ## Stan odbioru serii — 2026-07-21 Każda karta ma trzy wykonywalne taski, niezależny model `native-amd64`, self-checking SystemVerilog w profilu `hazard3-sim`, akcję debug zapisującą VCD, testy kontraktu i stanu, widok React oraz dwustronicowy PDF A4. | Karta | Dowód końcowy | | --- | --- | | L01 | systemy pozycyjne, sign/zero extension, shifts i little-endian | | L02 | polaryzacja, znany reset, blinker i uporządkowany preflight FPGA | | L03 | clock enable, counter blinker i pattern ROM | | L04 | dekoder, legalność opcode i bank rejestrów | | L05 | ALU, kodowanie instrukcji i wykonanie małego programu | | L06 | warunki branch, immediate/target i ślad PC | | L07 | LUI/AUIPC, pamięć słów, adres i fault | | L08 | JAL/JALR, role ABI i zagnieżdżone powroty | | L09 | store strobes, rozszerzenia load i roundtrip pamięci | Odbiór obejmuje 27 tasków wykonanych w obu profilach: 54/54 zakończyły się komunikatem `PASS`. PDF-y przechodzą `qpdf --check`, a ich pliki `source-commit.txt` wskazują bezpośredni commit źródłowy. ### Granica sprzętowa L02 Repozytorium L02 nie zgaduje modelu płytki, pinów ani programatora. Dostarcza `board/board-contract.yaml` jako bezpieczny szablon oraz osobny formularz dowodu fizycznego. Automatyczny preflight i symulacja zawsze raportują `hardware_observed=0` oraz `claim=preflight-only`; nie są przedstawiane jako zbudowanie bitstreamu ani zaprogramowanie FPGA. Fizyczne zaliczenie wymaga konkretnej płytki, SHA-256 bitstreamu, zgodnego device ID, logu konfiguracji i zmierzonej obserwacji LED. ### Sposób uruchamiania ```bash stemctl series show rv32i-asm stemctl list-cards rv32i-asm stemctl card use rv32i-asm L01 stemctl test native-amd64 rv32i-asm L01 1 stemctl test hazard3-sim rv32i-asm L01 1 stemctl debug hazard3-sim rv32i-asm L01 3 ``` Materiał źródłowy programu: `series/inf/lab-rv32i-c-pointers-arrays/guidelines/year-01-interrupts-to-year-02-freertos.md`.