Repository navigation
en Home
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.
| 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 |
| 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.
来源 / Source: https://github.com/XS-MLVP/xcomm. 内容在主仓库维护 / Content is maintained in the source repository.