Marwan Posted October 1, 2019 Report Posted October 1, 2019 (edited) #include <systemc> SC_MODULE (counter) { sc_in_clk clock ; // Clock input of the design sc_in<bool> reset ; // active high, synchronous Reset input sc_in<bool> enable; // Active high enable signal for counter sc_out<sc_uint<4> > counter_out; // 4 bit vector output of the counter //Local Variables sc_uint<4> count; // Counter logic void incr_count () { // At every rising edge of clock we check if reset is active // If active, we load the counter output with 4'b0000 if (reset.read() == 1) { count = 0; counter_out.write(count); // If enable is active, then we increment the counter } else if (enable.read() == 1) { count = count + 1; counter_out.write(count); cout<<"@" << sc_time_stamp() <<" :: Incremented Counter " <<counter_out.read()<<endl; } } // End of function incr_count // Constructor for the counter // Since this counter is a positive edge trigged one, // We trigger the below block with respect to positive // edge of the clock and also when ever reset changes state SC_CTOR(counter) { cout<<"Executing new"<<endl; SC_METHOD(incr_count); sensitive << reset; sensitive << clock.pos(); } // End of Constructor }; // End of Module counter Hello, I am trying to compile this simple code on SystemC 2.3.3 on MacOSX using the g++-8 compiler. I am receiving the following errors: Quote counter.cpp:4:3: error: 'sc_in_clk' does not name a type sc_in_clk clock ; // Clock input of the design ^~~~~~~~~ counter.cpp:5:3: error: 'sc_in' does not name a type; did you mean 'sc_dt'? sc_in<bool> reset ; // active high, synchronous Reset input ^~~~~ sc_dt counter.cpp:6:3: error: 'sc_in' does not name a type; did you mean 'sc_dt'? sc_in<bool> enable; // Active high enable signal for counter ^~~~~ sc_dt counter.cpp:7:3: error: 'sc_out' does not name a type; did you mean 'sc_dt'? sc_out<sc_uint<4> > counter_out; // 4 bit vector output of the counter ^~~~~~ sc_dt counter.cpp:10:3: error: 'sc_uint' does not name a type; did you mean 'sc_dt'? sc_uint<4> count; ^~~~~~~ sc_dt Are the sc_in and the sc_out types depreciated i the 2.3.3 implementation or is it a compiler specific error? Edited October 1, 2019 by Marwan Ommitted personal information Quote
Roman Popov Posted October 1, 2019 Report Posted October 1, 2019 They are in namespace sc_core. If you don't want to use namespaces you can change #include <systemc> to #include<systemc.h> and it will pull everything into global namespace. Marwan 1 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.