#include "systemc.h" #include <iostream> #include <fstream> #include <string> #include <stdio.h> #include <stdlib.h> using namespace std; // header file: SWImageDetector.h SC_MODULE( SW ) { // Ports sc_in_clk clk; sc_in<bool> outputPictureReady; sc_out<bool> inputPictureReady; // Process functionality void do_SWprocess(); // Constructor SC_CTOR( SW ) { SC_CTHREAD(do_SWprocess, clk.pos()); } }; // implementation file: SWImageDetector.cpp void SW::do_SWprocess() { //here goes your implementation //this is construction for waiting until signal state satisfies you //do{ // wait(); // }while(ready.read()!=true); } /* here goes functionality and "hardware" module description */ int sc_main(int args, char* argv[]){ sc_trace_file *trcf= sc_create_vcd_trace_file("trace-it"); if(trcf==NULL) cout<<"Sorry, no tracing..."<<endl; sc_signal<bool> inputPictureReady ( "inputPictureReady" ); sc_signal<bool> outputPictureReady ( "outputPictureReady" ); sc_clock clock( "Clock" , 20 , 0.5 , 0.0 ); SW sw( "SW" ); sw.clk( clock ); sw.outputPictureReady( outputPictureReady ); sw.inputPictureReady( inputPictureReady ); /* here goes code for "hardware" module */ sc_trace(trcf, inputPictureReady, "inputPictureReady"); sc_trace(trcf, outputPictureReady, "outputPictureReady"); sc_trace(trcf, clock, "clk"); sc_start(100,SC_NS); sc_close_vcd_trace_file(trcf); return 0; } <div align="center"><br /><script type="text/javascript"><!-- google_ad_client = "pub-7293844627074885"; //468x60, Created at 07. 11. 25 google_ad_slot = "8619794253"; google_ad_width = 468; google_ad_height = 60; //--></script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><br /> </div>