Apr 27, 2023
Portare il PIO sull'FPGA
We’ve seen some pretty incredible hacks using the Raspberry Pi 2040. However,
Abbiamo visto alcuni hack davvero incredibili utilizzando il Raspberry Pi 2040. Tuttavia, uno degli elementi hardware più interessanti integrati è l'I/O programmabile (PIO). Non contento di far parte solo di progetti basati su RP2040, [Lawrie Griffiths] ha portato il PIO su Verilog in modo che chiunque possa goderselo.
Questa particolare implementazione si basa solo sulle specifiche fornite da Raspberry Pi. Per assemblare il codice PIO, [Lawrie] utilizza l'assemblatore pioasm di Adafruit utilizzato per il loro framework MicroPython. C'è un simulatore per testare diversi programmi e il progetto si rivolge a Blackice MX e Ulx3s. Nel repository sono inclusi alcuni programmi di esempio, come l'emissione di una piacevole nota di chitarra su I2S e il pilotaggio di una catena di WS2812.
Il progetto è ancora incompleto ma sta lentamente procedendo. È un'impresa incredibile di reverse engineering. Sebbene il simulatore possa essere utilizzato per eseguire il debug di programmi, eseguire istruzioni e ispezionare le forme d'onda, il valore finale di portare il PIO su altri sistemi è che ora possiamo riutilizzare il codice. Cose come il can2040, un'implementazione del protocollo CAN bus che utilizza il PIO. O anche un host USB basato su PIO.