URL
https://opencores.org/ocsvn/sc2v/sc2v/trunk
[/] [sc2v/] [trunk/] [examples/] [dummy2.cpp] - Diff between revs 25 and 33
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 25 |
Rev 33 |
#include "systemc.h"
|
#include "systemc.h"
|
|
|
void
|
void
|
fsm::regs ()
|
fsm::regs ()
|
{
|
{
|
if (rst.read ())
|
if (rst.read ())
|
{
|
{
|
state.write (0);
|
state.write (0);
|
}
|
}
|
else
|
else
|
state.write (next_state);
|
state.write (next_state);
|
}
|
}
|
|
|
void
|
void
|
fsm::fsm_proc ()
|
fsm::fsm_proc ()
|
{
|
{
|
|
|
|
struct {
|
|
sc_uint<16> addr;
|
|
sc_uint<32> data;
|
|
} st;
|
|
|
|
struct {
|
|
sc_int<26> data1;
|
|
} st1;
|
|
|
sc_uint <2> c[4];
|
sc_uint <2> c[4];
|
sc_uint <4> f;
|
sc_uint <4> f;
|
next_state.write (state.read ());
|
next_state.write (state.read ());
|
array[0].write(1);
|
array[0].write(1);
|
|
|
c[1]=0;
|
c[1]=0;
|
|
|
switch ((int) state.read ())
|
switch ((int) state.read ())
|
{
|
{
|
case 0x1a:
|
case 0x1a:
|
if (input1.read ())
|
if (input1.read ())
|
{
|
{
|
next_state.write (sc_uint<4>(0x1b1));
|
next_state.write (sc_uint<4>(0x1b1));
|
a.write (true);
|
a.write (true);
|
|
st1.data1=8;
|
}
|
}
|
else if (input2.read () < input1.read())
|
else if (input2.read () < input1.read())
|
{
|
{
|
next_state.write (2);
|
next_state.write (2);
|
a.write (false);
|
a.write (false);
|
}
|
}
|
else
|
else
|
{
|
{
|
next_state.write (1);
|
next_state.write (1);
|
a.write (1);
|
a.write (1);
|
}
|
}
|
break;
|
break;
|
case 0xfaf67:
|
case 0xfaf67:
|
//hola
|
//hola
|
switch(input1.read()){
|
switch(input1.read()){
|
case 0x1:
|
case 0x1:
|
case 0x2:
|
case 0x2:
|
switch(input1.read()){
|
switch(input1.read()){
|
case 0x1:
|
case 0x1:
|
b.write(0);
|
b.write(0);
|
break;
|
break;
|
case 0x3:
|
case 0x3:
|
b.write(1);
|
b.write(1);
|
break;
|
break;
|
}
|
}
|
b.write(0);
|
b.write(0);
|
break;
|
break;
|
case 0x3:
|
case 0x3:
|
b.write(1);
|
b.write(1);
|
break;
|
break;
|
}
|
}
|
|
|
|
|
if (input2.read ())
|
if (input2.read ())
|
{
|
{
|
next_state.write (2);
|
next_state.write (2);
|
b.write (1);
|
b.write (1);
|
}
|
}
|
break;
|
break;
|
case 35:
|
case 35:
|
next_state.write (0);
|
next_state.write (0);
|
break;
|
break;
|
}
|
}
|
}
|
}
|
|
|
void fsm::dummy_proc(){
|
void fsm::dummy_proc(){
|
|
struct {
|
|
sc_int<26> data1;
|
|
sc_uint<32> data2;
|
|
} st2;
|
|
|
|
st2.data1=6;
|
|
st2.data2=8;
|
w.write(sc_uint<1>(2));
|
w.write(sc_uint<1>(2));
|
|
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.