Loading...

Board Profiles

Board Profiles

A board profile defines the FPGA target your gateware builds for. Boards may offer varying clock options, GPIO availability and types, as well as resource constraints. Select one with target_profile in the gateware's peripheral.yaml file.

via-devkit

via-devkit targets the user-programmable FPGA on the Via devkit, which is left open for your peripherals. The rest of the board (a second FPGA and the two BLE radios) ships as fixed production binaries. When you build a peripheral, this profile supplies the device part, the clock, the pin seed, and the encrypted transport IP that connects your module to the host.

Use target_profile: via-devkit in peripheral.yaml to select it.

FPGA

PropertyValue
PartLIFCL-17-9SG72C (Lattice CrossLink-NX-17)
PackageQFN72
Speed grade9
Logic16,640 LUTs
Block RAM432 KB

Your peripheral shares the FPGA with the SDK's transport logic, so the LUT and BRAM budgets above cover the whole device.

Clocking

The peripheral clock clk runs at 40 MHz.

Peripheral capacity

PropertyValue
Max user peripherals8
ID window0xF001..0xFFFE
Nested switchesNot supported

When you add a peripheral to peripheral.yaml, the codegen wires it into the design; 8 is the hard limit.

Toolchain

ToolVersion
Lattice Radiant2024.2 (2024.1 also accepted)
Questa (simulation)2024.x

Set build.radiant_version in peripheral.yaml to one of the accepted versions. The build runs Radiant inside the gateware container, so you do not install it locally.

IO

The user-programmable FPGA can be connected to external systems using the connector on the bottom side of the board. 19 FPGA pins are routed to this connector general-purpose I/O, as are several supply pins. The rest of the connector is power and ground. In the pinout below they are shown as GPIO_n, where n is the FPGA pin number. This pin number is used in the peripheral.yaml in the pin declaration section.

Connector pinFPGA pinFPGA padBank
253PT65B0
413PB16B5
661PT57A0
815PB18B5
930PB66A3
1014PB16A5
1131PB66B3
1222PB56A3
1333PB68A3
1423PB56B3
1534PB68B3
1624PB60A3
1825PB60B3
1936PB70A3
2027PB64A3
21 *8PB30B5
2228PB64B3
2337PB70B3
24 *9PB30A5

* J1 pins 21 and 24 pass through 66% voltage dividers between the FPGA and the connector.

By default, I/O on bank 3 have a 1.2V logic level, and I/O on bank 0 and 5 have a 1.8V logic level. This can be changed if needed — please contact Science Corporation for more details.

Connector pinout

The connector has the following pinout when viewed from the bottom side of the PCB. The board edge is parallel with the pin 1-29 side of the connector.

Connector pinout