fpga Command
The fpga command allows for various operations on the FPGA (Field Programmable Gate Array) device, such as booting, halting, enabling/disabling, and reading/writing specific registers. It provides a low-level interface for interacting with the FPGA hardware.
Usage
The basic syntax for the fpga command is as follows:
fpga <operation> [options]
Arguments
operation: (Required) The specific operation to perform on the FPGA. This can be one of the following: - –boot: Boot the FPGA. - –halt: Halt the FPGA. - –disable-on: Disable the FPGA and turn it ON. - –disable-off: Disable the FPGA and turn it OFF. - write: Write a value to an FPGA register. - read: Read values from one or more FPGA registers.
Options
The following options can be used with certain operations:
-a <address>: Specify the register address (16-bit value) for read/write operations.
-v <value>: Specify the value to write to the register (16-bit value).
-n <number>: Specify the number of registers to read (only valid with the read operation).
Description
The fpga command interacts with the FPGA hardware to perform various tasks. The available operations include:
Boot FPGA: Boots the FPGA into its running state.
Halt FPGA: Halts the FPGA from its current operation.
Disable FPGA: Turns the FPGA OFF or ON based on the specified option.
Register Write: Writes a specified value to an FPGA register at a given address.
Register Read: Reads values from one or more FPGA registers.
Each operation may require additional parameters such as a register address and value, especially when interacting with the FPGA’s internal memory.
Examples
Boot the FPGA:
fpga --boot
This will boot the FPGA.
Halt the FPGA:
fpga --halt
This will halt the FPGA.
Disable FPGA to OFF state:
fpga --disable-off
This will turn the FPGA OFF.
Write to a register:
fpga write -a 0x1234 -v 0xABCD
This will write the value 0xABCD to the register at address 0x1234.
Read from a register:
fpga read -a 0x1234
This will read the value from the register at address 0x1234 and display it.
Read multiple registers:
fpga read -a 0x1234 -n 5
This will read values from 5 consecutive registers starting at address 0x1234.
Error Handling
If there is an error with the input or execution, the following error messages may be shown:
“invalid operation, please specify a valid operation”: This error occurs if an invalid operation is specified.
“Error in parameters parsing”: This error occurs if the parameters are not correctly parsed for the operation.
“Register address must be set with -a option (0xXXXX format)”: This error occurs when a register address is not set for register-related operations.
“Register value must be set with -v option (0xXXXX format)”: This error occurs when the register value is not set for write operations.
“Error accessing FPGA register memory”: This error occurs when there is a failure in reading or writing to the FPGA register memory.
Notes
The fpga command provides a powerful interface for low-level FPGA control, making it essential for hardware debugging and management.
All register addresses and values are expected to be in 16-bit format.
When reading from registers, users can specify the number of registers to read, which defaults to 1 if not provided.