3.0 KiB
ASM · RV32I From Blinker to RISC-V
Status: L01--L09 opracowane, testowane i zarejestrowane; seria zakończona.
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
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.