Quantcast
Channel: SystemC Language Forum RSS Feed
Viewing all articles
Browse latest Browse all 595

Error when trying Clock divider or multiplier circuit using sc_clock

$
0
0

My intention is to devise a clock multiplier or divider circuit based on a reference clock.

 

//CLOCK DUT
//clk_dut.h

#include "systemc.h"

SC_MODULE(clk_dut)
 {
  void gen()
  {
  double ref_clk =100;
  double clk1_div =10;
  double clk2_div=5;

sc_clock refclk("refclk",ref_clk,SC_NS);
sc_clock clk1("clk1",ref_clk/clk1_div,SC_NS);
sc_clock clk2("clk2",ref_clk/clk2_div,SC_NS);
  }
 SC_CTOR(clk_dut)
  {
   SC_THREAD(gen);
    sensitive << refclk.pos() << clk1.pos() << clk2.pos();
  }
};


//TOP MODULE

#include "systemc.h"
#include "clk_dut.h"

int sc_main(int argc,char *argv[])
 {
//instantiating the dut
clk_dut dut("dut");

dut.gen();

 sc_start(100,SC_NS);

return0;
  }
 

Error Message

 

clk_dut.h: In constructor ‘clk_dut::clk_dut(sc_core::sc_module_name)’:
clk_dut.h:18: error: ‘refclk’ was not declared in this scope
clk_dut.h:18: error: ‘clk1’ was not declared in this scope
clk_dut.h:18: error: ‘clk2’ was not declared in this scope
./sim: Command not found.
Please help me resolve this.

Also When i try to trace the clock files in the SC_THREAD after the sensitivity list using

 

sc_trace_file *fp;

fp=sc_create_vcd_trace_file("wave");

sc_trace(fp,refclk,"clk");

I get the same kind of scope error.

Please help me resolve this.


Viewing all articles
Browse latest Browse all 595

Trending Articles