ecco Posted June 19, 2013 Report Posted June 19, 2013 I'm trying to keep track of an enumeration... the code is pretty simple: public: enum req_type_t { DMA_WRITE, DMA_READ, LAT_WRITE, LAT_READ, NONE // Used to intialize the variable when the constructor is called without parameters }; inline friend void sc_trace(sc_trace_file *tf, const req & m, const std::string & NAME ) { const char* names[] = {"WRITE", "READ", "LAT_WRITE", "LAT_READ", "NONE"}; sc_trace(tf, m.req_type, NAME+".req_type", names); (...) When I run it tells me that enum tracing is deprecated... what is the current enum tracing method? mofo@mofobox:~/controller$ ./main SystemC 2.3.0-ASI --- Jun 13 2013 15:06:45 Copyright © 1996-2012 by all Contributors, ALL RIGHTS RESERVED Note: VCD trace timescale unit is set by user to 1.000000e-10 sec. Info: (I804) /IEEE_Std_1666/deprecated: tracing of enumerated literals is deprecated Info: (I804) /IEEE_Std_1666/deprecated: You can turn off warnings about IEEE 1666 deprecated features by placing this method call as the first statement in your sc_main() function: sc_report_handler::set_actions("/IEEE_Std_1666/deprecated", SC_DO_NOTHING); Quote
apfitch Posted June 20, 2013 Report Posted June 20, 2013 As far as I know there isn't one. sc_trace of enumeration types was already deprecated in 1666-2005. I suppose part of the problem is that VCD itself doesn't support enumeration types (I'm assuming VCD as defined in 1364-2001). regards Alan maehne 1 Quote
apfitch Posted June 20, 2013 Report Posted June 20, 2013 I've just checked the SystemVerilog standard 1800-2012, and enums are dumped as the underlying data type of the enum (which defaults to 32 bit integer in SystemVerilog). regards Alan Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.