5 #ifndef ILANG_VTARGET_OUT_VTARGET_GEN_H__
6 #define ILANG_VTARGET_OUT_VTARGET_GEN_H__
11 #include <ilang/vtarget-out/inv-syn/cex_extract.h>
12 #include <ilang/vtarget-out/inv-syn/inv_obj.h>
24 ex_info_t(
const std::string& r) : range(r) {}
39 GRAIN_SYGUS = CHC + 4,
41 BTOR_GENERIC = YOSYS + 32,
47 GRAIN = GRAIN_SYGUS ^ YOSYS,
49 ELDERICA = ELD_CEGAR ^ YOSYS,
50 NOSYN = BTOR_GENERIC ^ YOSYS
85 } ValidateSynthesizedInvariant;
112 } CosaDotReferenceNotify;
213 AigMiterExtraOutput =
228 ValidateSynthesizedInvariant(ALL),
294 virtual ~VlgVerifTgtGenBase() {}
300 virtual void do_not_instantiate(
void) = 0;
326 const std::vector<std::string>& implementation_include_path,
327 const std::vector<std::string>& implementation_srcs,
328 const std::string& implementation_top_module,
329 const std::string& refinement_variable_mapping,
330 const std::string& refinement_conditions,
const std::string& output_path,
353 #endif // ILANG_VTARGET_OUT_VTARGET_GEN_H__
std::string GrainPath
The path to Grain, if "grain" is not in the PATH, default empty.
Definition: vtarget_gen.h:190
bool MemAbsReadAbstraction
Whether to abstract the memory read.
Definition: vtarget_gen.h:91
std::string CosaPath
If not empty, the generated script will include the path of Cosa.
Definition: vtarget_gen.h:121
Definition: vtarget_gen.h:303
bool YosysSmtFlattenDatatype
Whether to flatten the datatypes.
Definition: vtarget_gen.h:143
static bool isValidVerifBackend(backend_selector vbackend)
check if a backend selector is valid
bool IteUnknownAutoIgnore
Definition: vtarget_gen.h:74
bool AbcUseGla
ABC option : whether to use gate-level abstraction.
Definition: vtarget_gen.h:200
bool OnlyAssumeUpdatedVarsEq
Only enforce var eq on updated vars, should not be used.
Definition: vtarget_gen.h:116
bool YosysSmtFlattenHierarchy
Whether to flatten the module hierarchy.
Definition: vtarget_gen.h:141
bool InvariantCheckKeepMemory
for invariant check, do we keep memory abstraction in Verilog
Definition: vtarget_gen.h:161
enum ilang::VlgVerifTgtGenBase::_vtg_config::@0 target_select
Set the targets: instructions/invariants/both.
std::string BtorGenericCmdline
Definition: vtarget_gen.h:180
bool AbcMinimizeInv
ABC option : whether to minimize invariant.
Definition: vtarget_gen.h:210
struct ilang::VlgVerifTgtGenBase::_adv_parameters advanced_parameters_t
Definition: vtarget_gen.h:22
bool BtorAddCommentsInOutputs
CHC, whether to force assumption on the init.
Definition: vtarget_gen.h:184
the invariant object, it needs smt-info to parse
Definition: inv_obj.h:23
bool AbcUseAiger
ABC option : whether to pass aiger to ABC.
Definition: vtarget_gen.h:208
std::string CosaSolver
A choice of solver (in the script)
Definition: vtarget_gen.h:125
std::string CosaOtherSolverOptions
other CoSA options
Definition: vtarget_gen.h:131
bool InvariantSynthesisReachableCheckKeepOldInvariant
Definition: vtarget_gen.h:165
enum ilang::VlgVerifTgtGenBase::_vtg_config::@1 PortDeclStyle
For COSA target generator : whether to force NEW/OLD port declaration.
backend_selector
Definition: vtarget_gen.h:31
bool ChcAssumptionEnd
CHC, whether to force assumption on the end T.
Definition: vtarget_gen.h:175
InvariantObject * _candidate_inv_ptr
candidate invariants object
Definition: vtarget_gen.h:279
std::string WrapperPreheader
Preheader Content : will use in all targets.
Definition: vtarget_gen.h:57
the structure to configure the verilog generator
Definition: verilog_gen.h:150
_abc_assumption_style_t
ABC option : the way to handle assumptions.
Definition: vtarget_gen.h:212
struct ilang::VlgVerifTgtGenBase::_vtg_config vtg_config_t
Verilog Target Generation Configuration.
CosaDotReferenceNotify_t
Definition: vtarget_gen.h:108
bool YosysUndrivenNetAsInput
Definition: vtarget_gen.h:139
virtual ~_adv_parameters()
virtual destructor
Definition: vtarget_gen.h:286
_vtg_config()
The default constructor for default values.
Definition: vtarget_gen.h:223
CexExtractor * _cex_obj_ptr
counterexample object
Definition: vtarget_gen.h:281
bool ChcWordBlastArray
CHC, whether to turn array into individual registers.
Definition: vtarget_gen.h:169
std::string CosaPyEnvironment
If not empty, the generated script will include sourcing a script.
Definition: vtarget_gen.h:123
bool YosysSmtArrayForRegFile
Definition: vtarget_gen.h:148
bool ChcAssumptionsReset
CHC, whether to force assumption on the init.
Definition: vtarget_gen.h:171
bool VerificationSettingAvoidIssueStage
whether to remove the extra issue cycle and starts from reset
Definition: vtarget_gen.h:76
enum ilang::VlgVerifTgtGenBase::_vtg_config::_abc_assumption_style_t AbcAssumptionStyle_t
ABC option : the way to handle assumptions.
InstrLvlAbs::InstrLvlAbsPtr InstrLvlAbsPtr
Pointer type for normal use of InstrLvlAbs.
Definition: instr_lvl_abs.h:326
bool CosaGenTraceVcd
Whether the Solver should generate vcd trace.
Definition: vtarget_gen.h:127
VlgVerifTgtGenBase::vtg_config_t vtg_config_t
Type of configuration.
Definition: vtarget_gen.h:311
unsigned AbcGlaFrameLimit
ABC option : gate-level abstraction frame limit.
Definition: vtarget_gen.h:204
bool BtorSingleProperty
CHC, whether to turn array into individual registers.
Definition: vtarget_gen.h:182
bool CosaAssumptionOverlyConstrainedCheck
Assumption overly constrained check.
Definition: vtarget_gen.h:129
std::string CheckThisInstructionOnly
If not an empty string, then only check for that instruction.
Definition: vtarget_gen.h:61
std::string AbcPath
The path to ABC, if "abc" is not in the PATH, default empty.
Definition: vtarget_gen.h:196
std::string GetVlgModuleInstanceName(void) const
get vlg-module instance name
bool ForceInstCheckReset
Whether to force the instruction check to start from reset state.
Definition: vtarget_gen.h:93
bool CosaAddKeep
Definition: vtarget_gen.h:102
_chc_target_t
Type of the chc target.
Definition: vtarget_gen.h:53
unsigned AbcGlaTimeLimit
ABC option : gate-level abstraction time limit.
Definition: vtarget_gen.h:202
bool in_bad_state(void) const
return true if the generator's in a bad state and cannot proceed.
std::string YosysPath
The path to yosys, if yosys is not in the PATH, default empty.
Definition: vtarget_gen.h:135
_validate_synthesized_inv
Definition: vtarget_gen.h:80
std::vector< std::string > GrainOptions
Grain Configuration Options.
Definition: vtarget_gen.h:192
synthesis_backend_selector
Type of invariant synthesis backend.
Definition: vtarget_gen.h:45
bool CosaGenJgTesterScript
Generate a jg script to help validate cosa?
Definition: vtarget_gen.h:97
_adv_parameters()
The default constructor for default values.
Definition: vtarget_gen.h:283
bool GrainHintsUseCnfStyle
FreqHorn style (cocistyple, cnfstyle)
Definition: vtarget_gen.h:194
void GenerateTargets(void)
export all targets
Verilog Target Generation Configuration.
Definition: vtarget_gen.h:55
VerilogVerificationTargetGenerator(const std::vector< std::string > &implementation_include_path, const std::vector< std::string > &implementation_srcs, const std::string &implementation_top_module, const std::string &refinement_variable_mapping, const std::string &refinement_conditions, const std::string &output_path, const InstrLvlAbsPtr &ila_ptr, backend_selector backend, const vtg_config_t &vtg_config=vtg_config_t(), const VerilogGenerator::VlgGenConfig &config=VerilogGenerator::VlgGenConfig())
bool OnlyCheckInstUpdatedVars
Definition: vtarget_gen.h:68
std::string Z3Path
The path to Z3, if "z3" is not in the PATH, default empty.
Definition: vtarget_gen.h:188
VlgVerifTgtGenBase: do nothing, should not instantiate.
Definition: vtarget_gen.h:17
InvariantObject * _inv_obj_ptr
invariant object
Definition: vtarget_gen.h:277
bool CosaFullTrace
generate the trace for all variables? or just the relevent variables
Definition: vtarget_gen.h:99
bool InstructionNoReset
Definition: vtarget_gen.h:65
Definition: vtarget_gen.h:275
bool ChcAssumptionNextState
CHC, whether to force assumption on the next T.
Definition: vtarget_gen.h:173
bool PerVariableProblemCosa
Do we set separate problems for different var map (CoSA only)
Definition: vtarget_gen.h:89
bool AbcUseCorr
ABC option : whether to use correlation analysis.
Definition: vtarget_gen.h:206
_state_sort_t
Definition: vtarget_gen.h:151
bool InvariantSynthesisKeepMemory
Definition: vtarget_gen.h:159
bool YosysPropertyCheckShowProof
when used in property verification, show prove?
Definition: vtarget_gen.h:145