mirror of https://github.com/YosysHQ/yosys.git
Added log_const() API
This commit is contained in:
parent
3c6d31fd06
commit
39da8eddae
|
@ -414,6 +414,24 @@ const char *log_signal(const RTLIL::SigSpec &sig, bool autoint)
|
|||
}
|
||||
}
|
||||
|
||||
const char *log_const(const RTLIL::Const &value, bool autoint)
|
||||
{
|
||||
if ((value.flags & RTLIL::CONST_FLAG_STRING) == 0)
|
||||
return log_signal(value, autoint);
|
||||
|
||||
std::string str = "\"" + value.decode_string() + "\"";
|
||||
|
||||
if (string_buf.size() < 100) {
|
||||
string_buf.push_back(str);
|
||||
return string_buf.back().c_str();
|
||||
} else {
|
||||
if (++string_buf_index == 100)
|
||||
string_buf_index = 0;
|
||||
string_buf[string_buf_index] = str;
|
||||
return string_buf[string_buf_index].c_str();
|
||||
}
|
||||
}
|
||||
|
||||
const char *log_id(RTLIL::IdString str)
|
||||
{
|
||||
log_id_cache.insert(str);
|
||||
|
|
|
@ -79,6 +79,7 @@ void log_reset_stack();
|
|||
void log_flush();
|
||||
|
||||
const char *log_signal(const RTLIL::SigSpec &sig, bool autoint = true);
|
||||
const char *log_const(const RTLIL::Const &value, bool autoint = true);
|
||||
const char *log_id(RTLIL::IdString id);
|
||||
|
||||
template<typename T> static inline const char *log_id(T *obj) {
|
||||
|
|
Loading…
Reference in New Issue