Files

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.