Change Note 2025-06-16

Pico2-Ice Board

Support for New Board: Pico2-Ice

  • The Pico2-Ice combines an RP2350B with a Lattice Semi iCE40UP5K FGPA. Note the B variant of the RP2350 with 48 GPIO pins.
  • New module to support configuring the FPGA hardware logic from the RP2350, using a binary resource (see Astrobe docs) containing the bitstream file, writing the FPGA’s configuration RAM (CRAM).
  • First steps…
  • Example program: configure the FPGA (see below).

Module Library (lib/v2.1)

New Module Ice40up5k

  • Basic device definition and initialisation.
  • Procedure StartCram: start FPGA by configuring CRAM.
  • Procedure StartFlash: start FPGA by making it read its configuration from the on-board flash memory dedicated to the FPGA.

New Module ClockOut

  • Configure and start a clock output via GPIO.

New Module BinRes

  • Access an FPGA bitstream-type binary resource included in the program file.
  • See the Astrobe docs about including resources.

Module ClockCtrl

  • Remove procedure Monitor.
  • Use module ClockOut instead.

Module Timers

  • Add a simple blocking delay function.

Module GPIO (Any)

  • New procedure ResetPad: reset a pad to its reset condition.
  • New procedures ConnectOutput and DisconnectOutput, planned to replace EnableOutput and DisableOutput, to differentiate the two output controls from the GPIO function and on the pad.
  • Improve procedure SetInverters.

Module GPIO (RP2350A, RP2350B)

  • With its 48 GPIO, the RP2350B “reaches” into the upper “HI” register of SIO.
  • Add a first set of procedures for this purpose, required and used in the example program for the Pico2-Ice board.
  • Not yet sure how to best handle this, though. Consider these new SIO procedures as experimental. SIO control of GPIO may be separated into a new module.

Module MCU2

  • Add null GPIO function number.
  • Add values related to clock output set-up (see module ClockOut).

Module LED

  • Add board-specific module for the Pico2-Ice, which has three LEDs for the RP2350, in the form of an RGB LED.

Config Files

  • New config file for the Pico2-Ice.

Tools

  • New tool makebres: create a binary resource to include in the program binary (see Astrobe docs).

Example Programs

  • New example program for Pico2-Ice: configure the FPGA by writing its CRAM directly. The FPGA hardware logic is, you guessed it, a blinker, but a fancy RGB one :)
  • Note the use of local modules Main due to the different serial pins required for the terminals.
  • Test a few existing example programs on the Pico2-Ice.
Updated: 2025-06-16