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

Subversion Repositories ht_tunnel

[/] [ht_tunnel/] [tags/] [START/] [rtl/] [systemc/] [decoder_l2/] [cd_history_rx_l3.h] - Blame information for rev 19

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 acastong
// cd_history_rx_l3.h
2
 
3
/* ***** BEGIN LICENSE BLOCK *****
4
 * Version: MPL 1.1
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version
7
 * 1.1 (the "License"); you may not use this file except in compliance with
8
 * the License. You may obtain a copy of the License at
9
 * http://www.mozilla.org/MPL/
10
 *
11
 * Software distributed under the License is distributed on an "AS IS" basis,
12
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13
 * for the specific language governing rights and limitations under the
14
 * License.
15
 *
16
 * The Original Code is HyperTransport Tunnel IP Core.
17
 *
18
 * The Initial Developer of the Original Code is
19
 * Ecole Polytechnique de Montreal.
20
 * Portions created by the Initial Developer are Copyright (C) 2005
21
 * the Initial Developer. All Rights Reserved.
22
 *
23
 * Contributor(s):
24
 *   Max-Elie Salomon
25
 *   Ami Castonguay <acastong@grm.polymtl.ca>
26
 *
27
 * Alternatively, the contents of this file may be used under the terms
28
 * of the Polytechnique HyperTransport Tunnel IP Core Source Code License
29
 * (the  "PHTICSCL License", see the file PHTICSCL.txt), in which case the
30
 * provisions of PHTICSCL License are applicable instead of those
31
 * above. If you wish to allow use of your version of this file only
32
 * under the terms of the PHTICSCL License and not to allow others to use
33
 * your version of this file under the MPL, indicate your decision by
34
 * deleting the provisions above and replace them with the notice and
35
 * other provisions required by the PHTICSCL License. If you do not delete
36
 * the provisions above, a recipient may use your version of this file
37
 * under either the MPL or the PHTICSCL License."
38
 *
39
 * ***** END LICENSE BLOCK ***** */
40
 
41
#ifndef CD_HISTORY_RX_L3_H
42
#define CD_HISTORY_RX_L3_H
43
 
44
#include "../core_synth/synth_datatypes.h"
45
#include "../core_synth/constants.h"
46
 
47
///History counter sub-module for the decoder module
48
/**
49
        @class cd_history_rx_l3
50
        @description Counts the number of control packets that have
51
        been received since last reset.  This value can then be sent
52
        by the flow control in the nop packets to confirm that packets
53
        have correctly been received.  This lets the next HT link know
54
        where to replay the history after a retry disconnect.
55
        @author Max-Elie Salomon
56
 
57
*/
58
 
59
class cd_history_rx_l3 : public sc_module
60
{
61
 
62
public:
63
 
64
        //*******************************
65
        //      Inputs
66
        //*******************************
67
 
68
        ///Clock to synchronize module
69
        sc_in< bool > clk;
70
        ///Reset signal (active low)
71
        sc_in< bool > resetx;
72
        ///Enables the count to be incremented
73
        sc_in< bool > incrCnt;
74
 
75
        //*******************************
76
        //      Outputs
77
        //*******************************
78
 
79
        ///History of received packets count
80
        sc_out< sc_uint<8> >    cd_rx_next_pkt_to_ack_fc;
81
 
82
        /**
83
                Counting process, clock sensitive
84
        */
85
        void clocked_count_process();
86
 
87
        ///SystemC Macro
88
        SC_HAS_PROCESS(cd_history_rx_l3);
89
 
90
        ///Module constructor
91
        cd_history_rx_l3(sc_module_name name);
92
};
93
 
94
#endif

powered by: WebSVN 2.1.0

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