How xilinx/chipscopy works
ChipScoPy is a Python control and analysis API for AMD/Xilinx FPGA debug IP, especially Versal. The principal workflow is to create a session, connect to hardware/debug services, then use feature APIs to inspect or control device instrumentation and retrieve results. The tree documents distinct ILA capture, VIO control, IBERT link/scan, and memory/NoC capabilities. The graph includes the client/service boundary evidenced by sampled code; many feature implementations are represented by their exact tree paths, but their internal wiring is not inferred from unsampled source.
Main entry points: session.py Session API · default_core_service.py Core Service · axis_ila_core_client.py ILA Client · axis_vio_core_client.py VIO Client
Components 24
Session Connectivity
- Session API
chipscopy/api/session.py - Device Discovery
chipscopy/api/device/device_scanner.py
Debug Features
- ILA Capture
chipscopy/api/ila/ila.py - VIO Control
chipscopy/api/vio.py - IBERT Links
chipscopy/api/ibert/ibert.py - Device Memory
chipscopy/api/memory.py - DDR Control
chipscopy/api/ddr/ddr.py - HBM Control
chipscopy/api/hbm/hbm.py - NoC Monitoring
chipscopy/api/noc/noc.py - PCIe Control
chipscopy/api/pcie.py - System Monitor
chipscopy/api/sysmon.py - Stimulus Generator
chipscopy/client/stimgen.py
Capture And Analysis
- Eye Scans
chipscopy/api/ibert/eye_scan/manager.py - YK Scans
chipscopy/api/ibert/yk_scan/manager.py - ILA Trigger Rules
chipscopy/api/ila/tsm/ila_tsm_reader.py - Waveform Data
chipscopy/api/ila/ila_waveform.py - Reports
chipscopy/api/report.py
Client And Services
- ILA Client
chipscopy/client/axis_ila_core_client.py - VIO Client
chipscopy/client/axis_vio_core_client.py - IBERT Client
chipscopy/client/ibert_core_client.py - Core Service
chipscopy/tcf/services/local/default_core_service.py
Other components
- Python User
- Hardware Server
- ChipScope Server
Connections 7
- Python User → Session API: creates session
- Session API → Hardware Server: connects hardware
- Session API → ChipScope Server: connects debug
- Session API → Stimulus Generator: sets up
- ILA Client → Core Service: invokes service
- VIO Client → Core Service: invokes service
- IBERT Client → Core Service: invokes service