System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
First Claim
1. A computer-implemented method for configuring an instrument to perform a measurement function, wherein the instrument includes a programmable hardware element, the method comprising:
- creating a graphical program, wherein the graphical program implements the measurement function, wherein the graphical program includes a front panel portion and a block diagram portion, wherein the front panel portion operates as a front panel for the instrument;
generating a hardware description based on the block diagram portion of the graphical program, wherein the hardware description describes a hardware implementation of the block diagram portion of the graphical program;
configuring the programmable hardware element in the instrument utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram portion of the graphical program;
compiling the front panel portion into executable code for execution by a processor and storing the executable code in a memory;
the instrument acquiring a signal from an external source after said configuring;
the programmable hardware element in the instrument executing to perform the measurement function on the signal; and
the processor executing the executable code from the memory to present the front panel portion on a display during the programmable hardware element in the instrument executing to perform the measurement function on the signal.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for configuring an instrument to perform measurement functions, wherein the instrument includes a programmable hardware element. A graphical program is first created, wherein the graphical program implements a measurement function. The graphical program may include a front panel and a block diagram. The method then generates a hardware description based on at least a portion of the graphical program. The hardware description describes a hardware implementation of the at least a portion of the graphical program. The method then configures the programmable hardware element in the instrument utilizing the hardware description to produce a configured hardware element. The configured hardware element thus implements a hardware implementation of the at least a portion of the graphical program. The instrument then acquires a signal from an external source, and the programmable hardware element in the instrument executes to perform the measurement function on the signal. The front panel may be used by a user to control the instrument during the measurement.
567 Citations
59 Claims
-
1. A computer-implemented method for configuring an instrument to perform a measurement function, wherein the instrument includes a programmable hardware element, the method comprising:
-
creating a graphical program, wherein the graphical program implements the measurement function, wherein the graphical program includes a front panel portion and a block diagram portion, wherein the front panel portion operates as a front panel for the instrument;
generating a hardware description based on the block diagram portion of the graphical program, wherein the hardware description describes a hardware implementation of the block diagram portion of the graphical program;
configuring the programmable hardware element in the instrument utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram portion of the graphical program;
compiling the front panel portion into executable code for execution by a processor and storing the executable code in a memory;
the instrument acquiring a signal from an external source after said configuring;
the programmable hardware element in the instrument executing to perform the measurement function on the signal; and
the processor executing the executable code from the memory to present the front panel portion on a display during the programmable hardware element in the instrument executing to perform the measurement function on the signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
performing analog to digital conversion on the signal after said acquiring and prior to said executing.
-
-
3. The method of claim 1, the method further comprising:
receiving user input to the front panel portion on the display to control the instrument during the programmable hardware element in the instrument executing to perform the measurement function on the signal.
-
4. The method of claim 3,
wherein the front panel portion includes one or more user interface objects; -
wherein said generating includes incorporating a register in the hardware description for at least one of the user interface objects;
wherein the programmable hardware element in the instrument executing to perform the measurement function on the signal includes accessing a register on the programmable hardware element to affect one of said user interface objects.
-
-
5. The method of claim 1, wherein the instrument includes the processor and the memory;
wherein the processor in the instrument executes the executable code from the memory to present the front panel portion on the display during the programmable hardware element in the instrument executing to perform the measurement function on the signal.
-
6. The method of claim 1, wherein the instrument is coupled to a computer system, wherein the computer system includes the processor and the memory;
wherein the computer system executes the executable code from the memory to present the front panel on the display during the programmable hardware element in the instrument executing to perform the measurement function on the signal.
-
7. The method of claim 1, wherein the instrument further includes timer/counter logic, the method further comprising:
the timer/counter logic performing one of timing/counting operations during the programmable hardware element in the instrument executing to perform the measurement function on the signal.
-
8. The method of claim 1, wherein the programmable hardware element in the instrument executes to perform a process control function using the signal.
-
9. The method of claim 1, further comprising:
-
converting the hardware description into a net list; and
compiling the net list format into a hardware program file;
wherein said configuring the programmable hardware element includes downloading the hardware program file to the programmable hardware element to configure the programmable hardware element.
-
-
10. The method of claim 9, wherein said converting the hardware description into a net list includes:
-
utilizing at least one function block from a library of pre-compiled function blocks; and
utilizing hardware target specific information.
-
-
11. The method of claim 1, wherein said creating the graphical program includes:
-
arranging on the screen a plurality of nodes comprising the graphical program;
creating and storing data structures which represent the graphical program in response to said arranging;
wherein said generating the hardware description comprises;
traversing the data structures;
converting the data structures into a hardware description format in response to said traversing.
-
-
12. The method of claim 1, wherein the graphical program includes a plurality of nodes;
wherein said generating the hardware description comprises converting each of said nodes into a hardware description format.
-
13. The method of claim 12, wherein each of said nodes is converted into a hardware description format including an enable input, a clock signal input, and an enable output;
wherein, for a respective node, said enable input receives an enable signal generated from enable out signals from one or more nodes which provide inputs to the respective node.
-
14. The method of claim 12, wherein the graphical program includes an input terminal;
-
wherein, for said input terminal, said converting comprises;
determining if data input to the input terminal is from a user interface portion executing on the computer system;
creating a hardware description of a write register, wherein the write register includes one or more data outputs and at least control output.
-
-
15. The method of claim 12, wherein the graphical program includes a function node;
-
wherein, for said function node, said converting comprises;
determining inputs and outputs to/from the function node;
generating a hardware description of logic which performs the function indicated by the function node;
traversing input dependencies of the node;
creating a hardware description of an AND gate, including listing connections of said input dependencies of the node to said AND gate.
-
-
16. The method of claim 12, wherein the graphical program includes a structure node;
-
wherein, for said structure node, said converting comprises;
determining inputs and outputs to/from the structure node;
generating a hardware description of a control block which performs the control function indicated by the structure node;
traversing input dependencies of the node;
creating a hardware description of an AND gate, including listing connections of said input dependencies of the node to said AND gate.
-
-
17. The method of claim 12, wherein the graphical program includes an output terminal;
-
wherein, for said output terminal, said converting comprises;
determining if data output from the output terminal is to a user interface portion executing on the computer system;
creating a hardware description of a read register, wherein the read register includes one or more data inputs and at least control input.
-
-
18. The method of claim 1, wherein the graphical program comprises a data flow diagram.
-
19. The method of claim 1, wherein a first portion of the block diagram portion is converted into a hardware description;
-
the method further comprising;
compiling a second portion of the block diagram portion into machine code for execution by the processor.
-
-
20. The method of claim 19, further comprising:
-
executing the machine code to perform functionality indicated by the second portion of the block diagram portion;
the configured hardware element performing functionality indicated by the first portion of the block diagram portion;
wherein said executing the machine code and the configured hardware element performing functionality operate to perform functionality indicated by the block diagram portion of the graphical program.
-
-
21. The method of claim 1, wherein the instrument includes a non-volatile memory coupled to the programmable hardware element, the method further comprising:
-
storing the hardware description into the non-volatile memory;
wherein said configuring the programmable hardware element comprises transferring the hardware description from the non-volatile memory to the programmable hardware element to produce the configured hardware element.
-
-
22. A measurement system, comprising:
-
a computer system comprising a CPU, memory and a display;
wherein the memory stores a graphical program, wherein the graphical program implements a measurement function, wherein the graphical program includes a front panel portion and a block diagram portion, wherein the front panel portion operates as a front panel for the instrument;
wherein the memory also stores a software program which is executable to generate a hardware description based on the block diagram portion of the graphical program, wherein the hardware description describes a hardware implementation of the block diagram portion of the graphical program; and
an instrument coupled to the computer system, wherein the instrument includes;
an input for acquiring a signal from an external source; and
a programmable hardware element, wherein the programmable hardware element in the instrument is configurable utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram portion of the graphical program, wherein the programmable hardware element in the instrument is executable to perform the measurement function on an acquired signal;
wherein the computer system is operable to compile the front panel portion of the graphical program into executable code and store the executable code in the memory;
wherein the CPU in the computer system is operable to execute the executable code to present the front panel portion on the display while the programmable hardware element in the instrument executes to perform the measurement function on the signal. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
analog to digital conversion logic coupled to the input and to the programmable hardware element for performing analog to digital conversion logic on an acquired analog signal to produce a digital signal.
-
-
24. The measurement system of claim 22,
wherein the front panel portion is operable to receive user input to control the instrument during the measurement function. -
25. The measurement system of claim 22, wherein the instrument further includes timer/counter logic;
wherein the timer/counter logic performs one of timing/counting operations while the programmable hardware element in the instrument executes to perform the measurement function on the signal.
-
26. The measurement system of claim 22, wherein the programmable hardware element in the instrument executes to perform a process control function using the signal.
-
27. The measurement system of claim 26, wherein the software program stored in the memory of the computer system is further operable to convert the hardware description into a net list;
wherein the computer system is operable to configure the programmable hardware element utilizing the net list.
-
28. The measurement system of claim 22, wherein the software program stored in the memory of the computer system is further operable to compile the net list format into a hardware program file;
- and
wherein the computer system is operable to download the hardware program file to the programmable hardware element to configure the programmable hardware element.
- and
-
29. The measurement system of claim 22, wherein the programmable hardware element comprises a field programmable gate array (FPGA).
-
30. The measurement system of claim 22, wherein the computer system includes a bus and also includes one or more expansion slots coupled to the bus adapted for receiving expansion cards;
wherein the instrument comprises an expansion card inserted into an expansion slot of the bus.
-
31. The measurement system of claim 22, wherein the instrument is an external instrument coupled to the computer system.
-
32. The measurement system of claim 22, wherein the memory of the computer system stores a graphical programming system for creation of the graphical program;
-
wherein the graphical programming system is executable to arrange on the screen a plurality of nodes comprising the graphical program in response to user input;
wherein the graphical programming system is further executable to create and store data structures which represent the graphical program in response to said arranging;
wherein the software program is executable to traverse the data structures and convert the data structures into a hardware description format in response to said traversing.
-
-
33. The measurement system of claim 22, wherein a first portion of the block diagram portion is converted into a hardware description;
wherein the computer system is operable to compile a second portion of the block diagram portion into machine code for execution by the CPU.
-
34. The measurement system of claim 33,
wherein the configured hardware element is operable to perform functionality indicated by the first portion of the block diagram portion; -
wherein the computer system is operable to execute the machine code to perform functionality indicated by the second portion of the block diagram portion;
wherein said executing the machine code and the configured hardware element performing functionality operate to perform functionality indicated by the block diagram portion of the graphical program.
-
-
35. The measurement system of claim 22, wherein the instrument includes a non-volatile memory coupled to the programmable hardware element;
-
wherein the non-volatile memory is operable to store the hardware description;
wherein the non-volatile memory is operable to transfer the hardware description to the programmable hardware element to produce the configured hardware element.
-
-
36. The measurement system of claim 22, wherein the instrument performs data acquisition/generation functions.
-
37. The measurement system of claim 22, wherein the instrument is a GPIB instrument.
-
38. The measurement system of claim 22, wherein the instrument is a VXI instrument.
-
39. The measurement system of claim 22, wherein the instrument is a serial instrument.
-
40. The measurement system of claim 22, wherein the instrument is a programmable logic controller (PLC).
-
41. The measurement system of claim 22, wherein the instrument is a fieldbus device.
-
42. A measurement system, comprising:
-
a computer system comprising a CPU, memory and a display;
wherein the memory stores a graphical program, wherein the graphical program implements a measurement function, wherein the graphical program includes a front panel portion and a block diagram portion, wherein the front panel portion operates as a front panel for the instrument;
wherein the memory also stores a software program which is executable to generate a hardware description based on the block diagram portion of the graphical program, wherein the hardware description describes a hardware implementation of the block diagram portion of the graphical program;
an instrument coupled to the computer system, wherein the instrument includes;
an input for acquiring a signal from an external source;
a processor;
a memory coupled to the processor; and
a programmable hardware element, wherein the programmable hardware element in the instrument is configurable utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram portion of the graphical program, wherein the programmable hardware element in the instrument is executable to perform the measurement function on an acquired signal;
wherein the front panel portion of the graphical program is operable to be compiled into executable code and stored in the memory of the instrument;
wherein the processor in the instrument is operable to execute the executable code to present the front panel portion on the display while the programmable hardware element in the instrument executes to perform the measurement function on the signal. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
analog to digital conversion logic coupled to the input and to the programmable hardware element for performing analog to digital conversion logic on an acquired analog signal to produce a digital signal.
-
-
44. The measurement system of claim 42,
wherein the front panel portion is operable to receive user input to control the instrument during the measurement function. -
45. The measurement system of claim 42, wherein the instrument further includes timer/counter logic;
wherein the timer/counter logic performs one of timing/counting operations while the programmable hardware element in the instrument executes to perform the measurement function on the signal.
-
46. The measurement system of claim 42, wherein the programmable hardware element in the instrument executes to perform a process control function using the signal.
-
47. The measurement system of claim 46, wherein the software program stored in the memory of the computer system is further operable to convert the hardware description into a net list;
wherein the computer system is operable to configure the programmable hardware element utilizing the net list.
-
48. The measurement system of claim 42, wherein the software program stored in the memory of the computer system is further operable to compile the net list format into a hardware program file;
- and
wherein the computer system is operable to download the hardware program file to the programmable hardware element to configure the programmable hardware element.
- and
-
49. The measurement system of claim 42, wherein the programmable hardware element comprises a field programmable gate array (FPGA).
-
50. The measurement system of claim 42, wherein the computer system includes a bus and also includes one or more expansion slots coupled to the bus adapted for receiving expansion cards;
wherein the instrument comprises an expansion card inserted into an expansion slot of the bus.
-
51. The measurement system of claim 42, wherein the instrument is an external instrument coupled to the computer system.
-
52. The measurement system of claim 42, wherein the memory of the computer system stores a graphical programming system for creation of the graphical program;
-
wherein the graphical programming system is executable to arrange on the screen a plurality of nodes comprising the graphical program in response to user input;
wherein the graphical programming system is further executable to create and store data structures which represent the graphical program in response to said arranging;
wherein the software program is executable to traverse the data structures and convert the data structures into a hardware description format in response to said traversing.
-
-
53. The measurement system of claim 42, wherein a first portion of the block diagram portion is converted into a hardware description;
wherein the computer system is operable to compile a second portion of the block diagram portion into machine code for execution by the CPU.
-
54. The measurement system of claim 53,
wherein the configured hardware element is operable to perform functionality indicated by the first portion of the block diagram portion; -
wherein the computer system is operable to execute the machine code to perform functionality indicated by the second portion of the block diagram portion;
wherein said executing the machine code and the configured hardware element performing functionality operate to perform functionality indicated by the block diagram portion of the graphical program.
-
-
55. The measurement system of claim 42, wherein the instrument includes a non-volatile memory coupled to the programmable hardware element;
-
wherein the non-volatile memory is operable to store the hardware description;
wherein the non-volatile memory is operable to transfer the hardware description to the programmable hardware element to produce the configured hardware element.
-
-
56. The measurement system of claim 42, wherein the instrument performs data acquisition/generation functions.
-
57. The measurement system of claim 42, wherein the instrument is one of:
- a GPIB instrument, a VXI instrument, or a serial instrument.
-
58. The measurement system of claim 42, wherein the instrument is a programmable logic controller (PLC).
-
59. The measurement system of claim 42, wherein the instrument is a fieldbus device.
Specification