pico_ice_fpga

group pico_ice_fpga

Low-level API for interacting with the FPGA chip.

Functions

void ice_fpga_init_clock(uint8_t mhz)

Initialise the FPGA clock at the given frequency.

Parameters

mhz – The clock speed in MHz. Valid values: 48MHz, 24MHz, 16MHz 12MHz, 8MHz, 6MHz, 4MHz, 3MHz, 2MHz, 1MHz.

void ice_fpga_init_uart(uint32_t mhz)

Initialise the UART peripheral for communication with the FPGA, at the given baudrate.

Parameters

mhz – The baud rate speed in MHz. Can be any value supported by the pico-sdk.

void ice_fpga_init(void)

Initialise the FPGA chip and communication with it.

This will start the FPGA clock and take it out of reset.

int ice_fpga_reset(void)

Send a reset pulse to the FPGA re-reading its configuration then re-starting.

It must be called before ice_flash_init();

void ice_fpga_halt(void)

Hold the FPGA in reset mode until ice_fpga_reset() is called.

Useful for programming the flash chip without disturbing the FPGA.