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

Subversion Repositories sc2v

[/] [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));
 
 
}
}
 
 

powered by: WebSVN 2.1.0

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