ilang  1.1.4
ILAng: A Modeling and Verification Platform for SoCs
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros
Namespaces | Functions
u_abs_knob.h File Reference
#include <ilang/ila/instr_lvl_abs.h>

Go to the source code of this file.

Namespaces

 ilang
 

Functions

void ilang::absknob::InsertVar (const ExprPtr &e, ExprSet &vars)
 Add all dependent vars of the expr to the set.
 
ExprSet ilang::absknob::GetVar (const ExprPtr &e)
 Get the set of all dependent vars of the expr.
 
void ilang::absknob::InsertStt (const InstrCnstPtr instrs, ExprSet &stts)
 Add all state vars of the host (excluding child) to the set.
 
void ilang::absknob::InsertSttTree (const InstrCnstPtr instrs, ExprSet &stts)
 Add all state vars of the host (including child) to the set.
 
void ilang::absknob::InsertVar (const InstrLvlAbsCnstPtr &m, ExprSet &vars)
 Add all vars of the ILA (excluding child) to the set.
 
void ilang::absknob::InsertStt (const InstrLvlAbsCnstPtr &m, ExprSet &stts)
 Add all state vars of the ILA (excluding child) to the set.
 
void ilang::absknob::InsertInp (const InstrLvlAbsCnstPtr &m, ExprSet &inps)
 Add all input vars of the ILA (excluding child) to the set.
 
void ilang::absknob::InsertVarTree (const InstrLvlAbsCnstPtr &top, ExprSet &vars)
 Add all vars of the ILA (including child) to the set.
 
void ilang::absknob::InsertSttTree (const InstrLvlAbsCnstPtr &top, ExprSet &stts)
 Add all state vars of the ILA (including child) to the set.
 
void ilang::absknob::InsertInpTree (const InstrLvlAbsCnstPtr &top, ExprSet &inps)
 Add all input vars of the ILA (including child) to the set.
 
ExprSet ilang::absknob::GetVar (const InstrLvlAbsCnstPtr &m)
 Get the set of all vars of the ILA (excluding child).
 
ExprSet ilang::absknob::GetStt (const InstrLvlAbsCnstPtr &m)
 Get the set of all state vars of the ILA (excluding child).
 
ExprSet ilang::absknob::GetInp (const InstrLvlAbsCnstPtr &m)
 Get the set of all input vars of the ILA (excluding child).
 
ExprSet ilang::absknob::GetVarTree (const InstrLvlAbsCnstPtr &top)
 Get the set of all vars of the ILA (including child).
 
ExprSet ilang::absknob::GetSttTree (const InstrLvlAbsCnstPtr &top)
 Get the set of all state vars of the ILA (including child).
 
ExprSet ilang::absknob::GetInpTree (const InstrLvlAbsCnstPtr &top)
 Get the set of all input vars of the ILA (including child).
 
void ilang::absknob::InsertInstr (const InstrLvlAbsCnstPtr &m, InstrVec &instrs)
 Add all instructions of the ILA (excluding child) to the set.
 
void ilang::absknob::InsertInstrTree (const InstrLvlAbsCnstPtr &top, InstrVec &instrs)
 Add all instructions of the ILA (including child) to the set.
 
InstrVec ilang::absknob::GetInstr (const InstrLvlAbsCnstPtr &m)
 Get the set of instructions of the ILA (excluding child).
 
InstrVec ilang::absknob::GetInstrTree (const InstrLvlAbsCnstPtr &top)
 Get the set of instructions of the ILA (including child).
 
ExprPtr ilang::absknob::Rewrite (const ExprPtr &e, const ExprMap &rule)
 Rewrite an expression by replacing based on the rule. More...
 
void ilang::absknob::RewriteInstr (const InstrCnstPtr instr_src, const InstrPtr &instr_dst, const ExprMap &expr_map)
 Rewrite an instruction by replacing based on the rule.
 
void ilang::absknob::FlattenIla (const InstrLvlAbsPtr &ila_ptr_)
 Flatten the given ILA, the initial conditions will be added to the top the child instructions will also be added to the top, but their (hierarchical) valid conditions will be added to their decode condition Some usage hint: this function is intended to generate an ILA for Verilog generator or other verification model generator. You can first use ExtrDeptModl to extract the dependent model and use this to flatten the that model and send to the generator.
 
InstrLvlAbsPtr ilang::absknob::ExtrDeptModl (const InstrPtr &instr, const std::string &name)
 Return a new ILA that contains the dependant instructions and child-ILAs of an instruction (defined by sub-programs).
 
InstrLvlAbsPtr ilang::absknob::CopyIlaTree (const InstrLvlAbsCnstPtr &src, const std::string &dst_name)
 Copy and ILA (including child).
 
void ilang::absknob::DuplInp (const InstrLvlAbsCnstPtr &src, const InstrLvlAbsPtr &dst, ExprMap &expr_map)
 Duplicate input vars from src to dst while updating the mapping.
 
void ilang::absknob::DuplStt (const InstrLvlAbsCnstPtr &src, const InstrLvlAbsPtr &dst, ExprMap &expr_map)
 Duplicate state vars from src to dst while updating the mapping.
 
ExprPtr ilang::absknob::DuplFetch (const InstrLvlAbsCnstPtr &src, const InstrLvlAbsPtr &dst, const ExprMap &expr_map)
 Duplicate fetch from src to dst if defined (rewritten w.r.t. mapping).
 
ExprPtr ilang::absknob::DuplValid (const InstrLvlAbsCnstPtr &src, const InstrLvlAbsPtr &dst, const ExprMap &expr_map)
 Duplicate valid from src to dst if defined (rewritten w.r.t. mapping).
 
void ilang::absknob::DuplInit (const InstrLvlAbsCnstPtr &src, const InstrLvlAbsPtr &dst, const ExprMap &expr_map)
 Duplicate initial conditions from src to dst (rewritten w.r.t. mapping).
 
InstrPtr ilang::absknob::DuplInstr (const InstrCnstPtr instr_src, const InstrLvlAbsPtr &dst, const ExprMap &expr_map, const CnstIlaMap &ila_map)
 Duplicate an instruction to dst (rewritten w.r.t. mapping).
 
void ilang::absknob::DuplInstrSeq (const InstrLvlAbsCnstPtr &src, const InstrLvlAbsPtr &dst)
 Duplicate instruction sequence to dst. NOT IMPLEMENTED YET.
 

Detailed Description

A collection of ILA helpers.