OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [rtl/] [src_peripheral/] [ethmac/] [eth] - Blame information for rev 48

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 48 alirezamon
#ifndef ${IP}_H
2
        #define ${IP}_H
3
 
4
#ifndef ETH_BASIC_DEF
5
        #define ETH_BASIC_DEF
6
 
7
//MODER BITS
8
#define ETH_RECSMAL             0x00010000
9
#define ETH_PAD                 0x00008000
10
#define ETH_HUGEN               0x00004000
11
#define ETH_CRCEN               0x00002000
12
#define ETH_DLYCRCEN            0x00001000
13
#define ETH_FULLD               0x00000400
14
#define ETH_EXDFREN             0x00000200
15
#define ETH_NOBCKOF             0x00000100
16
#define ETH_LOOPBCK             0x00000080
17
#define ETH_IFG                 0x00000040
18
#define ETH_PRO                 0x00000020
19
#define ETH_IAM                 0x00000010
20
#define ETH_BRO                 0x00000008
21
#define ETH_NOPRE               0x00000004
22
#define ETH_TXEN                0x00000002
23
#define ETH_RXEN                0x00000001
24
 
25
//INTERRUPTS BITS
26
#define ETH_RXC                 0x00000040
27
#define ETH_TXC                 0x00000020
28
#define ETH_BUSY                0x00000010
29
#define ETH_RXE                 0x00000008
30
#define ETH_RXB                 0x00000004
31
#define ETH_TXE                 0x00000002
32
#define ETH_TXB                 0x00000001
33
 
34
//BUFFER DESCRIPTOR BITS
35
#define ETH_RXBD_EMPTY          0x00008000
36
#define ETH_RXBD_IRQ            0x00004000
37
#define ETH_RXBD_WRAP           0x00002000
38
#define ETH_RXBD_CF             0x00000100
39
#define ETH_RXBD_MISS           0x00000080
40
#define ETH_RXBD_OR             0x00000040
41
#define ETH_RXBD_IS             0x00000020
42
#define ETH_RXBD_DN             0x00000010
43
#define ETH_RXBD_TL             0x00000008
44
#define ETH_RXBD_SF             0x00000004
45
#define ETH_RXBD_CRC            0x00000002
46
#define ETH_RXBD_LC             0x00000001
47
 
48
#define ETH_TXBD_READY          0x00008000
49
#define ETH_TXBD_IRQ            0x00004000
50
#define ETH_TXBD_WRAP           0x00002000
51
#define ETH_TXBD_PAD            0x00001000
52
#define ETH_TXBD_CRC            0x00000800
53
#define ETH_TXBD_UR             0x00000100
54
#define ETH_TXBD_RL             0x00000008
55
#define ETH_TXBD_LC             0x00000004
56
#define ETH_TXBD_DF             0x00000002
57
#define ETH_TXBD_CS             0x00000001
58
 
59
#define HDR_LEN                 14
60
#define CRC_LEN                 4
61
#define BD_SND  ( ETH_TXBD_READY | ETH_TXBD_IRQ | ETH_TXBD_WRAP | ETH_TXBD_PAD | ETH_TXBD_CRC )
62
#define RX_READY    ( ETH_RXBD_EMPTY | ETH_RXBD_IRQ | ETH_RXBD_WRAP )
63
#define TX_READY ( ETH_TXBD_IRQ | ETH_TXBD_WRAP | ETH_TXBD_PAD | ETH_TXBD_CRC )
64
 
65
 
66
#endif
67
 
68
 
69
 
70
//user defines
71
#define ${IP}_MAC_ADDR_5        0x55
72
#define ${IP}_MAC_ADDR_4        0x47
73
#define ${IP}_MAC_ADDR_3        0x34
74
#define ${IP}_MAC_ADDR_2        0x22
75
#define ${IP}_MAC_ADDR_1        0x88
76
#define ${IP}_MAC_ADDR_0        0x92
77
 
78
#define ${IP}_BROADCAST_ADDR_5  0xFF
79
#define ${IP}_BROADCAST_ADDR_4  0xFF
80
#define ${IP}_BROADCAST_ADDR_3  0xFF
81
#define ${IP}_BROADCAST_ADDR_2  0xFF
82
#define ${IP}_BROADCAST_ADDR_1  0xFF
83
#define ${IP}_BROADCAST_ADDR_0  0xFF
84
 
85
 
86
 
87
 
88
int ${IP}_tx_done;
89
int ${IP}_rx_done;
90
int ${IP}_rx_len;
91
unsigned char ${IP}_tx_packet[1536];     //max length
92
unsigned char ${IP}_rx_packet[1536];
93
unsigned char * ${IP}_tx_data= & ${IP}_tx_packet[HDR_LEN];
94
unsigned char * ${IP}_rx_data= & ${IP}_rx_packet[HDR_LEN];
95
 
96
void ${IP}_recv_ack(void);
97
 
98
void ${IP}_init();
99
 
100
int ${IP}_send(int length);
101
 
102
void ${IP}_interrupt();
103
 
104
 
105
#endif

powered by: WebSVN 2.1.0

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