Detail Tools¶
Get comprehensive details about specific verification artifacts.
tests.get¶
Retrieve complete test case information.
Purpose¶
Get the indexed execution record for one test. Failure and artifact evidence are queried through their dedicated tools.
Input Schema¶
Output Schema¶
class TestsGetOutput(BaseModel):
schema_version: str = "1.0.0"
item: TestCase
class TestCase(BaseModel):
test_id: str
test_id_full: str
run_id: str
framework: str
name: str
seed: int | None
status: str
duration_ms: int | None
sim_vendor: str | None
sim_version: str | None
dut_top: str | None
created_at: str
Example¶
Query:
Response:
{
"schema_version": "1.0.0",
"item": {
"test_id": "T20260125_143000_axi_burst_test",
"test_id_full": "T20260125_143000_axi_burst_test",
"run_id": "R20260125_143000",
"framework": "uvm",
"name": "axi_burst_test",
"status": "fail",
"seed": 42,
"duration_ms": 15420,
"sim_vendor": "vcs",
"sim_version": "T-2025.06",
"dut_top": "axi4_dut",
"created_at": "2026-01-25T14:35:20Z"
}
}
Use failures.list(include_evidence=true), coverage.summary(include_evidence=true), and wave.summary for evidence and artifact-backed analysis.
tests.topology¶
Retrieve test execution topology (sequences, components, phases).
Purpose¶
Understand test structure, UVM component hierarchy, and execution flow.
Input Schema¶
Output Schema¶
class TestsTopologyOutput(BaseModel):
schema_version: str = "1.0.0"
item: TestTopology
class TestTopology(BaseModel):
test_id: str
sequences: list[SequenceInfo]
components: list[ComponentInfo]
phases: list[PhaseInfo]
class SequenceInfo(BaseModel):
name: str
type: str
parent: str | None
class ComponentInfo(BaseModel):
name: str
type: str
parent: str | None
class PhaseInfo(BaseModel):
name: str
start_time_ns: int | None
end_time_ns: int | None
Example¶
Query:
Response:
{
"schema_version": "1.0.0",
"item": {
"test_id": "T20260125_143000_axi_burst_test",
"sequences": [
{
"name": "axi_write_burst_seq",
"type": "axi_base_seq",
"parent": "axi_virtual_seq"
},
{
"name": "axi_read_burst_seq",
"type": "axi_base_seq",
"parent": "axi_virtual_seq"
}
],
"components": [
{
"name": "uvm_test_top",
"type": "axi_burst_test",
"parent": null
},
{
"name": "env",
"type": "axi_env",
"parent": "uvm_test_top"
},
{
"name": "axi_agent",
"type": "axi_master_agent",
"parent": "env"
},
{
"name": "monitor",
"type": "axi_monitor",
"parent": "axi_agent"
}
],
"phases": [
{
"name": "build_phase",
"start_time_ns": 0,
"end_time_ns": 100
},
{
"name": "connect_phase",
"start_time_ns": 100,
"end_time_ns": 150
},
{
"name": "run_phase",
"start_time_ns": 150,
"end_time_ns": 15420000
}
]
}
}
assertions.get¶
Get comprehensive assertion definition and runtime information.
Purpose¶
View assertion details including intent, severity, source location, and firing history.
Input Schema¶
Output Schema¶
class AssertionsGetOutput(BaseModel):
schema_version: str = "1.0.0"
item: AssertionDetail
class AssertionDetail(BaseModel):
name: str
scope: str
file: str | None
line: int | None
protocol: str | None
category: str
severity: str
intent: str
description: str | None
tags: list[str]
total_firings: int
tests_affected: list[str]
Example¶
Query:
Response:
{
"schema_version": "1.0.0",
"item": {
"name": "axi_awvalid_awready_check",
"scope": "axi_master_if",
"file": "rtl/axi_master_if.sv",
"line": 145,
"protocol": "AXI4",
"category": "protocol",
"severity": "error",
"intent": "AWVALID must remain high until AWREADY asserted",
"description": "Once AWVALID is asserted, it must remain high until the corresponding AWREADY is asserted in the same cycle (handshake). This is a fundamental AXI4 protocol requirement.",
"tags": ["handshake", "axi4", "write-channel"],
"total_firings": 12,
"tests_affected": [
"T20260125_143000_axi_burst_test",
"T20260125_143000_axi_protocol_test",
"T20260124_091500_axi_stress_test"
]
}
}
Common Patterns¶
Evidence References¶
Tests reference external artifacts using EvidenceRef:
class EvidenceRef(BaseModel):
type: str # "log" | "waveform" | "coverage" | "assertion" | "uvm_error"
path: str
time_ns: int | None # For failures/assertions
Use Cases:
-
Log Files
-
Waveforms
-
Coverage
-
Assertion Failures
Test Configuration¶
The config field captures test parameters:
{
"seed": 42,
"verbosity": "UVM_MEDIUM",
"timeout_ns": 1000000,
"plusargs": {
"+UVM_TESTNAME": "axi_burst_test",
"+UVM_VERBOSITY": "UVM_MEDIUM"
}
}
Topology Hierarchies¶
Component and sequence hierarchies use parent references:
Build the full path by traversing parents:
Phase Timing¶
UVM phases have optional timing information:
Duration: end_time_ns - start_time_ns = 15419850 ns
Error Handling¶
Test Not Found¶
Query:
Response:
Assertion Not Found¶
Query:
Response:
{
"error": {
"code": "NOT_FOUND",
"message": "Assertion 'unknown_check' in scope 'unknown_scope' not found"
}
}
Best Practices¶
-
Cache Test Details
-
Use Topology for Debugging
-
Follow Evidence References
Next Steps¶
- Analysis Tools → - Analyze failure patterns
- Regression Tools → - Compare test results
- Discovery Tools → - Find related tests