Network physical layer with embedded multi-standard CRC generator
First Claim
Patent Images
1. A method of transmitting network data, the method comprising:
- assembling the data into a plurality of data frames in a link layer implemented in programmable logic of an integrated circuit;
encapsulating the plurality of data frames into data packets in a physical layer implemented in application-specific logic of the integrated circuit, each data packet having a start field identifying the start of the packet and a data field including a data frame;
appending idle data to each data packet in the physical layer to form packet assemblies;
performing, for each packet assembly, a cyclic redundancy check (CRC) of the data frame in a sublayer of the physical layer separate from a physical layer interface to obtain a CRC value; and
adding, for each packet assembly, a CRC value to the data packet in a sublayer of the physical layer.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed are methods and structures for preparing data for transmission over a network. In an embodiment consistent with the OSI network model, transmit and receive CRC generators are moved from the link layer to the physical layer, which frees up valuable programmable logic resources when a programmable logic device is employed to perform the functions of the link layer. The CRC generators of the physical layer comply with a plurality of network communication standards.
100 Citations
45 Claims
-
1. A method of transmitting network data, the method comprising:
-
assembling the data into a plurality of data frames in a link layer implemented in programmable logic of an integrated circuit; encapsulating the plurality of data frames into data packets in a physical layer implemented in application-specific logic of the integrated circuit, each data packet having a start field identifying the start of the packet and a data field including a data frame; appending idle data to each data packet in the physical layer to form packet assemblies; performing, for each packet assembly, a cyclic redundancy check (CRC) of the data frame in a sublayer of the physical layer separate from a physical layer interface to obtain a CRC value; and adding, for each packet assembly, a CRC value to the data packet in a sublayer of the physical layer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A network physical layer coupled to transmit data frames in a programmable logic device and instantiated in application-specific logic of the programmable logic device, the physical layer comprising:
-
a data node coupled to receive a plurality of data packets from a link layer implemented in programmable logic of the programmable logic device, each data packet including a data frame; and a CRC generator in a sublayer of the physical layer separate from a physical layer interface and coupled to the data node to perform a CRC, for each data packet, on the data frame to provide a CRC value and to insert the CRC value into the data packet. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A programmable logic device comprising:
-
an array of configurable logic blocks comprising a link layer implemented in programmable logic for transmitting network data; and a network physical layer instantiated in hard logic and coupled to receive network data comprising a plurality of data frames from the link layer; wherein the physical layer comprises a CRC generator performing a cyclic redundancy check on each data frame of the plurality of data frames in a sublayer of the physical layer separate from a physical layer interface. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
- 31. A network receiver coupled to receive data and instantiated in application-specific logic of a programmable logic device, the network receiver comprising a physical layer having a data node coupled to receive a plurality of packet assemblies from a link layer implemented in programmable logic of the programmable logic device, each packet assembly including a data frame, and a CRC generator, wherein the CRC generator is implemented in a sublayer of the physical layer separate from a physical layer interface and performs, for each packet assembly, a CRC on at least a portion of the packet assembly to provide a calculated CRC value.
-
37. A system, comprising:
-
a network; and a transmitter coupled to the network and transmitting a plurality of data frames to the network, the transmitter comprising a physical layer implemented in hard logic and a link layer implemented using programmable logic, the link layer being coupled between the physical layer and the network, the physical layer comprising; a data node coupled to receive a plurality of data packets, each data packet including a data frame; and a CRC generator implemented in a sublayer of the physical layer separate from a physical layer interface and coupled to the data node to perform, for each data packet, a CRC on the data frame to provide a CRC value and to insert the CRC into the data packet. - View Dependent Claims (38, 39, 40, 41, 42)
-
-
43. A system, comprising:
-
a network; and a receiver coupled to the network to receive data from the network, the receiver being implemented in a programmable logic device, the receiver comprising; a data node coupled to receive a plurality of packet assemblies from the network, each packet assembly including a data frame, and having a CRC generator implemented in a sublayer of the physical layer separate from a physical layer interface to perform a CRC, for each packet assembly, on at least the data frame to provide a calculated CRC value, wherein the data node and the CRC generator are implemented in hard logic; and a link layer implemented in programmable logic of the programmable logic device. - View Dependent Claims (44, 45)
-
Specification