Reconfigurable measurement system utilizing a programmable hardware element and fixed hardware resources
Abstract
A system and method for configuring a device to perform a function, where the device includes a programmable hardware element and one or more fixed hardware resources. A program is stored which represents the function. A hardware configuration program is generated based on the program, specifying a configuration for the programmable hardware element that implements the function, and usage of the fixed hardware resources by the programmable hardware element in performing the function. A deployment program deploys the hardware configuration program onto the programmable hardware element, where, after deployment, the device is operable to perform the function, where the programmable hardware element directly performs a first portion of the function, and the programmable hardware element invokes the fixed hardware resources to perform a second portion of the function. An optional measurement module couples to the device and performs signal conditioning and/or conversion logic on an acquired signal for the device.
Claims
exact text as granted — not AI-modified1 . A method for configuring a device to perform a function, wherein the device includes a programmable hardware element and one or more fixed hardware resources, the method comprising:
creating a program, wherein the program represents the function; generating a hardware configuration program based on the program, wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the function, and wherein the hardware configuration program further specifies usage of the one or more fixed hardware resources by the programmable hardware element in performing the function; and configuring the programmable hardware element utilizing the hardware configuration program; wherein, after said configuring, the device is operable to perform the function; and wherein said device being operable to perform the function comprises the programmable hardware element being operable to directly perform a first portion of the function, and the programmable hardware element being operable to invoke operation of one or more of the fixed hardware resources to perform a second portion of the function.
2 . The method of claim 1 ,
wherein the device comprises a measurement device; and wherein the function comprises a measurement function.
3 . The method of claim 1 ,
wherein the device comprises a control device; and wherein the function comprises a control function.
4 . The method of claim 1 , further comprising:
the device operating to perform the function, wherein the device operating comprises:
the programmable hardware element directly performing the first portion of the function; and
the programmable hardware element invoking operation of one or more of the fixed hardware resources to perform the second portion of the function.
5 . The method of claim 1 , further comprising:
the device acquiring a signal from an external source after said configuring; and the programmable hardware element in the device executing to perform the function on the signal.
6 . The method of claim 5 ,
wherein, in performing the function, the programmable hardware element performs one or more of: I/O interfacing, timing and triggering, inline processing, and embedded decision-making.
7 . The method of claim 5 ,
wherein the programmable hardware element in the device executing to perform the function on the signal comprises:
the programmable hardware element directly performing the first portion of the function; and
the programmable hardware element invoking operation of the one or more of the fixed hardware resources to perform the second portion of the function.
8 . The method of claim 7 ,
wherein the one or more fixed hardware resources performing the second portion of the function comprises providing a control and data path from the device to the computer system.
9 . The method of claim 7 ,
wherein the one or more fixed hardware resources performing the second portion of the function comprises providing I/O interfacing between the device and an external system.
10 . The method of claim 1 ,
wherein the programmable hardware element includes a reconfigurable analog portion, the method further comprising:
the reconfigurable analog portion executing a portion of the program to perform a third portion of the function.
11 . The method of claim 10 ,
wherein the reconfigurable analog portion comprises high-level analog components.
12 . The method of claim 10 ,
wherein the reconfigurable analog portion comprises low-level analog components which are operable to be configured to implement high-level analog components.
13 . The method of claim 1 ,
wherein the device further comprises a processor and memory, wherein a portion of the program is operable to be stored in the memory, the method further comprising:
the processor executing said portion of the program to perform a third portion of the function.
14 . The method of claim 1 ,
wherein the programmable hardware element is configured to implement a processor, wherein the device further comprises a memory, and wherein a portion of the program is stored in the memory, the method further comprising:
the implemented processor executing said portion of the program to perform a third portion of the function.
15 . The method of claim 1 ,
wherein the program comprises a graphical program, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
16 . The method of claim 15 ,
wherein the graphical program comprises a block diagram portion and a front panel portion; wherein the program is executable to generate a hardware configuration program based on the block diagram portion; and wherein the computer system is operable to display the front panel portion.
17 . The method of claim 1 , wherein the function comprises one or more of signal acquisition, signal conditioning, signal conversion, and measurement analysis.
18 . The method of claim 1 ,
wherein the device is a small form factor device with dimensions less than about 2″ by 2″ by 1″.
19 . The method of claim 1 ,
wherein the device includes an interface, wherein the interface comprises one or more of an Ethernet, Internet, USB, or FireWire interface.
20 . The method of claim 1 ,
wherein the device includes one or more slots adapted to receive one or more measurement modules; and wherein the device further includes a measurement module included in a slot of the device, the method further comprising:
the measurement module implementing a third portion of the function.
21 . The method of claim 20 ,
wherein the measurement module includes:
an input for acquiring a signal; and
measurement circuitry coupled to the input, wherein the measurement circuitry is operable to perform one or more of signal conditioning and signal conversion;
the method further comprising:
the measurement module acquiring the signal via the input; and
the measurement circuitry performing one or more of signal conditioning and signal conversion on the acquired signal, thereby producing a conditioned signal;
the measurement module sending the conditioned signal to the device; and
the device performing the function on the conditioned signal.
22 . The method of claim 20 ,
wherein the measurement module further includes interface circuitry for providing an interface for the measurement circuitry, the method further comprising:
the interface circuitry providing an interface protocol describing said interface; and
programming the programmable hardware element to interface with the measurement module in accordance with the communicated interface protocol.
23 . The method of claim 22 ,
wherein said interface protocol describing the interface is provided to a computer system coupled to the device; and wherein said programming the programmable hardware element to implement the interface protocol is performed by the computer system.
24 . The method of claim 1 ,
wherein the device is a card comprised in a slot of a computer system.
25 . The method of claim 1 ,
wherein the device is coupled to a computer system over a network.
26 . The method of claim 1 , further comprising:
displaying one or more panels on a display while the programmable hardware element in the device executes to perform the function on a signal, wherein at least one of the one or more panels displays the signal.
27 . The method of claim 1 ,
wherein the programmable hardware element is an FPGA.
28 . A memory medium comprising program instructions which are executable to configure a device to perform a function, wherein the device includes a programmable hardware element and one or more fixed hardware resources, wherein the memory medium stores:
a program, wherein the program specifies the function; a hardware configuration program generated based on the program, wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the function, and wherein the hardware configuration program further specifies usage of the one or more fixed hardware resources by the programmable hardware element in performing the function; and a deployment program executable to deploy the hardware configuration program onto the programmable hardware element; wherein, after deployment, the device is operable to perform the function, wherein said device being operable to perform the function comprises the programmable hardware element being operable to directly perform a first portion of the function, and the programmable hardware element being operable to invoke operation of one or more of the fixed hardware resources to perform a second portion of the function.
29 . The memory medium of claim 28 ,
wherein the function comprises a measurement function; and wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the measurement function.
30 . The memory medium of claim 28 ,
wherein the function comprises a control function; and wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the control function.
31 . The memory medium of claim 28 , wherein the hardware configuration program comprises:
a first portion which is executable in the programmable hardware element to directly perform a first portion of the function; and a second portion which is executable in the programmable hardware element to invoke operation of one or more of the fixed hardware resources to perform the second portion of the function.
32 . The memory medium of claim 31 ,
wherein the hardware configuration program is executable to receive an acquired signal from an external source and execute to perform the function on the signal.
33 . The memory medium of claim 32 ,
wherein the hardware configuration program includes functionality to perform one or more of: I/O interfacing, timing and triggering, inline processing, and embedded decision-making.
34 . The memory medium of claim 32 ,
wherein the second portion of the hardware configuration is executable to invoke one or more fixed hardware resources to provide one or more of:
a control and data path from the device to the computer system;
I/O interfacing between the device and an external system;
optimized hardware elements for the device; and
basic operating services for the device.
35 . The memory medium of claim 31 ,
wherein the hardware configuration program includes a third portion for configuring a reconfigurable analog portion in the programmable hardware element.
36 . The memory medium of claim 28 , wherein the device further comprises a processor and memory;
wherein at least a portion of the program is operable to be stored in the memory for execution by the processor to perform a third portion of the function.
37 . The memory medium of claim 28 ,
wherein the program comprises a graphical program, wherein the graphical program comprises a plurality of interconnected nodes which visually indicate functionality of the graphical program.
38 . The memory medium of claim 37 ,
wherein the graphical program comprises a block diagram portion and a front panel portion; wherein the deployment program is executable to generate a hardware configuration program based on the block diagram portion; and wherein the computer system is operable to display the front panel portion.
39 . The memory medium of claim 28 , wherein the function comprises one or more of signal acquisition, signal conditioning, signal conversion, and measurement analysis.
40 . The memory medium of claim 28 , further comprising:
a display program for displaying one or more panels on a display while the hardware configuration executes in the programmable hardware element in the device to perform the function on an acquired signal, wherein at least one of the one or more panels displays the acquired signal.
41 . A memory medium comprising program instructions which are executable to configure a device to perform a function, wherein the device includes a programmable hardware element and one or more fixed hardware resources, wherein said program instructions are executable to perform:
creating a program, wherein the program implements the function; generating a hardware configuration program based on the program, wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the function, and wherein the hardware configuration program further specifies usage of the one or more fixed hardware resources by the programmable hardware element in performing the function; and deploying the hardware configuration program onto the programmable hardware element; wherein, after said deploying, the device is operable to perform the function, wherein said device being operable to perform the function comprises the programmable hardware element being operable to directly perform a first portion of the function, and the programmable hardware element being operable to invoke operation of one or more of the fixed hardware resources to perform a second portion of the function.
42 . The memory medium of claim 41 ,
wherein the function comprises a measurement function; wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the measurement function.
43 . The memory medium of claim 41 ,
wherein the function comprises a control function; wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the control function.
44 . The memory medium of claim 41 ,
wherein the hardware configuration program comprises: a first portion which is executable in the programmable hardware element to directly perform a first portion of the function; and a second portion which is executable in the programmable hardware element to invoke operation of one or more of the fixed hardware resources to perform the second portion of the function.
45 . The memory medium of claim 41 , wherein said program instructions are further executable to perform:
receiving user input specifying the function, wherein said program is created based on the user input.
46 . The memory medium of claim 41 , wherein the program comprises a graphical data flow program, wherein the graphical data flow program comprises a plurality of nodes and connections between the nodes, wherein the connections indicate that data produced by one node is used by another node.
47 . A reconfigurable measurement system, comprising:
a computer system comprising a processor and a memory;
wherein the memory stores a measurement program, wherein the measurement program specifies a measurement function;
wherein the memory also stores a program which is executable to generate a hardware configuration program based on the measurement program; and
a device coupled to the computer system, wherein the device includes:
a programmable hardware element, wherein the hardware configuration program is operable to be deployed onto the programmable hardware element;
one or more fixed hardware resources coupled to the programmable hardware element; and
wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the measurement function; wherein the hardware configuration program further specifies usage of the one or more fixed hardware resources by the programmable hardware element in performing the measurement function; and wherein, after the hardware configuration program is deployed onto the programmable hardware element, the device is operable to perform the measurement function.
48 . The reconfigurable measurement system of claim 47 ,
wherein the device further comprises:
a processor and memory, wherein at least a portion of the measurement program is operable to be stored in the memory and executed by the processor.
49 . The reconfigurable measurement system of claim 47 ,
wherein at least a portion of the programmable hardware element is configured to implement a processor, and wherein at least a portion of the measurement program is operable to be executed by the processor.
50 . The reconfigurable measurement system of claim 47 ,
wherein the programmable hardware element includes a reconfigurable analog portion, and wherein at least a portion of the measurement program is operable to be implemented by the reconfigurable analog portion.
51 . The reconfigurable measurement system of claim 50 ,
wherein the reconfigurable analog portion comprises high-level analog components.
52 . The reconfigurable measurement system of claim 50 ,
wherein the reconfigurable analog portion comprises low-level analog components which are operable to be configured to implement high-level analog components.
53 . The reconfigurable measurement system of claim 47 ,
wherein the measurement program comprises a graphical program, wherein the graphical program comprises a block diagram portion comprising a plurality of interconnected nodes that visually represent functionality of the graphical program and a user interface portion; wherein the user interface portion is operable to be executed to present the user interface on a display when the device operates to perform the measurement function.
54 . The reconfigurable measurement system of claim 47 ,
wherein the device further comprises:
one or more slots adapted to receive one or more measurement modules; and
a measurement module included in a slot of the device, wherein the measurement module implements a portion of the measurement function.
55 . The reconfigurable measurement system of claim 54 ,
wherein the measurement module includes:
an input for acquiring a signal; and
measurement circuitry coupled to the input, wherein the measurement circuitry is operable to perform one or more of signal conditioning and signal conversion;
wherein the device is executable to perform the measurement function on an acquired signal.
56 . The reconfigurable measurement system of claim 54 ,
wherein the measurement module further includes:
interface circuitry, wherein the interface circuitry is operable to provide an interface for the measurement circuitry;
wherein the interface circuitry is operable to provide an interface protocol describing the interface; wherein the programmable hardware element is programmable to interface with the measurement module in accordance with the communicated interface protocol; and wherein the device is operable to perform as one or more of a measurement device and a control device.
57 . The reconfigurable measurement system of claim 56 ,
wherein the device is operable to communicate the provided interface protocol describing the interface to the computer system; and wherein the computer system is operable to program the programmable hardware element to implement the interface protocol.
58 . The reconfigurable measurement system of claim 47 ,
wherein the device is a card comprised in a slot of the computer system
59 . The reconfigurable measurement system of claim 47 ,
wherein the device is coupled to the computer system over a network
60 . A reconfigurable control system, comprising:
a computer system comprising a processor and a memory;
wherein the memory stores a control program, wherein the control program specifies a control function;
wherein the memory also stores a program which is executable to generate a hardware configuration program based on the control program; and
a device coupled to the computer system, wherein the device includes:
a programmable hardware element, wherein the hardware configuration program is operable to be deployed onto the programmable hardware element;
one or more fixed hardware resources coupled to the programmable hardware element;
wherein the hardware configuration program specifies a configuration for the programmable hardware element that implements the control function; wherein the hardware configuration program further specifies usage of the one or more fixed hardware resources by the programmable hardware element in performing the control function; and wherein, after the hardware configuration program is deployed onto the programmable hardware element, the device is operable to perform the control function.
61 . The reconfigurable control system of claim 60 ,
wherein the control program comprises a graphical program, wherein the graphical program comprises a block diagram portion comprising a plurality of interconnected nodes that visually represent functionality of the graphical program and a user interface portion; wherein the computer system is operable to display the user interface portion when the device operates to perform the control function.
62 . The reconfigurable control system of claim 60 ,
wherein the device further comprises:
one or more slots adapted to receive one or more control modules; and
a control module included in a slot of the device, and wherein the control module implements a portion of the control function.
63 . The reconfigurable control system of claim 62 ,
wherein the control module includes:
an input for acquiring a signal; and
control circuitry coupled to the input, wherein the control circuitry is operable to perform one or more of signal conditioning and signal conversion;
wherein the device is executable to perform the control function on an acquired signal.
64 . The reconfigurable control system of claim 63 ,
wherein the control module further includes:
interface circuitry, wherein the interface circuitry is operable to provide an interface for the control circuitry;
wherein the interface circuitry is operable to provide an interface protocol describing the interface; wherein the programmable hardware element is programmable to interface with the control module in accordance with the communicated interface protocol; and wherein the device is operable to perform as one or more of a control device and a control device.
65 . The reconfigurable control system of claim 64 ,
wherein the device is operable to communicate the provided interface protocol describing the interface to the computer system; and wherein the computer system is operable to program the programmable hardware element to implement the interface protocol.
66 . The reconfigurable control system of claim 64 ,
wherein the device is operable to communicate the provided interface protocol describing the interface to the computer system; and wherein the computer system is operable to program the programmable hardware element to implement the interface protocol.
67 . A programmable hardware element which is configured with a hardware configuration program to perform a function, wherein the hardware configuration program comprises:
a first portion which is executable in the programmable hardware element to directly perform a first portion of the function; and a second portion which is executable in the programmable hardware element to invoke operation of one or more of the fixed hardware resources to perform the second portion of the function.
68 . The programmable hardware element of claim 67 ,
wherein the hardware configuration program further includes:
a third portion for configuring a reconfigurable analog portion in the programmable hardware element.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.