0

SystemC 允许通过 sc_trace 函数跟踪信号(或成员等),结果是可以在其他程序中使用的 VCD 文件。但是,这些信号的命名相当随意,函数接受任何字符串(不必与变量本身相关)作为要转储的信号的名称。

问题是:我可以通过 SystemC API 以某种方式获取从 sc_interface 对象到用作其名称的字符串的映射吗?我正在以其他方式记录大量数据,能够以某种方式将我检索到的值连接到 VCD 数据会很好,如果我只有转储值和随机字符串标识符。

4

1 回答 1

1

不确定我是否准确理解了您的问题,但是... SystemC 有所作为,例如。信号模拟名称和 C++ 实例名称。模拟名称在对象的构造函数参数列表中指定。除非您在构建过程中省略命名对象,否则出现在 vcd 文件中的名称应该是任意的。另一方面,您省略了名称,替代构造函数将为您生成一个名称。也许您可以提供一些示例代码来排除任何混淆。

    sc_signal()
: sc_prim_channel( sc_gen_unique_name( "signal" ) ),
  m_change_event_p( 0 ), m_cur_val( T() ), 
  m_delta( ~sc_dt::UINT64_ONE ), m_new_val( T() ), m_output( 0 ), 
  m_writer( 0 ) 
{}

explicit sc_signal( const char* name_ )
: sc_prim_channel( name_ ),
  m_change_event_p( 0 ), m_cur_val( T() ), 
  m_delta( ~sc_dt::UINT64_ONE ), m_new_val( T() ), m_output( 0 ), 
  m_writer( 0 ) 
{}

您想使用后一个构造函数

于 2012-09-25T15:30:46.113 回答