Getting Started with IP
The Holoscan Sensor Bridge (HSB) IP can be configured for different numbers of sensor and host interfaces, interface widths, peripheral interfaces, and dataplane formats. The HSB IP agent skills provide a guided workflow for creating the configuration and top-level wrapper. A simple testbench is also provided to verify the resulting integration.
Generate the HSB IP Configuration
The HSB IP agent skills are available in the Holoscan Sensor Bridge repository.
-
Install the following skills in the skills directory supported by the AI agent:
The skills support Claude Code and Codex. Other AI agents can use them if they support compatible
SKILL.md-based skills and the required file and shell tools. Refer to the agent’s documentation for its skills directory. -
Restart the AI session to load the installed skills.
-
Ask the agent to use
hsb-ip-defto generateHOLOLINK_def.svh:The skill asks questions about the intended design and generates the macro and parameter definitions that configure the HSB IP. When the design requires the Sensor RX Packetizer,
hsb-ip-defuseshsb-ip-packetizerto derive its configuration. -
Ask the agent to use
hsb-ip-create-topto generate anFPGA_top.svwrapper around theHOLOLINK_topmodule:
Review all generated files and connections before using them in an FPGA design. The generated wrapper instantiates the HSB IP, but application-specific logic must still be implemented and connected. For example, the user must connect the board-level sensor I/O to logic that produces the Sensor AXI-Stream interface expected by the HSB IP.
The skills can also validate an existing configuration or wrapper:
Run the Simple Testbench
The
HSB IP simple testbench
provides a simulation environment for verifying the HSB IP configuration and the
sensor-to-host and host-to-sensor datapaths. It uses the HOLOLINK_top module as the
device under test (DUT).
Configure the Environment
-
Open
setup_env.csh. Uncomment the path variables, set their values, select the simulator, and set the simulator’s installation directories:HOLOLINK_PATHidentifies the HSB IP RTL directory.HOLOLINK_DEF_INCLUDEidentifies the directory containing the configuration file. SetSIMULATORto eitherVCSorXCELIUM. SetDUMPto1to generate an FSDB waveform when using VCS, or to0to disable waveform capture. TheDUMPoption is ignored when using Xcelium.VCS_HOME,DESIGNWARE_HOME, andVERDI_HOMElocate the Synopsys tools for VCS; for Xcelium, setXCELIUM_HOMEinstead. -
Source the environment:
Select the Dataplane Format
Use make run to test the RoCE dataplane format:
Use make coe to test the Camera over Ethernet (CoE) dataplane format:
Select the Test Mode
The TX and RX directions below are named from the perspective of the HSB IP.
TEST_MODE=SINGLE_SENSORis the default. It sends frames from Sensor RX interface 0 to Host TX interface 0.TEST_MODE=ALL_SENSORSsends frames sequentially from every Sensor RX interface configured bySENSOR_RX_IF_INSTto the host selected byTARGET_HOST. The default target is Host TX interface 0.TEST_MODE=HOST2SENsends RoCE UC SEND messages from Host RX interface 0 to every Sensor TX interface configured bySENSOR_TX_IF_INST.
For example:
TARGET_HOST applies only to ALL_SENSORS. The SINGLE_SENSOR and HOST2SEN modes
use host interface 0.
Capture Waveforms
When using VCS with DUMP=1 in setup_env.csh, running simulation generates a
waves.fsdb waveform file:
Open the resulting waveform in Verdi: