Skip to main content

Commands

Enum Commands 

Source
pub enum Commands {
    Load {
        command: LoadSubcommand,
    },
    Set {
        attribute: String,
        value: String,
    },
    Status,
    Remove {
        command: RemoveSubcommand,
    },
    XlnxSys {
        command: XlnxSysSubcommand,
    },
    DfxMgr {
        cmd: Vec<String>,
    },
    Completions {
        shell: Shell,
    },
}
Expand description

Top-level commands supported by the CLI.

This enum represents all the primary operations available through the fpgad CLI:

  • Load: Load bitstreams or device tree overlays onto the FPGA
  • Set: Configure FPGA attributes and flags (e.g., programming flags)
  • Status: Query the current state of FPGA devices and loaded overlays
  • Remove: Unload bitstreams or device tree overlays from the FPGA
  • XlnxSys: Low-level read/write access to FPGA manager properties via the xlnx_sys interface
  • DfxMgr: Pass commands directly to dfx-mgr-client (requires dfx-mgr component)

Each command communicates with the fpgad daemon via DBus to perform privileged operations on FPGA devices managed through the Linux kernel’s FPGA subsystem.

§Examples

# Load a bitstream to a specific device

fpgad --device=fpga0 load bitstream /lib/firmware/design.bit.bin

# Load an overlay with platform override

fpgad --platform=xlnx-sys load overlay /lib/firmware/overlay.dtbo --name=my_overlay

# Set flags for a device

fpgad --device=fpga0 set flags 0

# Get status for all devices

fpgad status

# Remove an overlay by name

fpgad remove overlay --name=my_overlay

# Read FPGA flags via xlnx_sys interface

fpgad xlnx-sys read read_flags fpga0

# Write flags via xlnx_sys interface

fpgad xlnx-sys write write_flags fpga0 0x20

# Invoke dfx-mgr-client

fpgad dfx-mgr "-listPackage"

Variants§

§

Load

Load a bitstream or an overlay for the given device handle

Fields

§

Set

Set an option (e.g. flags) to a specific value for a given device handle

Fields

§attribute: String
§value: String
§

Status

Get the status information for the given device handle

§

Remove

Remove bitstream or an overlay

Fields

§

XlnxSys

Low-level read/write access to FPGA manager properties (xlnx_sys platform interface)

Fields

§

DfxMgr

Pass a command directly to dfx-mgr-client (requires the dfx-mgr snap component).

This is a thin passthrough to the Xilinx DFX Manager client binary. The arguments are forwarded verbatim to dfx-mgr-client, so any flag or option that the tool accepts can be used here.

The dfx-mgr component must be installed:

sudo snap install fpgad+dfx-mgr

For a full list of dfx-mgr-client commands and options, see the upstream project: https://github.com/Xilinx/dfx-mgr

§Common commands

ExampleDescription
fpgad dfx-mgr -listPackageList all available acceleration packages
fpgad dfx-mgr -listSlotList all FPGA slots and their current state
fpgad dfx-mgr -load 0 <package_name>Load a package into slot 0
fpgad dfx-mgr -remove 0Remove the package loaded in slot 0

§Notes

  • Arguments that begin with - (such as -listPackage) are supported directly — no -- separator is required.
  • Multiple tokens are accepted: fpgad dfx-mgr -load 0 my_design

Fields

§cmd: Vec<String>

One or more arguments to pass to dfx-mgr-client.

Tokens beginning with - are accepted without needing a -- separator, so commands like -listPackage or -load 0 my_design work naturally:

fpgad dfx-mgr -listPackage
fpgad dfx-mgr -load 0 my_design
§

Completions

Generate a shell completion script and print it to stdout.

This is primarily used at packaging time (the snap wires the generated bash script up via the completer keyword), but it can also be sourced manually:

# Enable completions for the current shell session
source <(fpgad completions bash)

# Or install them permanently for the current user
fpgad completions bash > ~/.local/share/bash-completion/completions/fpgad

Fields

§shell: Shell

Shell to generate the completion script for (e.g. bash, zsh, fish).

Trait Implementations§

Source§

impl Debug for Commands

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for Commands

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl Subcommand for Commands

Source§

fn augment_subcommands<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

fn has_subcommand(__clap_name: &str) -> bool

Test whether Self can parse a specific subcommand

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more