37 #ifndef VCD_PARSER_HPP 38 #define VCD_PARSER_HPP 79 vcd_sig_info(
const std::string& _type,
const bool _is_vec,
const size_t _msb,
const size_t _lsb)
80 : type(_type), is_vec(_is_vec), msb(_msb), lsb(_lsb)
174 int vcd_parse_skip_to_end();
177 int vcd_parse_def_var(
const std::string& scope);
179 void vcd_push_def_scope(std::stack<std::string>& scope);
181 void vcd_pop_def_scope(std::stack<std::string>& scope);
184 int vcd_parse_sim_vector(
char*
value,
unsigned long timestamp);
187 int vcd_parse_sim_real(
char*
value,
unsigned long timestamp);
199 bool check_filter_list(
const std::string& scope_str,
const std::string& name);
212 void vcd_add_signal(
const std::string& scope,
const std::string& name,
const std::string& vcd_id,
213 const std::string&
type,
const bool isvect,
const unsigned int msb,
const unsigned int lsb);
218 bool check_signals()
const;
221 void init_variations();
224 void add_variation(
const std::string&
id,
const std::string&
value,
unsigned long long ts);
vcd_trace_t parse_result
holds the parsed vcd trace during the parsing
std::string vcd_filename
name of the vcd file to parse
std::map< std::pair< std::string, std::string >, vcd_sig_info > scope_and_name_to_sig_info
maps every pair (scope, signal name) to the corresponding sig_info
redefinition of map to manage ordered/unordered structures
size_t msb
position of the msb of this signal in the vector. valid only if is_vec == true
CONSTREF_FORWARD_DECL(Parameter)
UnorderedMapStd< std::string, UnorderedSetStdStable< std::string > > vcd_filter_t
this is the type used to select which signals have to be filtered during parsing. ...
absl::flat_hash_map< T, U, Hash, Eq, Alloc > CustomUnorderedMap
unsigned long sig_n
total number of signals in the vcd file
FILE * vcd_fp
file pointer to the vcd file to parse
bool is_vec
true if the vcd_signal is part of a vector
redefinition of set to manage ordered/unordered structures
vcd_filter_t filtered_signals
set of signals to select from the vcd file.
UnorderedMapStd< std::string, CustomUnorderedMapStable< std::string, std::list< sig_variation > >> vcd_trace_t
this type is the result of a parse.
size_t lsb
position of the lsb of this signal in the vector. valid only if is_vec == true
vcd_sig_info(const std::string &_type, const bool _is_vec, const size_t _msb, const size_t _lsb)
Template definition of refcount.
const int debug_level
Debug Level.
std::unordered_map< T, U, Hash, Eq, Alloc > UnorderedMapStd
Autoheader include.
Template borrowed from the ANTLR library by Terence Parr (http://www.jGuru.com - Software rights: htt...
CustomUnorderedMap< std::string, size_t > vcd_id_to_bit
std::string type
the type of the signal in vcd file
std::map< std::string, CustomUnorderedSet< std::pair< std::string, std::string > > > vcd_id_to_scope_and_name
maps every signal id in the vcd to the set of the corresponding pairs (scope, hdl signal name) ...