CN112866307B - Method and system for providing FPGA wireless programming download through wireless communication block - Google Patents
Method and system for providing FPGA wireless programming download through wireless communication block Download PDFInfo
- Publication number
- CN112866307B CN112866307B CN201911101449.6A CN201911101449A CN112866307B CN 112866307 B CN112866307 B CN 112866307B CN 201911101449 A CN201911101449 A CN 201911101449A CN 112866307 B CN112866307 B CN 112866307B
- Authority
- CN
- China
- Prior art keywords
- fpga
- wcb
- wireless
- configuration
- lbs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7867—Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Logic Circuits (AREA)
- Stored Programmes (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The programmable semiconductor device includes a wireless communication block ("WCB") capable of facilitating field programmable gate array ("FPGA") wireless programming downloads and functional logic implementation. In one aspect, the WCB detects an FPGA access request initiated from a remote system via a wireless communication network for initiating an FPGA reconfiguration. When a configuration bitstream for programming an FPGA is received over a wireless communications network, the configuration bitstream is forwarded from the WCB to a configuration download block ("CDB") to initiate a configuration flow. The CDB then programs at least a portion of the configurable logic blocks ("LBs") in the FPGA in response to the configuration bitstream.
Description
Technical Field
Exemplary embodiments of the present invention relate to the field of programmable semiconductor devices for computer hardware and software. More particularly, exemplary embodiments of the present invention relate to wireless communication capabilities in field programmable gate arrays ("FPGAs") or programmable logic devices ("PLDs").
Background
With the increasing popularity of digital communications, artificial Intelligence (AI), internet of things (IOT), and/or robotic control, there is an increasing demand for fast and efficient hardware and semiconductors with processing capabilities. To meet such demands, a higher speed and more flexible semiconductor chip is generally required. Conventional approaches to meeting such demands have been to use application specific custom integrated circuits and/or Application Specific Integrated Circuits (ASICs) to meet such demands. The disadvantage of the ASIC approach is that it lacks flexibility while consuming a lot of resources.
Another increasingly popular conventional approach is to utilize Programmable Semiconductor Devices (PSDs), such as Programmable Logic Devices (PLDs) or Field Programmable Gate Arrays (FPGAs). One feature of the PSD is that it allows an end user to write one or more desired functions to suit their application. To use a PSD, an FPGA or PLD must be configured or programmed prior to use. The traditional method of configuring an FPGA is to use an FPGA programming download circuit that communicates with a personal computer or host through a USB interface to send a desired configuration file (e.g., a bitstream or bitstream file) from the host to the FPGA for configuration. For example, a bit stream may be downloaded through the jtAg interface, the bit stream being used to program the FPGA to perform user-specified functions.
However, a disadvantage associated with conventional configuration methods for FPGAs or PLDs is that such configuration/programming of FPGAs or PLDs typically relies on a host system connected to the FPGA or PLD to program and/or reprogram the configurable logic in the PSD.
Disclosure of Invention
The present invention provides a system that includes a Wireless Accessible PLD (WAP) that is wirelessly programmable to perform logic functions via one or more remote systems. In one embodiment, the WAP includes a wireless communication block ("WCB") and an FPGA. In one aspect, the WCB is used to facilitate wireless downloading of FPGA configuration files or bit streams for configuring the FPGA. The WCB is also used to facilitate wireless access to the functional logic of the FPGA. In one aspect, the WCB is capable of detecting an FPGA access request initiated from a remote system via a wireless communication network to initiate an FPGA reconfiguration. After receiving the configuration bitstream via the wireless communication network, the configuration bitstream is forwarded from the WCB to a configuration download block ("CDB") for initiating a configuration flow. The CDB then programs at least a portion of the configurable logic blocks ("LBs") in the FPGA in response to the configuration bitstream.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings that are needed in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
1A-1B are block diagrams illustrating a wireless accessible PLD ("WAP") capable of providing FPGA wireless programming download and debug using one or more WCBs, according to one embodiment of the invention;
FIGS. 2A-2B are block diagrams illustrating a wireless accessible PLD ("WAP") capable of facilitating wireless FPGA programming and debugging, according to one embodiment of the invention;
3A-3C are block diagrams illustrating wireless FPGA downloads and wireless access of logic functions using one or more WCBs, according to one embodiment of the invention;
FIGS. 4A-4B are block diagrams illustrating a wireless accessible PLD ("WAP") capable of providing network communications using one or more WCBs, according to one embodiment of the invention;
5A-5B are block diagrams illustrating an integrated circuit ("IC") containing a programmable logic circuit ("PLC") and a programmable WCB according to one embodiment of the invention;
FIGS. 6A-6B are block diagrams illustrating a device including an FPGA and a WCB according to one embodiment of the invention;
fig. 7A-7B are flowcharts illustrating a process for implementing WAP for wireless downloading of configuration bitstreams in accordance with one embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Embodiments of the present invention disclose a PSD of a configurable LB with a WCB and an FPGA that can facilitate wireless bit stream downloads for configuring and debugging the LB. The PSD containing the WCB and LB is also referred to as a wireless-accessible PLD ("WAP") capable of operating in either a programming mode or a logical access mode. In programming mode, WAP downloads the netlist or updated configuration bit stream from the remote system wirelessly over a wireless communication network for FPGA configuration. For example, WAP detects FPGA access requests through WCB for initiating FPGA reconfiguration over a wireless communications network. After the WCB receives the configuration bitstream for programming the FPGA, the configuration bitstream is transferred to the CDB to start the configuration flow. The CDB then reprograms or reconfigures at least a portion of the configurable LBs in the FPGA according to the configuration bitstream. It should be noted that the configuration bitstream contains the logical functions desired by the user.
For the logic access mode, WAP allows a user or user system to wirelessly access programmed FPGA logic functions. For example, a user may provide inputs remotely to the logic functions of the FPGA over a wireless communications network. The logic function of the FPGA generates a result from the input and the previously stored data and then transmits the result to the user through the WCB over the wireless communications network.
Fig. 1A is a block diagram illustrating a WAP 1102 according to an embodiment of the present invention, the WAP 1102 being capable of facilitating wireless download for programming FPGAs or debugging. It should be noted that "FPGA" and "PLD" refer to the same or similar configurable logic devices that can be programmed to perform the functions desired by the user. WAP 1102 includes WCB 1110 and FPGA 1112.FPGA 1112, also referred to as FPGA core, PLD core, FPGA chip, or PLD chip. WAP 1102 also includes CDB 1116 and configurable LBs 1118, where configurable LBs 1118 may be programmed or configured by a bit stream, bit stream file, or configuration bit stream to perform specific logic functions. It should be noted that the basic concepts of the exemplary embodiments of the present invention are not changed if one or more blocks (circuits or elements) are added or removed in fig. 1A.
The WCB1110 in one aspect is a circuit or component configured to provide or facilitate wireless communications. For example, the functionality of the WCB is to provide wireless communication capabilities that enable the transmission or reception of information between the WAP 1102 and an external remote system via a wireless communication network. Wireless communication networks include, but are not limited to, wi-Fi, bluetooth, cellular, satellite, and/or wireless networks. The WCB1110 may be a circuit fabricated in an FPGA. Alternatively, the WCB1110 may be placed in a semiconductor chip or chip, which may be packaged together with the FPGA on a module or package.
FPGA1112 is a semiconductor integrated circuit ("IC") or chip that contains various configurable LBs and memory cells that can be programmed by a user after the IC is manufactured. To program or configure an FPGA to perform user-defined logic functions, the FPGA may be programmed with a set of bitstreams to perform the desired functions. In one example, the FPGA includes a configurable LBs array and routing structures. In one example, the routing structure shown as number 1130 includes various reconfigurable interconnects for connecting various LBs.
In one example, WAP 1102 is a module that includes FPGA1112 and WCB1110 for facilitating wireless bit stream downloads for programming and debugging the FPGA. In one example, the WCB1110 is coupled to the CDB 1116 via a connection 1132 to facilitate a programming mode of operation. Similarly, the WCB1110 is connected to LBs via connection 1136 to facilitate operation in a logical access mode. Depending on the application, the connections 1132-1136 may be combined into one connection. In another example, WAP 1102 includes a wireless module, such as WCB1110, and an FPGA chip, such as FPGA1112, where WCB1110 and FPGA1112 are packaged on a single package.
In an alternative embodiment, the IC is manufactured to contain a PSD, such as WAP 1102, configured to have a radio block and an FPGA block. WAP 1102 includes a set of configurable LBs 1118, routing structure 1130, CDB 1116, and WCB 1110, where configurable LBs 1118 is selectively programmable to perform one or more logic functions. The routing structure 1130 is configured to selectively route information between the configurable LBs and input/output ports based on routing configuration bitstreams or configuration signals. The CDB 1116 includes a memory for storing configuration data, such as a bit stream for programming the configurable LBs 1118 and a routing structure 1130.
The WCB 1110 may be used to facilitate wireless programming or wireless commissioning of the configurable LBs 1118 via a wireless communication network. In one example, the WCB 1110 includes a Wi-Fi transmitter and a Wi-Fi receiver. Alternatively, the WCB 1110 includes a cellular transmitter and a cellular receiver. The WCB 1110 may also include a bluetooth transmitter and a bluetooth receiver. The WCB 1110 may be configured to select either a built-in optional Wi-Fi transceiver or a built-in optional bluetooth transceiver, depending on the application.
It should be noted that WAP 1102 provides an FPGA wireless programming download/debug circuitry that includes a wireless module (e.g., WCB 1110) and an FPGA module (e.g., LBs 1118). The wireless module is connected with the field programmable gate array configuration downloading module to realize a configuration mode. In one aspect, the user mode is implemented using a wireless module connected to FPGA logic resources. It should be noted that these two modes can be switched dynamically based on the control signal.
One advantage of using a PSD with a wireless block (e.g., WAP 1102) is that it can provide wireless program download/debug PSDs (e.g., FPGAs) without a physically connected host system.
Fig. 1B is a block diagram illustrating an IC or semiconductor chip containing a WAP1106, the WAP1106 being capable of facilitating FPGA wireless programming download and/or debugging in accordance with an embodiment of the present invention. WAP1106 includes WCB1120, CDB 1126, and configurable LBs 1128, wherein configurable LBs 1128 is programmed or configured by a configuration bitstream to perform configured logic functions. In one aspect, WAP1106 is similar to WAP 1102 shown in FIG. 1A, except that WCB1120, CDB 1126, and LBs 1128 are fabricated on a single IC or chip. It should be noted that the basic concepts of the exemplary embodiments of the present invention are not changed if one or more blocks (circuits or elements) are added or removed in fig. 1B.
In one embodiment, WAP1106 is FPGA wireless programming download/debug circuitry capable of wireless communication with devices using wireless transmissions via WCB1120 or a wireless module. Since WCB1120, CDB 1126, and LBs 1128 are placed or fabricated on a single IC, chip, and/or chip, WAP1106 improves circuit integration by reducing resource allocation and improving efficiency. In one embodiment, WAP1106 is configured to have a programming (or configuration) mode and a user mode.
In one embodiment, WCB 1120 facilitates wireless data transfer between WAP 1106 and an external remote system, as shown in FIG. 1B. The data transfer includes a configuration bitstream for programming/reprogramming the FPGA. The data transfer also includes input data from the remote system to the WAP 1106 or output data from the WAP 1106 to the remote system.
When the programming mode is activated, WCB 1120 downloads the netlist or updated configuration bitstream from a remote system over a wireless communication network. The bit stream, also referred to as a bit stream file, is forwarded from WCB 1120 to CDB 1126 via connection 1152. At least a portion of LBs 1128 is then programmed or reconfigured by CDB 1126 based on the bit stream. When the logic access mode is activated, WAP allows a user or user system to wirelessly access programmed FPGA logic functions. For example, a user may provide input to the logic functions of the FPGA remotely via WCB 1120 using connection 1156 and/or routing structure 1150. The results generated by the FPGA or the logic function of LBs 1128 are then communicated to the user via WCB 1120. Depending on the application, the connections 1152-1156 may be incorporated into a configurable structure.
One advantage of using WAP 1106 is increased integration and design cost savings while increasing resource utilization.
Fig. 2A is a block diagram 1202 showing an exemplary illustration of wirelessly downloading a bit stream via a bluetooth wireless network to facilitate configuration and/or debugging of an FPGA, according to one embodiment of the invention. In one embodiment, block 1202 includes portable device 1206, WAP 1210, and a wireless network, where the wireless network is a Bluetooth communication network. It should be noted that the basic concepts of the exemplary embodiments of this invention do not change if one or more blocks (circuits or elements) are added or removed in block 1202.
In one example, the portable device 1206 may be a smart phone, tablet computer, laptop computer, desktop computer, server, workstation, base station, or the like. In one aspect, portable device 1206 is a remote system coupled to WAP 1210 via wireless network 1219. In one aspect, the wireless network 1219 is a bluetooth communication network.
In one aspect, WAP 1210, which contains FPGA programming download circuitry, is capable of communicating with devices (e.g., workstation, personal computer, or portable device 1206) capable of sending and/or receiving bitstream files. For example, after downloading the bit stream file from the portable device 1206 to the WCB 1212 via the bluetooth communication network 1219, at least a portion of the LBs 1218 is programmed or configured by the CDB 1216 based on the bit stream or bit stream file.
The advantage of using WAP 1210 is to provide flexibility to access the FPGA rather than using a host system through a wired connection. It should be noted that simplifying the design and reducing the printed circuit board ("PCB") area may increase the overall efficiency of the system.
Fig. 2B is a block diagram 1204 illustrating a remote wireless system for facilitating wireless downloading of configuration bitstreams between a remote location WAP and a user in accordance with one embodiment of the present invention. Block 1204 includes WAP 2110, remote system 1226, and user devices 1220-1224. It should be noted that the basic concepts of the exemplary embodiments of the present invention do not change if one or more blocks (circuits or elements) are added or removed in block 1204.
When user devices 1220-1224 are coupled to remote system 1226 via wired connection 1250 and wireless connection 1252, remote system 1226 is coupled to WAP 1210 via wireless network 1256. In one aspect, remote system 1226 is a private system operated by a particular company, such as gowin semIConductortm, for facilitating wireless access between user systems 1220-1224 and WAP 1210. In one example, the remote system 1226 can be coupled to base stations or towers 1228-1230 via its built-in wireless capability or connection 1251. It should be noted that the remote system 1226 may implement an authentication process to determine whether to allow a user system, such as the user device 1220, to access or reprogram LBs 1218.
Fig. 3A is a block diagram 1302 showing an exemplary illustration of a wireless download bit stream via a Wi-Fi wireless network for facilitating configuration and/or debugging of an FPGA in accordance with one embodiment of the present invention. Block 1302 includes a portable device 1206, a WAP1210, and a wireless network, wherein the wireless network is a Wi-Fi communication network. It should be noted that the basic concepts of the exemplary embodiments of the present invention do not change if one or more blocks (circuits or elements) are added or removed in block 1302.
WAP1210, which contains FPGA programming download circuitry such as WCB 1212, can communicate with devices such as workstations, personal computers, or portable devices 1206 via Wi-Fi network 1308. For example, after a set of bit stream files are transmitted from the portable device 1206 to the WCB 1212 via the Wi-Fi network 1308, at least a portion of LBs 1218 is programmed or configured by the CDB 1216 based on the bit stream or bit stream files. It should be noted that the WCB may also be configured to implement an authentication process to determine whether to allow the portable device 1206 to reprogram LBs 1218.
It should be noted that the wireless programming download or debug circuitry communicates with the device or user device using wireless transmissions. The device or user device may include a mobile phone, computer, tablet, automobile, watch, etc. After the user completes the logic design for performing the particular logic function, the user communicates with a wireless module (e.g., WCB 1212) via a wireless transmission protocol (e.g., bluetooth or Wi-Fi Direct) to send a bit stream file representing the logic design. The wireless module, such as WCB 1212, can recognize the wireless transmission protocol and receive the bit stream file accordingly. After the received bitstream file is sent to the CDB 1216, at least a portion of LBs in the FPGA is mapped or configured based on the downloaded bitstream file. For example, after completion, WAP1210 is able to perform the specific logic functions designed by the user.
To verify programming logic functions, WAP 1210, in one embodiment, employs wireless programming download/debug circuitry that may be used to verify and debug logic designs. For example, a wireless module, such as WCB 1212, may interact with a user via a display terminal through a wireless network.
One advantage of using WAP 1210 is that WAP 1210 allows users to remotely reprogram, verify, debug and use user-designed logic over a wireless communication network.
Fig. 3B is a block diagram 1306 illustrating an exemplary illustration of wireless access using logical functions of an FPGA of a Wi-Fi wireless network, according to one embodiment of the invention. Block 1306, which is similar to block 1302 shown in fig. 3A, includes portable device 1206, WAP 1310, and Wi-Fi communication network. In one embodiment, CDB is not required when WAP 1310 is in a logical access mode. It should be noted that the basic concepts of the exemplary embodiments of the present invention are not changed if one or more blocks (circuits or elements) are added or removed in the diagram 1306.
In one embodiment, WAP 1310 is capable of facilitating access to programmed logic functions in the FPGA portion of WAP 1310, as indicated by reference numeral 1316. For example, the portable device 1206 may send a data request or input data to the WCB 1212 via the Wi-Fi communication network 1308. The request and/or input data is then forwarded to logic block 1316 to access the configuration logic functions or LBs in logic block 1316. When a result is generated by logic block 1316 based on the request or input data, the result is sent from WAP 1310 to portable device 1206 via Wi-Fi communication network 1306. Note that WCB 1212 may also be used to provide power management for WAP 1310.
For example, in user mode, a user may use a wireless module, such as WCB 1212, to accomplish a desired logic function according to a predefined set of requirements. In one example, the default mode of WAP 1310 may be selectively set to the configuration mode. For example, WAP 1310 is set to user mode after power up. In one aspect, the WCB 1212 is used to manage configuration modes and user modes or switch between the two.
Fig. 3C is a block diagram 1330 illustrating a debug and/or validation scenario using wireless access during user mode according to one embodiment of the invention. Block 1330 is similar to block 1306 shown in fig. 3B, including portable device 1206, WAP1332, and wireless communications network 1338. In one embodiment, when WAP1332 is in a logical access mode or user mode, CDB is not required. It should be noted that the basic concepts of the exemplary embodiments of this invention do not change if one or more blocks (circuits or elements) are added or removed in block 1330.
WAP1332 includes WCB 1312 and FPGA1350, where FPGA1350 includes various LBs1318-1328.LBs 1318-1328 can be programmed to perform a particular set of logic functions. In one embodiment, the WCB 1312 and the FPGA1350 are fabricated on a single mold. Alternatively, the WCB 1312 and the FPGA1350 are packaged on a single module.
In one aspect, the WCB 1312 is able to identify and capture input data 1352-1356 through LB1318 indicated by numerals 1362-1366. Captured input data 1352-1356 is then forwarded from the WCB 1312 to the device 1206 via the wireless communication network 1338. When the logical functions performed by LB1318 are complete, output 1368 is copied to WCB 1312 for the validation or debug process. The logic function may be any function, such as an Arithmetic Logic Unit (ALU), multiplier, adder, subtractor, and the like. It should be noted that LB1318 may comprise a plurality of programmable logic elements ("LEs") or macro-cells.
In operation, a method of verifying or debugging functional logic in FPGA 1350 via WCB 1312 includes a wireless communication block ("WCB"), the method comprising: when the WCB 1312 receives a debug request from a remote device, such as the device 1206, via the wireless communication network 1338, a first configurable LB, such as LB1318, is identified from an array of configurable LBs 1318-1328 based on the debug request. As the input data 1352-1356 continues to move to LB1318, the WCB 1312 obtains a copy of the input data 1362-1366 to LB 1318. A copy of the input data 1362-1366 is transmitted from the WCB 1312 to the remote device 1206 via the wireless communication network 1338. After receiving the output data 1368 from the LB1318 performing the configured logic function, the output data 1368 is transmitted to the remote device 1206 via the wireless communication network 1338. Upon receiving the input data 1362-1366 and the output data 1368, the remote device 1206 is able to properly verify and/or debug the functionality of the LB1318 based on the input data and the output data 1362-1368.
One advantage of using WAP 1332 with wireless functionality is that it allows a user or operator to access and verify the functionality of an FPGA without physically accessing the FPGA.
Fig. 4A is a block diagram 100 illustrating a wireless accessible PLD ("WAP") capable of providing network communications using one or more WCBs, according to one embodiment of the invention. The block diagram 100 includes a plurality of programmable partition regions ("PPRs") 102-108, a programmable interconnect array ("PIA") 150, an internal distribution network, and region input/output ("I/O") ports 166. The PPRs 102-108 also include control units 110, 120, 130, 140, memories 112, 122, 132, 142, configurable WCBs 152-158, and logic blocks ("LBs") 116, 126, 136, 146. Note that the control units 110, 120, 130, 140 may be configured as a single control unit, and similarly, the memories 112, 122, 132, 143 may also be configured as a single memory device for storing the configuration. Furthermore, the configurable WCBs 152-158 may also be combined into a single programmable WCB. In one aspect, WAP is a PSD comprising at least one FPGA and WCB. It should be noted that the basic concepts of the exemplary embodiments of the present invention are not altered if one or more blocks (circuits or elements) are added or removed in block diagram 100.
The LBS 116, 126, 136, 146 include a plurality LBs, 128, 138, 148, each LBs of which may be further organized to include a set of programmable logic elements ("LEs") or macro cells, not shown in fig. 4A, among other circuitry. In one example, each LBs can include 32 to 512 programmable LES. The I/O pins (not shown in FIG. 4A), LBs, and LE are connected by the PIA 150 and/or other buses (e.g., buses 162, 114, 124, 134, 144) to facilitate communication between the PIA 150 and the PPRs 102-108.
Each LE includes programmable circuitry such as a product item matrix and registers. For example, each LE may be independently configured to perform sequential and/or combinational logic operations. It should be noted that the basic concept of the shield gate will not change if one or more blocks and/or circuits are added or removed from the shield gate.
The control units 110, 120, 130, 140, also referred to as configuration logic, may be a single control unit. For example, the control unit 110 manages and/or configures the individual LEs in LBs 118 based on the configuration stored in the memory 112. It should be noted that some I/O ports or I/O pins are configurable, so they may be configured as input pins and/or output pins. Some I/O pins are programmed as bi-directional I/O pins, while other I/O pins are programmed as uni-directional I/O pins. The control unit, such as unit 110, is configured to process and/or manage PSD operations based on the system clock signal.
The PIA 150 is coupled to the LBs 116, 126, 136, 146 by various internal buses (e.g., buses 114, 124, 134, 144, 162). In some embodiments, buses 114, 124, 134, 144, and 162 are part of PIA 150. Each bus includes channels or wires for transmitting signals. It should be noted that the terms channel, routing channel, wire, bus, connection, and interconnect refer to the same or similar connection and will be used interchangeably herein. The PIA 150 may also be used to receive and/or transmit data directly or indirectly from/to other devices through the I/O pins and LBs.
The functionality of the WCB, such as WCB 152, is a dedicated communications unit capable of transmitting or receiving information between the WAP and an external remote system via a wireless communications network. In one aspect, the configurable or programmable WCB can be programmed to facilitate wireless communications using wireless communications, such as, but not limited to Wi-Fi, bluetooth, cellular, satellite, and/or wireless networks.
One advantage of employing a programmable WCB is that it enables the PSD to communicate with external systems independently without a host.
FIG. 4B is a block diagram 200 illustrating routing logic or an architecture incorporating a programmable array for facilitating interconnection of various components including WCB routing, according to one embodiment of the invention. Block diagram 200 includes control logic 206, PIA 202, I/O pins 230, and clock unit 232. The control logic 206 may be similar to the control unit shown in fig. 4A, which provides various control functions including channel allocation, differential I/O standards, and clock management. The control logic 206 may include volatile memory, nonvolatile memory, and/or a combination of volatile and nonvolatile memory devices for storing information such as configuration data. In one embodiment, the control logic 206 is incorporated into the PIA 202. It should be noted that the basic concepts of the exemplary embodiments of the present invention are not altered if one or more blocks (circuits or elements) are added or removed in block diagram 200.
I/O pins 230 are coupled to PIA 202 via bus 231 and comprise a plurality of programmable I/O pins configured to receive and/or transmit signals to external devices. For example, each programmable I/O pin may be configured as an input, output, and/or bi-directional pin. Depending on the application, the I/O pins 230 may be incorporated into the control logic 206.
In one example, clock unit 232 is connected to PIA 202 via bus 233 and receives various clock signals from other components, such as a clock tree circuit or a global clock oscillator. In one example, clock unit 232 generates a clock signal in response to a system clock and a reference clock for implementing I/O communications. For example, depending on the application, the clock unit 232 provides a clock signal including a reference clock to the PIA 202.
In one aspect, the PIAs 202 are organized into an array scheme that includes channel sets 210 and 220, a bus 204, and I/ O buses 114, 124, 134, 144. The channel groups 210, 220 are used to facilitate routing information between the PIA configuration-based LBs. The channel groups may also communicate with each other via an internal bus or connection such as bus 204. Channel group 210 also includes interconnected array decoders ("IADs") 212-218. Channel group 220 includes four IADs 222-228. One function of the IAD is to provide configurable routing resources for data transmissions.
IADs such as IAD 212 include routing multiplexers or selectors for routing signals between I/O pins, feedback outputs, and/or LBs inputs to reach a destination. For example, the IAD may include up to 36 multiplexers, which may be arranged in four groups, where each group contains nine rows of multiplexers. It should be noted that the number of IADs in each channel group is a function of the number of LEs in LBs.
In one embodiment, the PIA 202 specifies a particular IAD, such as IAD218, for handling WCB routing. For example, the IAD218 is designated to handle connections and/or routing between WCBs and LBs to facilitate data transmission using the wireless network. It should be noted that additional IADs may be allocated to handle WCB operations.
An advantage of using IAD218 as the designated WCB route in PIA is that it integrates the WCB with the FPGA to provide network communications using the detected nearby wireless communication network.
Fig. 5A is a block diagram 300 illustrating an IC 304 containing a programmable logic circuit ("PLC") 306 and a programmable WCB 302 according to one embodiment of the invention. IC 304, also referred to as a semiconductor chip or semiconductor chip, is a WAP that includes wireless communication circuitry, such as configurable WCB 302 and PLC 306, that is capable of performing programmable logic functions, such as FPGAs and PLDs. Block diagram 300 also includes an antenna 308, where antenna 308 may be a stand-alone device or a mounting component in IC 304. It should be noted that the basic concepts of the exemplary embodiments of the present invention do not change if one or more blocks (circuits or elements) are added or removed in block diagram 300.
In one example, the PLC 306 contains a set of LBs or LBs 320, these LBs or LBs 320 organized in an array configuration having a plurality of configurable blocks. LBs or LBs 320 may be further organized into rows and columns of programmable LEs or macro-cells, not shown in fig. 3A, for performing programmable logic functions. To provide user selectable or programmable logic functions, one or more LBs 320 are typically required to provide the selected function. To group the plurality LBs 320 to perform the user-selected function, one or more LBs 320 are interconnected using a programmable routing structure 326. It should be noted that each of the configurable LEs, LBs, and/or LABs can be selectively programmed to perform one or more logic functions.
In one example, routing fabric 326 is an array of configurable connections for selectively connecting one or more LBs to route and process data between LBs 320. Another function of the routing fabric 326 is to route data or information between the LBs320 and input/output ports of the PLC 306. In one aspect, at least a portion of routing structure 326 may be configured to power at least a portion of LBs320 or terminate at least a portion of power from LBs according to power control signals generated by WCB 302.
The WCB 302 is in one aspect a configurable or programmable communications circuit capable of receiving or transmitting information between the IC 304 and the external system 336 via the wireless network 338. WCB 302 includes a transmitter and receiver ("T/R") switch 311, a receiver 310, a transmitter 312, a frequency synthesizer 316, and a converter 318. In one embodiment, the WCB 302 also includes a control circuit, processor, or controller configured to assist in managing various components, such as the receiver 310, the T/R switch 311, the transmitter 312, the frequency synthesizer 316, and/or the converter 318. In an alternative embodiment, the receiver 310 and transmitter 312 are combined into one or more built-in transceivers, as indicated by the numeral 330, capable of handling wireless communications via a selected wireless protocol. It should be noted that the WCB 302 may include additional components such as memory and power sources.
The transmitter 312, also referred to as a radio transmitter, is an electronic telecommunication device capable of generating radio waves or frequencies representative of digital information, which are then transmitted via the antenna 308. For example, radio frequencies or waves may be transmitted to their remote destination, such as the external system 336. Information or data is fed from a frequency synthesizer ("FS") 316.
The receiver 310, also called a radio receiver, is an electronic telecommunication device capable of receiving radio waves or frequencies from an antenna such as the antenna 308. For example, antenna 308 receives radio waves or frequencies and forwards the received waves or frequencies to receiver 310, which receiver 310 then sends the received waves to converter 318 for conversion, modulation, and processing. It should be noted that the transmitter/receiver switch 311 is used to schedule whether the antenna 308 can be used by the receiver 310 or the transmitter 312. In one aspect, the switch 311 is controlled or managed by a controller or control circuit in the IC 304.
In one embodiment, the converter 318 is a digital-to-analog ("DAC") and/or an analog-to-digital ("ADC") converter. Note that a DAC is a circuit capable of converting a digital signal into an analog signal. Similarly, an ADC is a conversion circuit configured to convert an analog signal to a digital signal. In one aspect, as indicated by numeral 328, the output of the converter 318 is fed to the processor or PLC 306.
In one embodiment, a built-in transceiver or transceiver 330 is used in place of the transmitter and receiver. For example, built-in transceiver 330 includes one or more receivers shown at 310, a transmitter shown at 312, and a transmitter/receiver switch shown at 311. The function of the transceiver is to transmit and receive information. Wireless transceivers are commonly used for portable devices such as cellular telephones, wi-Fi modems, cordless telephones, satellite modems, radio-based two-way interphones, bluetooth devices, and the like.
In one aspect, transceiver 330 may be configured to provide various transceiver functions with different wireless communication protocols. For example, transceiver 330 may include a Wi-Fi transmitter and a Wi-Fi receiver. Alternatively, transceiver 330 includes a bluetooth transmitter and a bluetooth receiver. Transceiver 330 may also include a cellular transmitter and a cellular receiver, depending on the application. Transceiver 330, in one aspect, comprises a selectable Wi-Fi transceiver, a selectable bluetooth transceiver, and/or a cellular transceiver, wherein transceiver 330 is capable of selecting one of the built-in (Wi-Fi, bluetooth, cellular, etc.) transceivers to handle the selected wireless communication via the wireless network.
In one aspect, the IC 304 includes a processor or controller not shown in fig. 3A, where the processor may be a stand-alone circuit or part of the WCB 302. Alternatively, the processor may be part of the PLC 306. For example, the processor may be a control circuit configured to selectively activate at least a portion of LBs based on a wake-up signal received, for example, by the built-in transceiver 330 via a wireless communication network. Similarly, the processor, controller, or control circuitry may be configured to selectively place at least a portion of LBs in sleep mode to conserve power in response to sleep signals received by, for example, the built-in transceiver 330 over a wireless communication network.
In an aspect, the processor or control circuitry is configured to manage power distribution to at least a portion of LBs in response to power signals received by the built-in transceiver 330 via the wireless communication network. In another aspect, the processor can retrieve data from the PLC 306 according to the data request received by the transceiver 330 and transmit the retrieved data to a user requesting, for example, an external system 336 via the WCB 302 over the wireless communication network 338.
It should be noted that IC 304 may be used in or with any system, such as, but not limited to, portable devices, monitoring systems, automobiles, airplanes, boats, automated vehicles, drones, security devices, etc. An advantage of using the WCB 302 is that it facilitates communication between the IC 304 and a remote external system via a wireless communication network.
Figure 5B is a block diagram illustrating a WCB 350 including a plurality of programmable wireless communication circuits ("WCCs") 360-368 according to one embodiment of the invention. The WCB 350 includes a Wi-Fi WCC 360, a Bluetooth WCC 362, a cellular WCC 364, a satellite WCC 366, a WCC selector 354, and a MUX 356. In one aspect, the WCB 350, similar to the WCB 302 shown in FIG. 3A, may be programmed to one of the predefined wireless protocols. In another aspect, the WCB 350 may be programmed to handle multiple wireless communication networks. For example, the WCB 350 may facilitate bluetooth communications for authentication while data transmission is using Wi-Fi communications. It should be noted that the basic concepts of the exemplary embodiments of the present invention do not change if one or more blocks (circuits or elements) are added or removed in the WCB 350.
In one embodiment, the Wi-Fi WCC 360 includes a Wi-Fi transceiver, an FS, and a switch configured to process communications over a Wi-Fi communication network using Wi-Fi protocols. Wi-Fi is a Wireless Local Area Network (WLAN) wireless technology based on the IEEE802.11 standard. It should be noted that Wi-Fi systems can be connected to Wi-Fi communication networks, which can be further connected to the internet. Wi-Fi WCC 360, on the one hand, may be activated or deactivated by WCC selector 354.
In one embodiment, the bluetooth WCC 362 includes a bluetooth transceiver, an FS, and a translator configured to process communications over a bluetooth communication network using a bluetooth protocol. Bluetooth is a wireless network based on the IEEE 802.15.1 standard for facilitating communication between fixed devices and mobile devices. Bluetooth technology typically provides short range wireless communication using short wavelength UHF (ultra high frequency) radio waves of 2.400 to 2.485 GHz. Bluetooth may also be categorized as Personal Area Networks (PANs). The bluetooth WCC 362, on the one hand, may be activated or deactivated by the WCC selector 354.
In one embodiment, the cellular WCC 364 includes a cellular transceiver, FS, and a converter configured to process communications through a cellular communication network or cellular network using one or more cellular protocols. Cellular communication networks, also known as mobile networks, are considered to be communication networks in which some of the links are wireless connections or the last part of a connection. It should be noted that cellular networks are organized in cells and base stations, wherein a base station provides network transmission coverage for one or more cells. Cellular networks use various radio frequency bands such as, but not limited to, GSM (global system for mobile), UMTs (universal mobile telecommunications services or 3G), ITE (long term evolution or 4G), 5G (fifth generation), etc. In one aspect, the cellular WCC 364 may be activated or deactivated by the WCC selector 354.
In one embodiment, satellite WCC 366 includes a satellite transceiver FS and a converter configured to process communications using one or more satellite communication protocols over a satellite network. Satellite networks, also known as the satellite internet, provide network communications using various communication satellites in orbit. In one example, these satellites, also known as geostationary satellites, use the k-band to provide data transmission at 800 megabits per second. In one aspect, satellite WCC 366 may be activated or deactivated by WCC selector 354.
Other types of wireless communications may select other WCCs, such as WCC 368. For example, a specifically defined radio frequency may be used to communicate with an external system. For example, special radio frequencies may be used to provide secure access to prevent unauthorized access to the WAP. It should be noted that FSs and the converters described in Wi-Fi WCC 360, bluetooth WCC 362, cellular WCC 364, and/or satellite WCC 366 may be combined or partially combined to simplify the design of the programmable WCB.
The WCC selector 354 is configured, in one aspect, to selectively select one or more WCCs to facilitate wireless communication. In one example, the WCC selector 354 includes various programmable elements 352 and is capable of selecting or activating any of the WCCs 360-368 in response to control signals 370-378. In alternative embodiments, the programmable element 352 may be a non-volatile memory that stores programmable information based on a configuration program for controlling the WCCs 360-368.
The MUX 356 is a multiplexer or any other combination component that is capable of gating the output 358 in response to inputs from the WCCs 360-368. In one embodiment, MUX 356 is organized into a plurality of sub-multiplexers to facilitate activation of a plurality of WCCs.
One advantage of using a programmable WCB is that it provides a configurable capability to use a nearby wireless network to facilitate network communications between the WAP and the remote system.
FIG. 6A is a block diagram 400 illustrating a WAP manufactured in an IC capable of facilitating wireless communication between a PLD and a remote system, in accordance with one embodiment of the invention. In one embodiment, WAP 402 includes PLC 306, WCB 350, controller 406, memory 404, and power module 408 according to one embodiment of the invention. The memory 404 is used to store information such as configuration information. It should be noted that the basic concepts of the exemplary embodiments of the present invention do not change if one or more blocks (circuits or elements) are added or removed in block diagram 400.
The WCB 350, which is the same or similar to the WCB shown in FIG. 5B, includes a plurality of WCCs360-368, such as Wi-Fi WCCs, bluetooth WCCs, cellular WCCs, satellite WCCs, WCC selectors, and MUXs. Each WCC (e.g., WCC 360) includes a transceiver 330, the transceiver 330 including a transmitter 312, a receiver 310, a T/R switch 311, and an antenna 308. In one example, the antenna 308 may be shared by the WCCs 360-368. In one aspect, the WCB 350 is programmed to handle one or more wireless networks simultaneously. For example, bluetooth may be activated for WAP 402 authentication, while Wi-Fi communication is activated for transmitting information between WAP 402 and external systems.
The PLC306, which is the same as or similar to the PLC shown in fig. 5A, includes a set of LBs 320 connected by a configurable routing structure 326. The PLC306 provides various predefined logic functions according to the user's selections. In one aspect, the PLC306, WCB 350, and controller 406 are deposited or fabricated on a single IC or die.
The controller 406 is a digital processing unit capable of executing instructions configured to provide various functions including a power function 410, a frequency function 412, an authentication function 416, and a transceiver function 418. In one aspect, the power function 410 can generate a power control signal to place at least a portion of the PLC306 in a low power or sleep mode to conserve power. Similarly, the power function 410 is capable of waking up or activating at least a portion of the PLC306 from a low power mode based on a set of predefined conditions. In one example, the output of the power function 410 is fed to a power module 408, which power module 408 will be used to gate power to at least a portion of the PLC 306.
In one embodiment, the frequency function 412 is used to identify the type of wireless network or network WCB 350 that should be programmed or configured. In one aspect, the frequency function 412 may dynamically instruct the WCB 350 to reprogram to handle different types of wireless networks. For example, if WAP 402 is located in a mobile object such as an automobile or airplane, WAP 402 may have to be dynamically reconfigured based on the availability of the wireless network. For example, when certain locations do not have cellular coverage, the coverage of the satellite network may be sufficient. In addition, frequency function 412 may facilitate network connections to improve network efficiency.
Authentication function 416 is used to secure access to WAP 402. In one embodiment, a unique wireless communication key, such as Bluetooth, is used to verify the authenticity of the requestor or user requesting access to WAP 402. It should be noted that the security of WAP access may be improved by using one type of wireless communication (e.g., cellular) for authentication and another type of wireless communication (e.g., wi-Fi) for data transmission.
One advantage of using WAP is that it allows a user or subscriber to access WAP without having to go through the host.
Fig. 6B is a block diagram 500 illustrating a module 502 according to one embodiment of the invention, the module 502 containing a plurality of ICs, including a programmable chip and a built-in communication chip. In one example, module 502 is a multi-chip module ("MCM") capable of housing multiple ICs or chips. A module is an electronic assembly that contains conductive terminals (or pins) and a substrate. In one aspect, the MCM is capable of housing a plurality of integrated circuits, chips, semiconductor dies, or any other component that may be integrated or connected to a substrate. In one aspect, the module 502 includes a WCB510, an FPGA 512, a power supply 516, and a controller 518. It should be noted that the basic concepts of the exemplary embodiments of the present invention do not change if one or more blocks (chips or elements) are added or removed in block diagram 500.
In one embodiment, module 502 includes a first IC, a second IC, and a substrate capable of providing a wirelessly accessible logic device. The substrate is configured to provide interconnections for the mounted integrated circuit and the input/output terminals. In one aspect, a first IC is disposed on a substrate and includes a configurable LBs array and routing structure. The configurable lB is selectively programmable to perform one or more logic functions. In one example, the first IC is FPGA 512. The second IC placed or mounted on the substrate is a configurable WCB 510. In one aspect, the WCB 510 includes control circuitry and a built-in transceiver for facilitating the transfer of information between the module 502 and external systems via a wireless communication network. It should be noted that the built-in transceiver includes an optional Wi-Fi transceiver and an optional bluetooth transceiver.
In one aspect, the controller 518 is configured to select one of the selectable Wi-Fi and bluetooth transceivers. In one embodiment, controller 518 is also configured to provide other functions such as, but not limited to, power management, system activation, wireless communication protocols, authentication, and the like. The controller 518 may also be integrated into the WCB 510 or the FPGA 512.
In one embodiment, power supply 516 is used to manage the power consumption of the module. For example, if the module is not in an active state, a portion of the module (e.g., FPGA) is in sleep mode. The power source 516 may also be a stand-alone power source including, but not limited to, a battery, solar power, power storage, municipal power receiver, and the like.
One advantage of using a module containing multiple ICs (including WCBs) is that it allows a user or subscriber to access the FPGA without having to go through the host.
Exemplary embodiments of the present invention include various processing steps, which will be described below. The steps of the present embodiments may be embodied in machine or computer executable instructions. The instructions may be used in a general-purpose or special-purpose system that is programmed with the instructions to perform the steps of the exemplary embodiments of this invention. Alternatively, the steps of the exemplary embodiments of the present invention may be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.
Figure 7A is a flow chart illustrating a process of wirelessly programming an FPGA via a WCB according to one embodiment of the invention. At block 602, processing of the wcb can detect an FPGA access request initiated from a remote system via a wireless communication network to initiate an FPGA reconfiguration. In one example, the wireless communication network is a Wi-Fi network, where Wi-Fi signals are received by a built-in Wi-Fi transceiver in the WCB.
At block 604, the wcb receives a configuration bitstream for FPGA programming from a remote system via a wireless communication network. In one aspect, the WCB is configured to wake up at least some LBs by a wake-up signal initiated by control circuitry in the WCB according to a configuration bitstream. The configuration bitstream is processed by the CDB according to the FPGA access request.
At block 606, the configuration bitstream is forwarded to the CDB to initiate configuration flow. In one example, a configuration bitstream formatted in a wireless protocol is converted into an executable netlist.
At block 608, the cdb is configured to program or map at least a portion of the configurable LBs in the FPGA based on the configuration bitstream. In one embodiment, a synthesis field based gate level netlist is identified from a configuration bitstream. In the configuration flow, the gate level netlist is then mapped into the FPGA. The process enables verification and debugging of programmed FPGA logic by CDM from the gate level netlist. After the user device or remote system edits and compiles the configuration bitstream, the WCB can authenticate the remote system to wirelessly transmit the configuration bitstream. In one example, a Wi-Fi transceiver from the WCB is selected in response to a wireless control signal for receiving a configuration bitstream. The process can select a bluetooth transceiver, wi-Fi transceiver, cellular transceiver, or satellite transceiver in the WCB based on the wireless control signals used to acquire the configuration bit stream.
Fig. 7B is a flowchart 601 illustrating WAP processing according to an embodiment of the present invention. At block 612, the FPGA containing the programmable WCB processes a communication request to receive a built-in wireless transceiver ("BWT") from a remote system via a wireless communication network. For example, a communication request is received via a Wi-Fi signal through a built-in Wi-Fi transceiver on a Wi-Fi network.
At block 614, data from the configurable LBs is obtained from the communication request via the routing fabric. For example, after the control circuitry in the WCB wakes up at least some LBs in response to the communication request, the data is processed by LBs in accordance with the communication request.
At block 616, a data packet is generated according to a first wireless transmission protocol based on the data. For example, the data stream is composed of built-in Wi-Fi transmitters in a predefined Wi-Fi protocol.
At block 618, the process can send the data packet to a remote system via a wireless communication network via BWT. For example, the data stream is transmitted to a remote system over a Wi-Fi communication network. In one embodiment, wi-Fi transceivers are selected in the WCB in response to wireless control signals. Alternatively, a Bluetooth transceiver, wi-Fi transceiver, cellular transceiver, or satellite transceiver may be selected based on the wireless control signal.
In another embodiment, the WCB in the FPGA may be configured to provide power management to reduce power consumption. For example, the WCB may be configured to always be on or active while the FPGA portion of the logic is turned off to save power. For example, the WCB may wake up the FPGA portion of the logic when a data transmission occurs.
In one aspect, the power management process of an FPGA with a programmable WCB can keep the BWT in active mode while placing the LB in sleep mode of the FPGA to save power. For example, when continuous power supply to the BTW is allowed, the power supply to LBs is cut off or stopped. When the BWT receives an access request from a remote system through the wireless communication network, the BWT activates or wakes up the FPGA LBs in response to the access request. Data may then be retrieved from the LB based part by accessing the routing structure on the request. After generating the data packets formatted in the wireless protocol, the data packets are transmitted by the BWT to a remote system via a wireless communication network.
While particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that, based upon the teachings herein, that changes and modifications may be made without departing from this exemplary embodiment of this invention and its broader aspects. It is therefore contemplated by the appended claims to encompass within their scope all such changes and modifications as are within the true spirit and scope of this exemplary embodiment of the invention.
Claims (15)
1. A method of programming a Field Programmable Gate Array (FPGA) containing Wireless Communication Blocks (WCBs), comprising:
the WCB is controlled to be in an open state, and the FPGA is controlled to be in a dormant state;
detecting an FPGA access request initiated by the WCB from a remote system over a wireless communication network for initiating the FPGA reconfiguration; activating the FPGA;
receiving, by the WCB from a remote system over a wireless communication network, a configuration bitstream for FPGA programming;
forwarding the configuration bitstream to a Configuration Download Block (CDB) to initiate a configuration flow; and
programming at least a portion of the configurable Logic Blocks (LBs) in the FPGA by the CDB in response to the configuration bitstream;
Wherein the WCB allows a user or subscriber to access the FPGA without having to go through the host.
2. The method of claim 1, further comprising identifying a gate level netlist from the configuration bitstream.
3. The method of claim 2, further comprising mapping the gate-level netlist into the FPGA in a configuration flow.
4. The method of claim 3, further comprising verifying and debugging programmed FPGA logic by the CDB from the gate level netlist.
5. The method of claim 1, further comprising editing and compiling the configuration bitstream by a user device coupled to a remote system.
6. The method of claim 5, further comprising authorizing a remote system to wirelessly transmit a configuration bitstream to the CDB via the WCB to reconfigure the FPGA.
7. The method of claim 1, further comprising selecting a Wi-Fi transceiver from the WCB in response to a wireless control signal for receiving the configuration bitstream.
8. The method of claim 1, further comprising selecting one of a bluetooth transceiver, a Wi-Fi transceiver, a cellular transceiver, and a satellite transceiver in the WCB to acquire the configuration bitstream based on a wireless control signal.
9. The method of claim 1, wherein detecting the FPGA access request comprises acquiring a Wi-Fi signal by a built-in Wi-Fi transceiver of the WCB over a Wi-Fi network.
10. The method of claim 1, wherein receiving the configuration bitstream comprises:
waking up at least some LBs by control circuitry in the WCB according to the configuration bitstream; and
and the CDB processes the configuration bit stream according to the FPGA access request.
11. The method of claim 1, wherein forwarding the configuration bitstream to the CDB comprises converting the configuration bitstream formatted in a wireless protocol to an executable netlist.
12. An apparatus comprising an Integrated Circuit (IC) that is selectively programmable to perform one or more logic functions, the apparatus comprising:
a plurality of configurable Logic Blocks (LBs) that can be selectively programmed to perform one or more logic functions;
a routing structure coupled to the plurality of configurable LBs for selectively routing information between the plurality of configurable LBs and input/output ports based on routing configuration signals;
a Configuration Download Block (CDB) coupled to the plurality of configurable LBs and operable to provide programmable information to the plurality of configurable LBs; and
A configurable Wireless Communication Block (WCB) coupled to the plurality of configurable LBs for facilitating wireless programming or wireless commissioning of the plurality of configurable LBs via a wireless communication network;
wherein the configurable wireless communication block is configured to be turned on and the FPGA is configured to be in a sleep state, the FPGA being activated when the configurable wireless communication block detects an access request by the FPGA;
the module in which the multiple ICs are contained allows a user or subscriber to access the FPGA without having to go through the host.
13. The apparatus of claim 12, wherein the WCB comprises a Wi-Fi transmitter and a Wi-Fi receiver.
14. The apparatus of claim 12, wherein the CDB comprises a memory for storing configuration data for configuring the configurable LBs and routing structures.
15. The apparatus of claim 12, wherein the WCB is configured to select one of a Wi-Fi transceiver and a bluetooth transceiver.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101449.6A CN112866307B (en) | 2019-11-12 | 2019-11-12 | Method and system for providing FPGA wireless programming download through wireless communication block |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911101449.6A CN112866307B (en) | 2019-11-12 | 2019-11-12 | Method and system for providing FPGA wireless programming download through wireless communication block |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866307A CN112866307A (en) | 2021-05-28 |
CN112866307B true CN112866307B (en) | 2023-05-30 |
Family
ID=75984382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911101449.6A Active CN112866307B (en) | 2019-11-12 | 2019-11-12 | Method and system for providing FPGA wireless programming download through wireless communication block |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866307B (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771408A (en) * | 2010-01-05 | 2010-07-07 | 中国人民解放军信息工程大学 | FPGA hardware element generating method and device |
CN107967235A (en) * | 2016-10-20 | 2018-04-27 | 上海复旦微电子集团股份有限公司 | A kind of wireless programmable system |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6873842B2 (en) * | 2001-03-30 | 2005-03-29 | Xilinx, Inc. | Wireless programmable logic devices |
US8254319B2 (en) * | 2007-01-31 | 2012-08-28 | Broadcom Corporation | Wireless programmable logic device |
-
2019
- 2019-11-12 CN CN201911101449.6A patent/CN112866307B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771408A (en) * | 2010-01-05 | 2010-07-07 | 中国人民解放军信息工程大学 | FPGA hardware element generating method and device |
CN107967235A (en) * | 2016-10-20 | 2018-04-27 | 上海复旦微电子集团股份有限公司 | A kind of wireless programmable system |
Also Published As
Publication number | Publication date |
---|---|
CN112866307A (en) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11923847B2 (en) | Method and system for providing wireless FPGA programming download via a wireless communication block | |
US8504662B2 (en) | Apparatus and method for adaptive multimedia reception and transmission in communication environments | |
US7839169B2 (en) | Programmable logic device with embedded switch fabric | |
US8589660B2 (en) | Method and system for managing hardware resources to implement system functions using an adaptive computing architecture | |
CN101031901B (en) | Low-power reconfigurable architecture for simultaneous implementation of different communication standards | |
KR20000016511A (en) | Method and apparatus for communicating information | |
JP2002141825A (en) | Real time programming for resource asset for electronic wireless system | |
US20230418771A1 (en) | Method and System for Accessing A Nonvolatile Memory via SPI Ports | |
US10833722B1 (en) | Method and system for providing a programmable logic device having a configurable wireless communication block field | |
CN112866307B (en) | Method and system for providing FPGA wireless programming download through wireless communication block | |
CN112860332B (en) | Method for programming and verifying FPGA (field programmable gate array) through wireless communication block | |
CN109218095B (en) | An intelligent wireless cloud SDR platform architecture and its reconstruction method | |
US20030054774A1 (en) | Method and system for managing hardware resources to implement system acquisition using an adaptive computing architecture | |
KR100681328B1 (en) | Modem platform device for wireless terminal device development | |
JP4478771B2 (en) | Software defined radio, programmable signal processing device, central control signal processing device | |
Zhao et al. | From reconfigurable SDR to cognitive femto-cell: A practical platform | |
Srikanteswara et al. | Soft radio implementations for 3G and future high data rate systems | |
Joseph et al. | Power consumption reduction in a SDR based wireless communication system using partial reconfigurable FPGA | |
Kumar et al. | A FPGA partial reconfiguration design approach for RASIP SDR | |
CN113138795B (en) | SDR-based configurable protocol communication system | |
KR100678493B1 (en) | SDD based modem platform device and operation method | |
Lu et al. | A single FPGA embedded framework for secondary user in cognitive network | |
Sereni et al. | A Software Radio Architecture for Implementation Complexity Evaluation of Multi-Standard Transceivers | |
Bronzel et al. | Functional Elements in E2E Reconfigurable Equipment | |
Kocks et al. | A cognitive radio realization based on a petri net approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |