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

Subversion Repositories turbo8051

[/] [turbo8051/] [trunk/] [verif/] [agents/] [ethernet/] [tb_eth_defs.v] - Blame information for rev 39

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 15 dinesha
 
2
/*-----------------------------------------------------------------\
3
|  DESCRIPTION:                                                    |
4
|  tb_defs.v:  Definitions of symbolic constants                   |
5
|              used as task arguments in user-callable             |
6
|              tasks                                               |
7
|                                                                  |
8
|  Instantiated modules: none                                      |
9
|  Included files: none                                            |
10
\-----------------------------------------------------------------*/
11
 
12
 
13
 
14
// Global defines useful for setting arguments
15
//  of testbench tasks
16
 
17
/*******************************************************************/
18
 
19
// Parameters in port initialization task
20
// MII types
21
`define RMII        0 // Reduced MII
22
`define FULL_MII    1 // Full MII
23
`define GMII        2 // Gigabit MII
24
`define SMII        3 // serial MII
25
`define CUSTOM      4 // custom parallel interface
26
`define SERDES      5 // Gigabit Ethernet SERDES interface
27
 
28
// duplex status
29
`define HALF_DUPLEX 0
30
`define FULL_DUPLEX 1
31
// Port speed
32
`define SPEED_10    0 // 10 Mb/s
33
`define SPEED_100   1 // 100 Mb/s
34
`define SPEED_1000  2 // 1000 Mb/s
35
 
36
// Options in handling received PAUSE frames
37
// (used as arguments in task "set_pause_options")
38
`define NORMAL_PAUSE_HANDLING        0
39
`define ADD_TO_PAUSE_INTERVAL        1
40
`define IGNORE_RECEIVED_PAUSE        2
41
 
42
// Flow types in task "set_flow_type"
43
`define L2_UNICAST    0 // Layer-2 unicast flow
44
`define L2_BROADCAST  1 // Layer-2 broadcast
45
`define L2_MULTICAST  2 // Layer-2 multicast
46
`define L3_UNICAST    3 // Layer-3 unicast flow
47
`define L3_MULTICAST  4 // Layer-3 multicast flow
48
`define L4_UNICAST    5 // Layer-4 unicast flow
49
`define L4_MULTICAST  6 // Layer-4 multicast flow
50
 
51
// L2 protocol choices
52
// used as argument in task "set_L2_protocol"
53
`define UNTAGGED_ETHERNET   0 // Ethernet frames without tagging
54
`define   TAGGED_ETHERNET   1 // Ethernet frames with tagging
55
`define UNTAGGED_802        2 // 802.3 frames without tagging
56
`define   TAGGED_802        3 // 802.3 frames with tagging
57
`define BPDU                4 // 802.1d Bridge Protocol Data Units
58
 
59
// Options for generation of MAC addresses, VLAN TCI,
60
// and packet size in packet sequences
61
`define CONSTANT_VALUE         0  // constant value in all packets
62
`define INCREMENTAL_PATTERN    1  // increasing or decreasing pattern
63
`define RANDOM_PATTERN         2  // randomly generated value
64
 
65
// L3 protocol choices
66
// used as argument in task "set_L3_protocol"
67
`define IGMP_v1             1 // IGMP Version 1
68
`define IGMP_v2             2 // IGMP Version 2
69
`define IP_v4               4 // IP Version 4
70
`define IP_v6               6 // IP Version 6
71
`define ICMP_v4             7 // ICMP on IP Version 4
72
`define ARP                 8 // TCP/IP ARP
73
`define IPX                 9 // IPX
74
 
75
// L4 protocol choices
76
// used as argument in task "set_L4_protocol"
77
`define TCP                 0
78
`define UDP                 1
79
 
80
// Options for setting paylod of transmitted packets
81
// used in task "set_payload_type"
82
`define INCREASING_PAYLOAD  0 // increasing sequence of bytes (default)
83
`define DECREASING_PAYLOAD  1 // decreasing sequence of bytes
84
`define RANDOM_PAYLOAD      2 // Randomly generated payload
85
`define USER_PAYLOAD        3 // user-supplied payload
86
 
87
// Options for CRC generation
88
// used in task "set_crc_option"
89
`define GOOD_CRC              0 // good CRC
90
`define BAD_CRC               1 // transmit bad CRC
91
`define NO_CRC                2 // do not insert CRC
92
`define USER_DEFINED_CRC      3 // user-defined value
93
 
94
// options for L3 and L4 cheksum generation
95
// used in tasks "set_L3_checksum_option" and
96
// "set_L4_checksum_option
97
`define GOOD_CHECKSUM         0 // insert good checksum
98
`define BAD_CHECKSUM          1 // insert bad checksum
99
`define NO_CHECKSUM           2 // transmit checksum of all zeroes
100
`define USER_DEFINED_CHECKSUM 3 // user-defined value
101
 
102
// blocking/non-blocking option in transmit tasks
103
`define BLOCKING              1 // task blocks until end of transmission
104
`define NON_BLOCKING          0 // task returns immediately
105
 
106
// Transmit states returned by task "get_transmit_state"
107
`define TRANSMIT_FRAME        1 // port currently transmitting a frame
108
`define COLLISION_STATE       2 // port resolving a collision
109
`define TRANSMIT_SEQUENCE     3 // Transmission of packet sequence in progress
110
`define IDLE_STATE            0 // idle
111
 
112
//States returned by task "get_receive_state"
113
`define RECEIVE_FRAME         1 // Port receiving a frame
114
 
115
// event types in task "wait_for_event"
116
`define START_OF_XMIT_FRAME        1 // start of transmission of next frame
117
`define END_OF_XMIT_SEQUENCE       2 // end of packet sequence in progress
118
`define END_OF_XMIT_FRAME          3 // end of current frame in progress
119
`define START_OF_RCV_FRAME         4 // start of frame reception
120
`define END_OF_RCV_FRAME           5 // end of frame reception
121
`define COLLISION_EVENT            6 // collision event
122
`define REPEATED_COLLISION_EVENT   7 // repeated collisions
123
 
124
`define DUMMY                      0 // Dummy argument for tasks
125
//  
126
 
127
 
128
 
129
 
130
 
131
 
132
 
133
 
134
 
135
 
136
 
137
 
138
 
139
 
140
 
141
 
142
 
143
 
144
 
145
 
146
 

powered by: WebSVN 2.1.0

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