SystemVerilog structural analysis toolkit built on slang v10+.
make build # Release build
make test # Run full test suite (570+ tests)
make debug # Debug buildThree analysis modes sharing a common slang compilation frontend:
- conn -- port/connectivity graph extraction and checking
- cdc -- clock-domain crossing analysis
- metrics -- RTL transformation complexity analysis
Entry point: src/svlens_main.cpp
Frontend: src/CompilationSession.cpp, src/CommonCli.cpp
src/metrics/TransformExtractor.cpp-- backward cone extraction (most-modified file)src/MetricsRunner.cpp-- metrics orchestration and JSON report generationsrc/ConnectionExtractor.cpp-- connectivity graph buildersrc/cdc/crossing_detector.cpp-- CDC crossing classification
- C++20, slang v10+ API
- Catch2 for unit tests, shell scripts for integration tests
- Test fixtures in
tests/sv/andtests/cdc/basic/ - JSON report schemas in
docs/schema/
@AGENTS.md