# L02 · FPGA Bring-up and Programming Karta ustanawia bezpieczną drabinkę od kontraktu płytki do obserwacji LED: polaryzacja sygnałów → działający blinker w symulacji → kabel → identyfikacja układu → konfiguracja → fizyczna obserwacja. Repozytorium celowo zawiera [szablon kontraktu](board/board-contract.yaml), a nie zmyślone piny. Przed budową bitstreamu operator musi podać rzeczywisty model płytki, FPGA, częstotliwość, piny i programator. | Task | Automatyczny dowód | | --- | --- | | `task01_pin_polarity` | jawne active-low reset, button i LED | | `task02_bringup_blinker` | znany reset i krawędzie LED co 4 takty | | `task03_programming_gate` | kolejność cable → id → configure → observe | ```bash stemctl card use rv32i-asm L02 stemctl test native-amd64 rv32i-asm L02 1 stemctl test hazard3-sim rv32i-asm L02 2 stemctl debug hazard3-sim rv32i-asm L02 3 ``` Komunikat `PASS task03` oznacza wyłącznie przejście modelu preflight i zawsze raportuje `hardware_observed=0`. Nie jest dowodem zbudowania bitstreamu, połączenia programatora ani działania fizycznej LED. Te dowody należy wpisać do [answers/fpga-bringup-evidence.md](answers/fpga-bringup-evidence.md) po wykonaniu na wskazanej płytce.