PCMCIA card dynamically configured in first mode to program FPGA controlling application specific circuit and in second mode to operate as an I/O device
First Claim
1. A PCMCIA card for insertion into a host computer comprising:
- a PCMCIA connector;
a nonvolatile memory, coupled to the PCMCIA connector and programmed with a first group of card information structure (CIS) data which defines the PCMCIA card as a memory device and a second group of CIS data which defines the PCMCIA card as an I/O device;
an application-specific circuit which interfaces with a peripheral device; and
a field programmable gate array (FPGA) coupled to the PCMCIA connector, to the nonvolatile memory, and to the application specific circuit, wherein the FPGA is programmable through the PCMCIA connector with code which controls the application specific circuit;
wherein the PCMCIA card is operable in a first mode in which the FPGA is programmed using the first group of CIS data through the PCMCIA connector from the host computer, and a second mode in which code programmed into the FPGA is used to operate the PCMCIA card using the second group of CIS data as an I/O device to interact with the peripheral device.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus and method for dynamically configuring a PCMCIA compatible card permits new or modified configuration parameters to be loaded into an FPGA on the card. In accordance with the invention, the PCMCIA card is initially configured to operate as a memory device. While in this mode, an FPGA on the card is loaded from a host computer using memory write commands through the PCMCIA interface. Thereafter, the card is reconfigured to operate as an I/O device using the FPGA code newly loaded on the card. The invention permits new PCMCIA card designs to be quickly changed and tested by downloading code into the FPGA and operating the card as an I/O device. The nonvolatile nature of an FPGA permits the card to retain its new or modified functions even after it has been powered down. Moreover, the invention permits code changes to be made dynamically without powering down the computer.
61 Citations
14 Claims
-
1. A PCMCIA card for insertion into a host computer comprising:
-
a PCMCIA connector; a nonvolatile memory, coupled to the PCMCIA connector and programmed with a first group of card information structure (CIS) data which defines the PCMCIA card as a memory device and a second group of CIS data which defines the PCMCIA card as an I/O device; an application-specific circuit which interfaces with a peripheral device; and a field programmable gate array (FPGA) coupled to the PCMCIA connector, to the nonvolatile memory, and to the application specific circuit, wherein the FPGA is programmable through the PCMCIA connector with code which controls the application specific circuit; wherein the PCMCIA card is operable in a first mode in which the FPGA is programmed using the first group of CIS data through the PCMCIA connector from the host computer, and a second mode in which code programmed into the FPGA is used to operate the PCMCIA card using the second group of CIS data as an I/O device to interact with the peripheral device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for configuring a PCMCIA card, comprising:
-
a host computer including a PCMCIA compatible socket; a PCMCIA card including a PCMCIA connector; a nonvolatile memory, coupled to the PCMCIA connector and programmed with a first group of card information structure (CIS) data which defines the PCMCIA card as a memory device and a second group of CIS data which defines the PCMCIA card as an I/O device; an application-specific circuit which interfaces with a peripheral device; and a field programmable gate array (FPGA) coupled to the PCMCIA connector, to the nonvolatile memory, and to the application specific circuit, wherein the FPGA is programmable through the PCMCIA connector with code which controls the application specific circuit; wherein the PCMCIA card is operable in a first mode in which the FPGA is programmed using the first group of CIS data through the PCMCIA connector from the host computer, and a second mode in which code programmed into the FPGA is used to operate the PCMCIA card using the second group of CIS data as an I/O device to interact with the peripheral device; a storage medium on which FPGA instructions are stored; and a computer program executing on the host computer which performs the steps of (1) interacting with the PCMCIA card as a memory device;
(2) causing the FPGA instructions to be loaded into the FPGA of the PCMCIA card using memory write instructions; and
(3) causing the PCMCIA card to switch into an I/O device mode. - View Dependent Claims (8, 9, 10)
-
-
11. A method of programming a PCMCIA card, comprising the steps of:
-
(1) from a host computer, reading card information structure (CIS) data from the PCMCIA card and, responsive to reading a first set of CIS data, configuring the host computer to interact with the PCMCIA card as a memory device; (2) from the host computer, writing FPGA instructions into an FPGA on the PCMCIA card using memory write instructions; (3) from the host computer, causing the PCMCIA card to switch into an I/O device mode; and (4) from the host computer, interacting with the PCMCIA card as if it were an I/O device. - View Dependent Claims (12, 13, 14)
-
Specification