|
| VlgSglTgtGen (const std::string &output_path, const InstrPtr &instr_ptr, const InstrLvlAbsPtr &ila_ptr, const VerilogGenerator::VlgGenConfig &config, nlohmann::json &_rf_vmap, nlohmann::json &_rf_cond, VlgTgtSupplementaryInfo &_supplementary_info, VerilogInfo *_vlg_info_ptr, const std::string &vlg_mod_inst_name, const std::string &ila_mod_inst_name, const std::string &wrapper_name, const std::vector< std::string > &implementation_srcs, const std::vector< std::string > &implementation_include_path, const vtg_config_t &vtg_config, backend_selector backend, const target_type_t &target_tp, advanced_parameters_t *adv_ptr) |
|
virtual | ~VlgSglTgtGen () |
| Destructor: do nothing , most importantly it is virtual.
|
|
virtual void | ConstructWrapper () |
|
virtual void | PreExportProcess ()=0 |
| PreExportWork (modification and etc.)
|
|
virtual void | Export_wrapper (const std::string &wrapper_name) |
| create the wrapper file
|
|
virtual void | Export_ila_vlg (const std::string &ila_vlg_name) |
| export the ila verilog
|
|
virtual void | Export_script (const std::string &script_name)=0 |
| export the script to run the verification
|
|
virtual void | Export_problem (const std::string &extra_name)=0 |
| export extra things (problem)
|
|
virtual void | Export_mem (const std::string &mem_name)=0 |
|
virtual void | Export_modify_verilog ()=0 |
| For jasper, this means do nothing, for yosys, you need to add (keep)
|
|
virtual void | ExportAll (const std::string &wrapper_name, const std::string &ila_vlg_name, const std::string &script_name, const std::string &extra_name, const std::string &mem_name) |
| Take care of exporting all of a single target.
|
|
virtual void | do_not_instantiate (void)=0 |
|
bool | in_bad_state (void) const |
| check if this module is in a bad state
|
|
|
std::string | new_mapping_id () |
| Return a new variable name for mapping.
|
|
std::string | new_property_id () |
| Return a new variable name for property.
|
|
const ExprPtr | IlaGetState (const std::string &sname) const |
| Get the pointer of a ila state, it must exist.
|
|
const ExprPtr | IlaGetInput (const std::string &sname) const |
| Get the pointer of an ila input, it must exist.
|
|
std::pair< unsigned, unsigned > | GetMemInfo (const std::string &ila_mem_name) const |
| Get (a,d) width of a memory, if not existing, (0,0)
|
|
bool | TryFindIlaState (const std::string &sname) |
| Test if a string represents an ila state name.
|
|
bool | TryFindIlaInput (const std::string &sname) |
| Test if a string represents an ila input name.
|
|
bool | TryFindVlgState (const std::string &sname) |
| Test if a string represents a Verilog signal name.
|
|
ExprPtr | TryFindIlaVarName (const std::string &sname) |
| Try to find a ILA var according to a name.
|
|
std::string | ModifyCondExprAndRecordVlgName (const VarExtractor::token &t) |
| Modify a token and record its use.
|
|
std::string | ReplExpr (const std::string &expr, bool force_vlg_sts=false) |
| Parse and modify a condition string.
|
|
std::string | PerStateMap (const std::string &ila_state_name_or_equ, const std::string &vlg_st_name) |
| handle a single string map (s-name/equ-string)
|
|
std::string | GetStateVarMapExpr (const std::string &ila_state_name, nlohmann::json &m, bool is_assert=false) |
|
void | handle_start_condition (nlohmann::json &dc) |
| add a start condition if it is given
|
|
nlohmann::json & | get_current_instruction_rf () |
| Find the current instruction-mapping.
|
|
void | ConstructWrapper_add_ila_input () |
| add ila input to the wrapper
|
|
void | ConstructWrapper_reset_setup () |
| setup reset, add assumptions if necessary
|
|
void | ConstructWrapper_add_vlg_input_output () |
| add the vlg input ouput to the wrapper I/O
|
|
void | ConstructWrapper_add_cycle_count_moniter () |
| add a cycle counter to be used to deal with the end cycle
|
|
void | ConstructWrapper_generate_header () |
| generate the `define TRUE 1
|
|
void | ConstructWrapper_add_varmap_assumptions () |
| add state equ assumptions
|
|
void | ConstructWrapper_add_varmap_assertions () |
| add state equ assertions
|
|
void | ConstructWrapper_add_inv_assumption_or_assertion_target_invariant () |
| Add invariants as assumption/assertion when target is invariant.
|
|
void | ConstructWrapper_add_inv_assumption_or_assertion_target_instruction () |
| Add invariants as assumption/assertion when target is instruction.
|
|
void | ConstructWrapper_add_additional_mapping_control () |
| Add more assumptions for mapping (only use for instruction target)
|
|
void | ConstructWrapper_add_rf_assumptions () |
| Add more assumptions for I/O for example (both instruction/invariant)
|
|
void | ConstructWrapper_add_condition_signals () |
| Generate ISSUE, IEND, ... signals.
|
|
void | ConstructWrapper_register_extra_io_wire () |
| Register the extra wires to the idr.
|
|
void | ConstructWrapper_add_module_instantiation () |
| Add instantiation statement of the two modules.
|
|
void | ConstructWrapper_add_helper_memory () |
|
void | ConstructWrapper_add_uf_constraints () |
| Add buffers and assumption/assertions about the.
|
|
void | ConstructWrapper_add_post_value_holder () |
| Add post value holder (val @ cond == ...)
|
|
int | ConstructWrapper_add_post_value_holder_handle_obj (nlohmann::json &pv_cond_val, const std::string &pv_name, int width, bool create_reg) |
| A sub function of the above post-value-holder hanlder.
|
|
void | ConstructWrapper_add_vlg_monitor () |
| Add Verilog inline monitor.
|
|
void | ConstructWrapper_add_inv_assumption_or_assertion_target_inv_syn_design_only () |
| Add invariants as assumption/assertion when target is inv_syn_design_only.
|
|
void | ConstructWrapper_inv_syn_connect_mem () |
| Connect the memory even we don't care a lot about them.
|
|
void | ConstructWrapper_inv_syn_cond_signals () |
|
std::string | ConstructWrapper_get_ila_module_inst () |
| get the ila module instantiation string
|
|
void | add_inv_obj_as_assertion (InvariantObject *inv_obj) |
| add an invariant object as assertion
|
|
void | add_inv_obj_as_assumption (InvariantObject *inv_obj) |
| add an invariant object as an assumption
|
|
void | add_rf_inv_as_assumption () |
| add rf inv as assumptions (if there are)
|
|
void | add_rf_inv_as_assertion () |
| add rf inv as assumptions (if there are)
|
|
virtual void | add_a_direct_assumption (const std::string &aspt, const std::string &dspt)=0 |
| Add an assumption – backend dependent.
|
|
virtual void | add_a_direct_assertion (const std::string &asst, const std::string &dspt)=0 |
| Add an assertion.
|
|
virtual void | add_an_assumption (const std::string &aspt, const std::string &dspt) |
| Add an assumption – JasperGold will override this.
|
|
virtual void | add_an_assertion (const std::string &asst, const std::string &dspt) |
| Add an assertion – JasperGold will override this.
|
|
virtual void | add_wire_assign_assumption (const std::string &varname, const std::string &expression, const std::string &dspt) |
|
virtual void | add_reg_cassign_assumption (const std::string &varname, const std::string &expression, int width, const std::string &cond, const std::string &dspt) |
|
bool | bad_state_return (void) |
| If it is bad state, return true and display a message.
|
|
Generating a target (just the invairant or for an instruction)