Repository navigation
en reference api index
This index groups entry points by responsibility. Module pages explain arguments, return values, lifetimes and limits. Overloads are grouped by method family; constructors, destructors and operators belong to their object pages.
| Module | Public types/entry points | Details |
|---|---|---|
| Signals | XData, PinBind, IOType, WriteMode, XDataBackendKind, xsvLogic, xsvLogicVecVal | XData |
| Ports | XPort | XPort |
| Clocks | XClock, FastMode, XStep | XClock |
| Expressions | ExprEngine, ExprOp, ExprNode, NewBits, EvalBits, Collect | ExprEngine |
| Native runtime | XEngine / XTriggerEngine | XEngine |
| Runtime results | XPhase, XHitKind, XStopReason, XRegistrationHandle, XBackendHit, XRunResult | XEngine |
| Matching descriptors | XConditionMode, XSequenceStepKind, XSequenceStep, XFsmTransition, XTriggerProgramKind, XTriggerProgram | Triggers |
| Coverage | XCoveragePointKind, XCoverageBinKind, XCoveragePoint, XCoverageBin, XCoverageSnapshot | Coverage |
| Monitors | XStepCallback, XEcho, XConditionCheck, XExprCheck, XFsmMonitor, XRangeCheck | Monitors |
| Layouts | XSignalCFG, s_xsignal_cfg, s_xsignal_meta | Signal configuration |
| Memory/strings | XByteBuffer, CString, array/pointer helpers | Utilities |
| Comparison | CompareOp, compare::Compare/Order/CompareWords/EqualWords/CompareSignedBytes/WithinRange | Utilities |
| Exact memory access | memory::Load/Store, UIntBytes, ByteWords | Utilities |
| Callbacks/coroutines | xfunction, XCorutine/xcorutine, XPromise, XCondition, XNext, schedule_awit | Utilities |
| TLM | tlm_msg, TLMSub, TLMPub, tlm_pbsb_run, step, tlm_vcs_init/tlm_vcs_step | TLM |
| VPI ABI | vpiHandle, s_vpi_value/s_vpi_vecval/s_vpi_time, func_vpi_get/get_value/put_value/get_str | XData; definitions in xvpi.h |
| Versions/logging | version, abi_version, checkVersion, logging and formatting helpers | Utilities |
| Python extensions | value, BindDPIName, RawStep, asyncio helpers, info, thirdcall | Bindings |
| Methods | Purpose |
|---|---|
| AcquireClock, ReleaseClock | Clock ownership |
| ArmEdge, ArmClockCycles, ArmValueEq, ArmValueEqBytes, ArmValueChange, ArmSample, ArmExpr, ArmSequence, ArmFsm | Event registration |
| ExprNewConst, ExprNewSignal, ExprNewUnary, ExprNewBinary, ExprNewCompare, ExprNewCompareSigSig, ExprNewCompareSigConstBytes, ExprNewCompareConstBytesSig, ExprNewMaskedCompareSigConstBytes | Engine expression graph |
| RunUntil, SamplePhase | Execution and phase sampling |
| Disarm, Rearm, RearmSample, ActiveCount, Capacity, ClearExecutionState, Clear | Registration and state management |
| CoverageVersion, AttachCoverage, CoverageSnapshot, ResetCoverage, CoverageExecutionCount | Native coverage |
Use xcomm.h for core APIs and xmonitor.h for monitors. Include individual headers to narrow dependencies: xdata.h, xport.h, xclock.h, xexpr.h, xengine.h, xpattern.h, xcoverage.h, xsignal_cfg.h, monitor/, tlm/ and common/*.
runtime/types.h defines runtime protocol types without pulling in clocks or the runtime implementation. xtrigger.h provides the historical engine alias.
ExprNode's lhs/rhs/imm/sig fields represent graph internals. Construct nodes with New* methods instead of editing history fields. Underscore-prefixed XData/XClock helpers, TEST_* functions, private src headers and SWIG director storage types are not application entry points.
ExprEngine provides NewBitsConst/NewBool/NewBitsSignal/NewBits/EvalBits and NodeCount/ConstantCount/Collect. XEngine exposes corresponding ExprNew* wrappers plus ExpressionNodeCount/ExpressionConstantCount/CollectExpressions. Python root mappings use XIntVector. See the expression reference and task guide.
来源 / Source: https://github.com/XS-MLVP/xcomm. 内容在主仓库维护 / Content is maintained in the source repository.