Skip to content
STIMSMITH

SGen

Tool
First seen 6/16/2026
Last seen 6/16/2026
Evidence 9 chunks

NEIGHBORHOOD

28 nodes · 43 edges
graph · SGen · depth=1

RELATIONSHIPS

29 connections
reg_helper class uses → 100% 2e
SGen uses the reg_helper class to randomize register usage.
reg_init_seq uses → 100% 2e
SGen uses reg_init_seq to generate preamble code that initializes registers.
bare_sequence class uses → 100% 2e
SGen uses the bare_sequence class for creating sequences on-the-fly.
lambda functions uses → 100% 2e
SGen uses lambda functions extensively for randomization and user-defined overrides.
simd_factory uses → 100% 2e
SGen uses the simd_factory to create SIMD instruction instances.
SIMD instructions uses → 100% 2e
SGen can generate SIMD instructions using the simd factory.
Cavium ← uses 100% 2e
Cavium uses SGen for verifying its ARM server cores.
sequence-based stimulus generation implements → 100% 2e
SGen implements the sequence-based approach to stimulus generation.
exerciser run evaluates → 100% 2e
SGen performance is evaluated through exerciser runs.
UVM ← compares with 90% 2e
SGen is positioned as an alternative to UVM for micro-processor verification stimulus generation.
RTL verification evaluates → 100% 2e
SGen is used to verify RTL designs and catches RTL bugs.
PPIGen ← compares with 100% 2e
SGen is compared to PPIGen in terms of failure detection during exerciser runs.
weighted set uses → 100% 2e
SGen uses a weighted set class to enable random picking from a set of objects.
Directed Test Generation uses → 100% 2e
SGen piggybacks onto PPIGen's directed mode to generate tests.
random stimulus generation uses → 100% 2e
SGen supports generating random exerciser tests.
processor instruction stream generation uses → 100% 2e
SGen generates instruction streams as its primary output.
wset class uses → 100% 2e
SGen uses the wset class for weighted random selection.
C++11 uses → 100% 2e
SGen is developed using C++11 and leverages its new features.
SystemVerilog ← compares with 85% 1e
SGen uses C++ instead of SystemVerilog for stimulus generation.
assembly generator implements → 100% 1e
SGen is implemented as a sequence-based assembly generator.
factory pattern uses → 100% 1e
SGen uses factories to create instances of registered types, similar to UVM.
polymorphic function wrapper uses → 100% 1e
SGen uses the polymorphic function wrapper to store references to lambda functions.
regular expressions uses → 80% 1e
SGen can use regular expressions available in C++11 standard library.
auto specifier uses → 90% 1e
SGen code uses the auto specifier as shown in working code examples.
PPIGen depends on → 100% 1e
SGen produces assembly and config files that are fed through PPIGen's directed flow.
rand_intf class uses → 100% 1e
SGen provides the rand_intf class as a random interface for sequences.
arm_factory uses → 100% 1e
SGen uses the arm_factory to instantiate ARM instruction instances.
factory pattern implements → 100% 1e
SGen implements a hierarchy of factories mirroring the class hierarchy.
The paper introduces and presents SGen, a sequence-based assembly generator.