OpenCores
URL https://opencores.org/ocsvn/sc2v/sc2v/trunk

Subversion Repositories sc2v

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /
    from Rev 7 to Rev 8
    Reverse comparison

Rev 7 → Rev 8

/trunk/examples/stmach_k.h
0,0 → 1,32
// stmach_k.h
#include "systemc.h"
SC_MODULE (stmach_k)
{
sc_in < bool > clk;
sc_in < sc_uint < 4 > >key;
sc_out < bool > play;
sc_out < bool > recrd;
sc_out < bool > erase;
/*comment with // */ sc_out < bool > save;
sc_out < bool > address; //comment \
also comment
enum vm_state
{ main_st, review_st, repeat_st, save_st,
erase_st, send_st, address_st,
record_st, begin_rec_st, message_st
};
sc_signal < vm_state > next_state;
sc_signal < vm_state > current_state;
void getnextst ();
void setstate ();
SC_CTOR (stmach)
{
SC_METHOD (getnextst);
sensitive << key << current_state;
SC_METHOD (setstate);
sensitive_pos (clk);
}
};
 
 
/trunk/examples/stmach_k.cpp
0,0 → 1,55
// stmach_k.cpp
#include "stmach.h"
void stmach_k::getnextst()
{
play.write(false);
recrd.write(false);
erase.write(false);
save.write(false);
address.write(false);
switch (current_state.read()) {
case main_st:
if (key.read() == 1) {
next_state.write(review_st);
} else {
if (key.read() == 2) {
next_state.write(send_st);
} else {
next_state.write(main_st);
}
}
break;
case record_st:
if (key.read() == 5) {
next_state.write(begin_rec_st);
} else {
next_state.write(record_st);
}
break;
case begin_rec_st:
//comment over here
recrd.write(true);
next_state.write(message_st);
break;
case message_st: //comment over here
recrd.write(true);
if (key.read() == 6) {
next_state.write(send_st);
} else {
next_state.write(message_st);
}
break;
 
default:
next_state.write(main_st);
break;
} // end switch
} // end method
 
void stmach::setstate()
{
current_state.write(next_state);
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.