Board Configuration (set_env.tcl)

Before building, you must edit versal/set_env.tcl to match your system. In particular, be sure to configure the carrier board.

This section explains the parameters in set_env.tcl that must be configured by the user.

Board Grade

Configure the board grade of the OBC Module.

To build an image for the Space Grade, set the board_grade variable to SPACE. To build an image for the Developer Grade, set the board_grade variable to DEV.

# Select the target board for this build.
#   SPACE : SC-OBC Module V1 Space Grade
#   DEV   : SC-OBC Module V1 Developer's Grade
set board_grade    SPACE

This variable does not necessarily need to be set. You can specify the appropriate board grade by passing the GRADE argument to make at build time.

If the GRADE argument is not specified, the generated image will be determined by the value of the board_grade variable in set_env.tcl.

LPD MIO I/O Voltage Configuration

The I/O voltage of LPD MIO can be selected by the user.

When using a user-designed carrier board, set the I/O voltage according to the voltage supplied by your board design. Valid values are 1.8V, 2.5V, or 3.3V.

# Specify LPD MIO I/O voltage level (valid options: 1.8V, 2.5V, or 3.3V)
# This setting may be overridden depending on the selected carrier board.
set LPDMIO_VDDIO   1.8V

When using a Space Cubics carrier board, this setting is ignored and LPD MIO is set to 1.8V.

Standard Carrier Board Configuration

This section describes the configuration for carrier boards designed by Space Cubics.

If you are developing with the Space Cubics Evaluation Board (SC-EVB-V1001), you can enable a configuration optimized for this carrier board by setting the sc_evb1001 variable to yes. This variable is set to yes by default.

If you are using a user-designed carrier board, be sure to set sc_evb1001 to no.

When this setting is yes, peripherals implemented on SC-EVB-V1001 such as the SD card, Ethernet, and USB2.0 Host Controller are automatically enabled. In addition, by configuring these variables, the functions of LPD MIO exposed to the user can be modified relatively easily.

# Evaluation board
# - Space Cubics EVB
set sc_evb1001     yes

set  evb1001_uart0__lpd_mio_0_1      yes
set  evb1001_uart0__lpd_mio_8_9      no
set  evb1001_u0hwflow__lpd_mio_2_3   no
set  evb1001_u0hwflow__lpd_mio_10_11 no

set  evb1001_uart1__lpd_mio_4_5      yes
set  evb1001_u1hwflow__lpd_mio_6_7   no

set  evb1001_canfd0__lpd_mio_2_3     no
set  evb1001_canfd0__lpd_mio_6_7     no

set  evb1001_canfd1__lpd_mio_0_1     no
set  evb1001_canfd1__lpd_mio_4_5     no
set  evb1001_canfd1__lpd_mio_8_9     no

set  evb1001_lpdi2c0__lpd_mio_2_3    no
set  evb1001_lpdi2c0__lpd_mio_6_7    no
set  evb1001_lpdi2c0__lpd_mio_10_11  no

set  evb1001_lpdi2c1__lpd_mio_0_1    no
set  evb1001_lpdi2c1__lpd_mio_4_5    no
set  evb1001_lpdi2c1__lpd_mio_8_9    no

set  evb1001_spi0__lpd_mio_0_5       no
set  evb1001_spi0__cs1               no
set  evb1001_spi0__cs2               no

set  evb1001_gpio__lpd_mio_0         no
set  evb1001_gpio__lpd_mio_1         no
set  evb1001_gpio__lpd_mio_2         yes
set  evb1001_gpio__lpd_mio_3         yes
set  evb1001_gpio__lpd_mio_4         no
set  evb1001_gpio__lpd_mio_5         no
set  evb1001_gpio__lpd_mio_6         yes
set  evb1001_gpio__lpd_mio_7         yes
set  evb1001_gpio__lpd_mio_8         yes
set  evb1001_gpio__lpd_mio_9         yes
set  evb1001_gpio__lpd_mio_10        yes
set  evb1001_gpio__lpd_mio_11        yes

set  evb1001_gpio__pmc_mio_12        yes
set  evb1001_gpio__pmc_mio_37        yes

For example, to assign CANFD0 to LPD MIO 2 (CAN_RX) and LPD MIO 3 (CAN_TX), set evb1001_canfd0__lpd_mio_2_3 to yes. The user must ensure that LPD MIO assignments do not overlap. Therefore, when evb1001_canfd0__lpd_mio_2_3 is set to yes, any other configuration using LPD MIO[3:2] must be disabled. Accordingly, when assigning CANFD0 to LPD MIO[3:2] from the default configuration, you must set evb1001_gpio__lpd_mio_2 and evb1001_gpio__lpd_mio_3 to no.