ilang  1.1.4
ILAng: A Modeling and Verification Platform for SoCs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
oCilang::VlgVerifTgtGenBase::_adv_parameters
oCilang::VlgVerifTgtGenBase::_vtg_configVerilog Target Generation Configuration
oCilang::smt::arg_tArgument used in a function def
oCilang::CexExtractorClass to extract counterexample from a vcd file
oCilang::CommDiagGenerator for commutating diagram-based equivalence checking
oCilang::CompRefRelCompositional refinement relation defines a unit (element for the composition) of refinement relation, which specifies
oCilang::Cosa_problemClass to store (and generate) the problem for cosa
oCilang::DebugLogThe wrapper for enabling and disabling debug tags
oCilang::DesignStatisticsDesign statistics information
oCenable_shared_from_this
oCilang::VlgVerifTgtGenBase::ex_info_t
oCilang::execute_resultResult from executing
oCilang::ExprHashThe function object for hashing Expr. The hash value is the id of the symbol, which is supposed to be unique
oCilang::ExprMngrSimplifier for AST trees by sharing nodes based on the hash value
oCilang::ExprRefThe wrapper of Expr (e.g. state var, var relation, constant, etc)
oCilang::FuncHashThe function object for hashing Func. The hash value is the id of the symbol, which is supposed to be unique
oCilang::FuncObjFlatIlaFunction object for flatten ILA tree
oCilang::FuncObjRewrExprFunction object for rewriting Expr
oCilang::FuncObjRewrIlaFunction object for rewriting ILA tree
oCilang::FuncRefThe wrapper of Func (uninterpreted function)
oCilang::VerilogGeneratorBase::function_app_tType of app func
oCilang::FunctionApplicationFinderClass of traversing to find the application of functions in an AST
oCilang::HostRemoveRestoreClass to remove and restore the host info This is useful as we want the ast with the same name generates the same z3 expr. This framework is based on an assumption that if we call z3 to create the variable of the same name multiple times they refer to the same one internally. FIXME: Need to check this assumption if we want to support other SMT solvers!
oCilang::I2JSerThe class for serializing an ILA model to JSON format
oCilang::IlaThe wrapper of InstrLvlAbs (ILA)
oCilang::IlaSerDesMngrClass wrapper for the ILA portable Ser/Des interface
oCilang::IlaSimA class to generate SystemC simulator model from ILA model Example Use:
oCilang::IlatorThe ILAtor class - for CMake-based SystemC simulator generation
oCilang::IlaZ3UnrollerThe wrapper of generating z3::expr for verification
oCilang::InstrRefThe wrapper of Instr (instruction)
oCilang::InstrSeqInstruction Sequencing does:
oCilang::InstrTranEdgeInstruction transition edge, includeing:
oCilang::InstrTranNodeNode for instruction-transition node, each node represent an instruction
oCilang::IntefaceDirectiveRecorderUsed in Verilog Verification Target Generation for dealing with interface directives
oCilang::InterIlaUnrollerBase class for unrolling multiple ILAs. There are two ways of unrolling: ordered and unordered. Ordered unrolling assumes an ordered program template, despite that some may not exist in the final outcome. By default the state with the same name among ILAs is considered as the same shared state
oCilang::InvariantObjectInvariant object, it needs smt-info to parse
oCilang::J2IDesThe class for deserializing an ILA model from JSON format
oCilang::KeyVec< Key, T >The container that support key search and index access
oCilang::KeyVec< Symbol, ExprPtr >
oCilang::KeyVec< Symbol, InstrLvlAbsPtr >
oCilang::KeyVec< Symbol, InstrPtr >
oCilang::KeyVecIt< Key, T >A pseudo-iterator for the key-search vector
oCilang::IlaSim::ld_infoTODO
oCilang::LegacyBmcSimplified bounded model checking engine for ILAs
oCilang::LogInitterA one-time class for initializing GLog
oCilang::MapSet< Key, T >A map for sets
oCilang::VerilogGeneratorBase::mem_write_entry_tThis is type of an individual write
oCilang::VerilogGeneratorBase::mem_write_tThis is the write and its associated condition
oCilang::MemoryModelThe base class for memory models
oCilang::NestedMemAddrDataAvoiderClass of traversing to avoid nested memory access in address
oCilang::ObjectThe basest type in the ILA structure. It can be either Ast, Instr, or InstrLvlAbs
oCilang::RefinementMapRefinement mapping defines how to map micro-architectural states to architectural states for comparison
oCilang::RelationMapRelation mapping defines how arch states of two models are mapped, i.e., state mapping
oCilang::Relchc_problemClass to store (and generate) the problem for Relchc (Z3)
oCilang::VlgTgtSupplementaryInfo::reset_config_t
oCilang::VerilogGeneratorBase::rport_tType of read port
oCilang::SignalInfoBaseClass to hold signal info
oCilang::smt::smt_fileClass that holds the whole file
oCilang::smt::smt_item
oCilang::smt::smtlib2_abstract_parser_wrapperWrapper of the abstract parser so it is okay to do crazy stuff
oCilang::smt::SmtlibInvariantParserBaseThis a base class, should not be instantiated
oCilang::smt::SmtlibInvariantParserInstanceThis a base class, should not be instantiated
oCilang::SmtShim< Generator >A templated class for wrapping z3 and smt-switch to provide a unified interface for different application, e.g., unroller
oCilang::smt::SmtTermInfo< T >Type of term info that needs to be carried
oCilang::SortRefThe wrapper of Sort (type for different AST nodes)
oCilang::IlaSim::st_infoTODO
oCilang::VerilogGeneratorBase::state_update_unknownType of ite update unknown
oCilang::smt::state_var_tAnd item in declare-datatype
oCilang::StateMappingDirectiveRecorderClass to handle state-mapping directives in the refinement relations
oCilang::smt::str_iteratorString iterator
oCilang::SymbolThe symbol is the name and ID of an object. Every object has an unique symbol
oCilang::SynthAbsConverterThe class for converting an abstraction from the synthesis engine to an ILA model
oCilang::TraceStepThe class for trace step (an instance of instruction) As in the unrolling, there may be multiple instances of the same instructions, so we have the trace steps
oCilang::UnrollerBase class for unrolling ILA execution in different settings
oCilang::UnrollerSmt< Generator >Base class for unrolling ILA execution in different settings
oCilang::ValueThe base type for constant value
oCilang::smt::var_typeType Bool or (_ BitVec)
oCilang::VarExtractor
oCilang::VarUseFinder< T >Class of finding variable uses. So that we don't need to create pi variables for unused state variables. FIXME: currently there is no need to make a class for it, but in the future it is possible to use a hash table to avoid traverse the same sub-tree twice
oCilang::VerilogAnalyzerBaseVerilogAnalyzerBase should never be instantiated, only used as a pointer type in class VerilogInfo
oCilang::VerilogConstantExprEvalThe class to convert a constant expr to an integer number
oCilang::VerilogGeneratorBaseBase class of VerilogGenerator
oCilang::VerilogInfoThe class that invoke the analyzer
oCilang::VerilogModifierClass for modification to verilog
oCilang::VerilogVerificationTargetGenerator
oCilang::VlgAbsMemStruct to store abstract memory
oCilang::VerilogGeneratorBase::VlgGenConfigStructure to configure the verilog generator
oCilang::VlgSglTgtGenGenerating a target (just the invairant or for an instruction)
oCilang::VlgTgtSupplementaryInfoClass to hold supplementary information
oCilang::VlgVerifTgtGenBaseVlgVerifTgtGenBase: do nothing, should not instantiate
oCilang::VerilogGeneratorBase::wport_tType of write port
oCilang::Yosys_problemClass to store (and generate) the problem for Yosys
oCilang::smt::YosysSmtParserTo parse an smt file this will only work on the yosys's generated smt and not on the assembled CHC
\Cilang::Z3ExprAdapterThe class for generating z3 expression from an ILA