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

Subversion Repositories spacewiresystemc

[/] [spacewiresystemc/] [trunk/] [systemC/] [send_module_sc.h] - Diff between revs 29 and 40

Show entire file | Details | Blame | View Log

Rev 29 Rev 40
Line 1... Line 1...
//+FHDR------------------------------------------------------------------------
 
//Copyright (c) 2013 Latin Group American Integhrated Circuit, Inc. All rights reserved
 
//GLADIC Open Source RTL
 
//-----------------------------------------------------------------------------
 
//FILE NAME      :
 
//DEPARTMENT     : IC Design / Verification
 
//AUTHOR         : Felipe Fernandes da Costa
 
//AUTHOR’S EMAIL :
 
//-----------------------------------------------------------------------------
 
//RELEASE HISTORY
 
//VERSION DATE AUTHOR DESCRIPTION
 
//1.0 YYYY-MM-DD name
 
//-----------------------------------------------------------------------------
 
//KEYWORDS : General file searching keywords, leave blank if none.
 
//-----------------------------------------------------------------------------
 
//PURPOSE  : ECSS_E_ST_50_12C_31_july_2008
 
//-----------------------------------------------------------------------------
 
//PARAMETERS
 
//PARAM NAME            RANGE   : DESCRIPTION : DEFAULT : UNITS
 
//e.g.DATA_WIDTH        [32,16] : width of the DATA : 32:
 
//-----------------------------------------------------------------------------
 
//REUSE ISSUES
 
//Reset Strategy        :
 
//Clock Domains         :
 
//Critical Timing       :
 
//Test Features         :
 
//Asynchronous I/F      :
 
//Scan Methodology      :
 
//Instantiations        :
 
//Synthesizable (y/n)   :
 
//Other                 :
 
//-FHDR------------------------------------------------------------------------
 
 
 
#ifndef SPW_TX_SEND
#ifndef SPW_TX_SEND
#define SPW_TX_SEND
#define SPW_TX_SEND
 
 
class SPW_TX_SEND_DATA;
class SPW_TX_SEND_DATA;
 
 
Line 59... Line 26...
        void SEND_DATA()
        void SEND_DATA()
        {
        {
                if(!RESET_SEND_DATA)
                if(!RESET_SEND_DATA)
                {
                {
                        TXWRITE_TX_SEND_DATA = false;
                        TXWRITE_TX_SEND_DATA = false;
 
                        //data_send = data_generated_sc[0];
                        a=0;
                        a=0;
                }
                }
                else
                else
                {
                {
                        if(E_SEND_DATA && data_generated_sc.size() > 0)
                        if(E_SEND_DATA && data_generated_sc.size() > 0)
                        {
                        {
 
 
                                if(a < data_generated_sc.size()-(unsigned int)1)
                                if(a < data_generated_sc.size()-(unsigned int)1)
                                {
                                {
                                        data_send = data_generated_sc[a];
                                        TXDATA_FLAGCTRL_TX_SEND_DATA = data_generated_sc[a];
                                        if(!READY_TX_SEND_DATA)
                                        if(!READY_TX_SEND_DATA)
                                        {
                                        {
                                                TXWRITE_TX_SEND_DATA = true;
                                                TXWRITE_TX_SEND_DATA = true;
                                        }else
                                        }else
                                        {
                                        {
                                                TXWRITE_TX_SEND_DATA = false;
                                                TXWRITE_TX_SEND_DATA = false;
                                                TXDATA_FLAGCTRL_TX_SEND_DATA= data_send;
 
                                        }
                                        }
                                }
                                }
                                //cout << TXDATA_FLAGCTRL_TX_SEND_DATA.read().to_string(SC_HEX) << " " << READY_TX_SEND_DATA << " " << TXWRITE_TX_SEND_DATA << endl;
                                //cout << TXDATA_FLAGCTRL_TX_SEND_DATA.read().to_string(SC_HEX) << " " << READY_TX_SEND_DATA << " " << TXWRITE_TX_SEND_DATA << endl;
 
 
                        }
                        }
Line 88... Line 55...
        }
        }
 
 
 
 
        void INCREMMENT_DATA()
        void INCREMMENT_DATA()
        {
        {
                if(a < data_generated_sc.size()-(unsigned int)1)
                if(a == data_generated_sc.size())
                        a++;
 
                else
 
                        a=0;
                        a=0;
 
                else
 
                        a++;
        }
        }
 
 
        void SEND_TIME_CODE()
        void SEND_TIME_CODE()
        {
        {
                if(!RESET_SEND_DATA)
                if(!RESET_SEND_DATA)
Line 106... Line 73...
                }
                }
                else
                else
                {
                {
                        if(start_tick_data)
                        if(start_tick_data)
                        {
                        {
                                if( c < 256)
                                if( c <= data_generated_sc.size())
                                {
                                {
 
 
                                        if(!READY_TICK_DATA)
                                        if(!READY_TICK_DATA)
                                        {
                                        {
                                                TICKIN_TX_SEND_DATA = true;
                                                TICKIN_TX_SEND_DATA = true;

powered by: WebSVN 2.1.0

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