US 11,055,106 B1
Bootstrapping a programmable integrated circuit based network interface card
Ellery Cochell, Sunnyvale, CA (US); Brian S. Martin, Longmont, CO (US); Chandrasekhar S. Thyamagondlu, Sunnyvale, CA (US); and Ravi N. Kurlagunda, Fremont, CA (US)
Assigned to Xilinx, Inc., San Jose, CA (US)
Filed by Xilinx, Inc., San Jose, CA (US)
Filed on Dec. 18, 2019, as Appl. No. 16/719,449.
Int. Cl. G06F 9/4401 (2018.01); G06F 21/57 (2013.01); G06F 13/28 (2006.01)
CPC G06F 9/4406 (2013.01) [G06F 13/28 (2013.01); G06F 21/575 (2013.01); G06F 2221/034 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method, comprising:
implementing, using programmable circuitry within a programmable integrated circuit (IC), a first circuitry by loading a first stage configuration bitstream into the programmable IC, wherein the first circuitry includes a bus endpoint configured to communicate with a host computer via a communication bus, a platform processor, and a first bootloader;
loading within the programmable IC, by the platform processor executing the first bootloader, a first firmware;
implementing a second circuitry using the programmable circuitry of the programmable IC by loading a second stage configuration bitstream into the programmable IC, wherein the second stage configuration bitstream is loaded into the programmable IC by the platform processor executing the first firmware, and wherein the second circuitry includes a network interface card (NIC) controller; and
loading within the programmable IC, by the platform processor executing the first firmware, a second firmware executable to configure the second circuitry.