Skip to content

en Home

Makiras edited this page Oct 24, 2026 · 1 revision

中文 · 源文档 / Source

xcomm documentation

xcomm provides C++ components for hardware simulation: signal access, port collections, clock advancement, expression evaluation, temporal event matching, and functional coverage. The Python distribution is uc-xcomm, imported as xspcomm; bindings are also available for Java, Scala, Go, Lua, and JavaScript.

Start with installation and your first signal and event. The tutorial uses a small script to introduce wide signals, clocks, and event waits.

Write tests and verification frameworks

Task Documentation
Wait for conditions, match sequences, and collect coverage Events and coverage
Calculate with values wider than 64 bits Typed expressions
Execute language-level definitions in C++ Architecture and IR
Diagnose runtime errors Troubleshooting
Migrate existing code Interface migration

Look up an API

Component Purpose
XData Four-state signals, values, bit slices, and wide data
XPort Named signal collections and batch refresh
XClock Simulator execution callbacks, clocks, and edge callbacks
ExprEngine Expression construction and evaluation
XEngine Simulation advancement, registered events, and coverage sampling
Trigger Condition, Sequence, and FSM matching
Coverage Points, bins, crosses, and hit counts
Monitor Checkers run through clock callbacks
XSignalCFG Native signal binding from layout information
Language bindings, TLM Language interfaces and transaction communication

See the API index for types and headers. For implementation changes and optimization, see development and testing and performance. Documentation maintenance covers editing, site previews, and Wiki export.

Clone this wiki locally