Introduction#
Origen separates test intent from tester file formats. Pattern source operates on DUT pins, registers, protocols, and timesets; a tester backend renders the resulting abstract syntax tree (AST). Test-program source builds a tester-neutral flow model which a supported program backend translates into native resources.
This separation allows one application to share models and intent across tester families while keeping tester-specific configuration explicit.
Selecting A Tester#
Tester targets call origen.tester.target:
import origen
origen.tester.target("V93KSMT7")
Applications normally keep one file per tester under targets/tester and load
it with a DUT target:
$ origen target set dut/eagle tester/smt7
The active tester determines pattern syntax, file extension, timing translation, and available program resources.
Tester-Neutral And Tester-Specific Code#
Keep DUT operations and flow structure tester-neutral wherever possible. Use
tester().eq(...) blocks in an application interface when a native resource
must differ:
with tester().eq("v93k") as v93k:
# Create a V93K suite or method.
pass
with tester().eq("igxl") as igxl:
# Create an IG-XL instance or pattern set.
pass
Target conditions are evaluated for both pattern and program ASTs, so excluded branches do not reach an incompatible backend.
Patterns Versus Programs#
Pattern support and test-program support are separate capabilities. A tester may render vectors while its program renderer is incomplete. Consult Supported Testers rather than inferring program support from a valid tester target.