System and method for delivering FPGA programming
First Claim
1. A method of delivering operating logic for a communication device to a controller component of the communication device, the method comprising:
- receiving the operating logic;
embedding the operating logic within a device driver of the communication device; and
facilitating loading of the operating logic from the device driver to the controller component.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for facilitating delivery of instructions for operating a controller (e.g., an FPGA—Field Programmable Gate Array) of a hardware device (e.g., a network interface circuit) of a computer system. A device driver for the hardware device comprises traditional device driver functionality (e.g., for managing operation of the device at a layer above the physical layer), plus a set of instructions for operating the controller. During attachment of the device driver to the hardware device, or during subsequent hardware initialization of the device, the set of instructions for operating the controller is downloaded to the controller from the device driver.
-
Citations
25 Claims
-
1. A method of delivering operating logic for a communication device to a controller component of the communication device, the method comprising:
-
receiving the operating logic;
embedding the operating logic within a device driver of the communication device; and
facilitating loading of the operating logic from the device driver to the controller component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of delivering operating logic for a communication device to a controller component of the communication device, the method comprising:
-
receiving the operating logic;
embedding the operating logic within a device driver of the communication device; and
facilitating loading of the operating logic from the device driver to the controller component.
-
-
10. A method of loading hardware operating instructions to a hardware controller from a device driver, the method comprising:
-
providing, on a computer system, a device driver for managing a communication device installed in the computer system, wherein the device driver comprises instructions executable by a controller of the communication device;
loading said device driver for attachment to the communication device; and
during initialization of the communication device, downloading said instructions to the controller. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of loading hardware operating instructions to a hardware controller from a device driver, the method comprising:
-
providing, on a computer system, a device driver for managing a communication device installed in the computer system, wherein the device driver comprises instructions executable by a controller of the communication device;
loading said device driver for attachment to the communication device; and
during initialization of the communication device, downloading said instructions to the controller of the communication device.
-
-
18. A method of programming a Field Programmable Gate Array (FPGA) of a network interface circuit, the method comprising:
-
receiving FPGA programming;
configuring said FPGA programming as a compilable source;
compiling the source file to produce an object file;
linking the object file with an object file of a device driver associated with the network interface circuit to produce a loadable device driver; and
providing the loadable device driver for loading by a computer operating system;
wherein during initialization of the network interface circuit by the operating system, the FPGA programming is downloaded to an FPGA of the network interface circuit.
-
-
19. A computer readable storage medium storing instructions that, when executed by a computer, cause the computer to perform a method of programming a Field Programmable Gate Array (FPGA) of a network interface circuit, the method comprising:
-
receiving FPGA programming;
configuring said FPGA programming as a compilable source file;
compiling the source file to produce an object file;
linking the object file with an object file of a device driver associated with the network interface circuit to produce a loadable device driver; and
providing the loadable device driver for loading by a computer operating system;
wherein during initialization of the network interface circuit by the operating system, the FPGA programming is downloaded to an FPGA of the network interface circuit.
-
-
20. A computer system configured to load instructions for operating a communication device to a controller component of the communication device, comprising:
-
a communication device comprising a controller;
an operating system configured to manage operation of the computer system; and
a device driver for the communication device, wherein the device driver comprises;
a first set of instructions for managing operation of the communication device at a physical layer; and
a second set of instructions for managing operation of the communication device at a layer above the physical layer;
wherein said first set of instructions is loaded into the controller in conjunction with initialization of the communication device. - View Dependent Claims (21, 22, 23, 24)
-
-
25. An apparatus for facilitating loading of instructions from a device driver of a communication device to a controller of the communication device, comprising:
-
the device driver, comprising;
a first instruction means for directing physical layer operation of the communication device; and
a second instruction means for directing operation of the communication device at a layer higher than the physical layer; and
an operating system configured to;
attach the device driver to the communication device; and
commence initialization of the communication device after the device driver is attached to the communication device;
wherein said first instruction means is loaded into the controller, from the device driver, during said initialization.
-
Specification