Command-Line Interface

XiBIF – Xilinx Board Interface

usage: xibif [-h] [-v] [-p PROJECT]
             [--verbosity {debug,info,warning,error,none}] [--summary]
             {new,build,flash,register,simulation,testbench,log,report,start,upgrade,settings}
             ...

Named Arguments

-v, --version

show program’s version number and exit

-p, --project

Specify the XiBIF project file to use

--verbosity

Possible choices: debug, info, warning, error, none

Set the verbosity of the console output

Default: info

--summary

Show only a summary of the log output

Default: False

subcommands

command

Possible choices: new, build, flash, register, simulation, testbench, log, report, start, upgrade, settings

Sub-commands

new

Create a new XiBIF project

xibif new [-h] -n NAME [-p PATH] [--force | --nuke] -b
          {zyboz710,zyboz720,zedboard,zcu102,zcu104,kv260} [-x XILINX]
          [-v {2023.1,2023.2,2024.1,2024.2,2025.1,2025.2}] [--dev-mode]

Named Arguments

-n, --name

Name of the project. This name will be used for the tooling project files

-p, --path

The path to the directory in which to create the project

--force

Overwrite an existing XiBIF project (less destructive than –nuke)

Default: False

--nuke

Completely remove an existing XiBIF project (more destructive than –force)

Default: False

-b, --board

Possible choices: zyboz710, zyboz720, zedboard, zcu102, zcu104, kv260

Name of the FPGA board for this project

-x, --xilinx

Path to the Xilinx installation folder

Default: /opt/Xilinx

-v, --version

Possible choices: 2023.1, 2023.2, 2024.1, 2024.2, 2025.1, 2025.2

Xilinx tooling version to use

--dev-mode

Create a project in development mode (linking to the source files instead of copying them)

Default: False

build

Run all build steps for the XiBIF project

xibif build [-h] [--nowarn] [--noreport-vivado] [--fix-vitis]
            [--stage {vivado:blockdesign,vivado:synthesize,vivado:implement,vivado:bitstream,vivado:export,vivado:reportTiming,vitis:update,vitis:build,vitis:export,vitis:bootfile,vitis:updateLaunch} [{vivado:blockdesign,vivado:synthesize,vivado:implement,vivado:bitstream,vivado:export,vivado:reportTiming,vitis:update,vitis:build,vitis:export,vitis:bootfile,vitis:updateLaunch} ...]]
            [--from {vivado:blockdesign,vivado:synthesize,vivado:implement,vivado:bitstream,vivado:export,vivado:reportTiming,vitis:update,vitis:build,vitis:export,vitis:bootfile,vitis:updateLaunch}]
            [--to {vivado:blockdesign,vivado:synthesize,vivado:implement,vivado:bitstream,vivado:export,vivado:reportTiming,vitis:update,vitis:build,vitis:export,vitis:bootfile,vitis:updateLaunch}]

Named Arguments

--nowarn

Disable the warnings about Vitis bugs and old registers

Default: False

--noreport-vivado

Do not generate output reports for Vivado

Default: False

--fix-vitis

Try to fix Vitis workspace in case it got corrupt

Default: False

--stage

Possible choices: vivado:blockdesign, vivado:synthesize, vivado:implement, vivado:bitstream, vivado:export, vivado:reportTiming, vitis:update, vitis:build, vitis:export, vitis:bootfile, vitis:updateLaunch

Build Vivado/Vitis project with the provided stage(s)

Default: []

--from

Possible choices: vivado:blockdesign, vivado:synthesize, vivado:implement, vivado:bitstream, vivado:export, vivado:reportTiming, vitis:update, vitis:build, vitis:export, vitis:bootfile, vitis:updateLaunch

Build the Vivado/Vitis project starting with the provided stage

--to

Possible choices: vivado:blockdesign, vivado:synthesize, vivado:implement, vivado:bitstream, vivado:export, vivado:reportTiming, vitis:update, vitis:build, vitis:export, vitis:bootfile, vitis:updateLaunch

Build the Vivado/Vitis project stopping with the provided stage

flash

Flash the FPGA with the generated bitstream

xibif flash [-h] [-hw HARDWARE_SERVER] [-p PORT]

Named Arguments

-hw, --hardware-server

Hostname or IP address of the computer running hardware server

Default: 127.0.0.1

-p, --port

Port of the hardware server

Default: 3121

register

Update the XiBIF Registers from the register files

xibif register [-h] [-s] [-u] [-c]
               [--enable-custom ENABLE_CUSTOM | --disable-custom]

Named Arguments

-s, --stream

Generate the XiBIF stream registers

Default: False

-u, --user

Generate the XiBIF user registers

Default: False

-c, --custom

Generate the custom registers

Default: False

--enable-custom

Enable generation of custom registers (provide file name)

--disable-custom

Disable generation of custom registers

Default: False

simulation

Simulate all VHDL testbenches

xibif simulation [-h] [-c | -l | -t TEST] [-g] [-s {modelsim,ghdl,nvc}]

Named Arguments

-c, --compile

Compiles simulation libraries (xilinx and vunit)

Default: False

-l, --list

List all available testbenches and testcases

Default: False

-t, --test

Run only the specified testbench and testcase

-g, --gui

Open the GUI for the simulation (only valid with -t)

Default: False

-s, --simulator

Possible choices: modelsim, ghdl, nvc

Simulator that shall be used (must be available on the path)

Default: modelsim

testbench

Generate a testbench from a VHDL file

xibif testbench [-h] -f FILE [-c CLOCK] [-rn RESET_NEGATIVE]
                [-rp RESET_POSITIVE]

Named Arguments

-f, --file

Name of the VHDL file to generate a testbench for

-c, --clock

Name of clock signal(s)

-rn, --reset-negative

Name of negative reset signal(s)

-rp, --reset-positive

Name of positive reset signal(s)

log

Show the latest log file

xibif log [-h]

report

Report an issue to XiBIF’s GitLab page

xibif report [-h]

start

Start a tool

xibif start [-h] {vivado,vitis,hw_server}

Positional Arguments

tool

Possible choices: vivado, vitis, hw_server

Tool to start

upgrade

Upgrade the VHDL and C source-files to the newest XiBIF version

xibif upgrade [-h]

settings

Change the settings of the XiBIF project

xibif settings [-h] [--mac MAC] [--ip IP] [--netmask NETMASK]
               [--gateway GATEWAY] [--timeout_dhcp TIMEOUT_DHCP]
               [--timeout_connection_drop_ms TIMEOUT_CONNECTION_DROP_MS]
               [--connection_drop_flush_fifo {True,False}]
               [--timeout_axi_firewall_clocks TIMEOUT_AXI_FIREWALL_CLOCKS]
               [--enable_webserver {True,False}]

Named Arguments

--mac

MAC address (type: MacAddress, default: PydanticUndefined)

--ip

Default IP address (type: IPv4Address, default: 192.168.1.10)

--netmask

Default network mask (type: IPv4Address, default: 255.255.255.0)

--gateway

Default gateway (type: IPv4Address, default: 192.168.1.1)

--timeout_dhcp

DHCP timeout in seconds (type: int, default: 10)

--timeout_connection_drop_ms

Connection drop timeout in milliseconds (type: int, default: 1000)

--connection_drop_flush_fifo

Possible choices: True, False

Flag to flush FIFO on connection drop (type: bool, default: False)

--timeout_axi_firewall_clocks

Timeout for AXI Firewall in clock cycles (type: int, default: 100)

--enable_webserver

Possible choices: True, False

Enable embedded web server for register access (type: bool, default: True)