#include "divizor_frecventa.h" DivizorFrecventa:: DivizorFrecventa (sc_module_name name): sc_module(name), bistabil("BistabilD") { bistabil.d(loopback_sig); bistabil.q(out_clk_sig); bistabil.clk(in_clk_sig); bistabil.not_q(loopback_sig); SC_THREAD(clk_thread); SC_METHOD(print_output_method); sensitive << out_clk_sig.default_event(); } void DivizorFrecventa::print_output_method() { cout << sc_time_stamp() << ": Out = " << out_clk_sig.read() << endl; } void DivizorFrecventa::clk_thread() { for (;;) { wait(0.5, SC_MS); in_clk_sig.write(!in_clk_sig.read()); } }