Claims
- 1. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and one or more icons representing one or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 2. The memory medium of claim 1, wherein the one or more function nodes comprise one or more of:
an arithmetic function node; a trigonometric function node; a logarithmic function node; a logical function node; a comparison function node; a conversion function node; a string function node; an array function node; a cluster function node; and a file input function node; and a file output function node.
- 3. The memory medium of claim 1, wherein the structure node comprises one or more of:
a while/do loop; a for/next loop; a case structure; and a sequence structure.
- 4. The memory medium of claim 1,
wherein, after said configuring, the configured hardware element in the device is operable to perform the procedure in accordance with the functionality represented by the plurality of interconnected icons.
- 5. The memory medium of claim 1, wherein the plurality of interconnected icons includes one or more function nodes and two or more icons representing two or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node.
- 6. The memory medium of claim 1, wherein the plurality of interconnected icons includes one or more function nodes and three or more icons representing three or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node.
- 7. The memory medium of claim 1, wherein the plurality of interconnected icons includes one or more function nodes and four or more icons representing four or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node.
- 8. The memory medium of claim 1, wherein the plurality of interconnected icons includes one or more function nodes and a plurality of icons representing at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node.
- 9. The memory medium of claim 1,
wherein the block diagram is associated with one or more panels, wherein the one or more panels are operable to be displayed on a display of a computer system while the device performs the procedure, and wherein each of the one or more panels is operable to receive user input for providing input to the configured hardware element during said performing, and/or display data generated by the device during said performing.
- 10. The memory medium of claim 9,
wherein the device is operable to couple to a computer system, wherein the computer system includes the display; and wherein the computer system is operable to execute software to display the one or more panels on the display while the configured hardware element in the device executes to perform the procedure.
- 11. The memory medium of claim 10, wherein the block diagram and the one or more panels compose a graphical program, and wherein the program instructions are further executable by a processor to perform:
compiling a portion of the graphical program corresponding to the one or more panels into executable code for execution by the computer system.
- 12. The memory medium of claim 9,
wherein said generating includes incorporating a register in the hardware description for at least one of the one or more panels; and wherein the configured hardware element in the device is operable to perform the procedure by accessing a register on the configured hardware element to affect values displayed in one of said one or more panels.
- 13. The memory medium of claim 1, wherein the configured hardware element in the device is executable to perform one or more of:
a measurement function; a process control function; an automation function; an instrumentation function; a testing function; and a process modeling function.
- 14. The memory medium of claim 1, wherein the program instructions are further executable by a processor to perform:
converting the hardware description into a net list, wherein the netlist incorporates the functionality of the plurality of interconnected icons; and compiling the net list format into a hardware program file, wherein the hardware program file incorporates the functionality of the plurality of interconnected icons; wherein said configuring the programmable hardware element includes downloading the hardware program file to the programmable hardware element to configure the programmable hardware element.
- 15. The memory medium of claim 14, 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.
- 16. The memory medium of claim 1,
wherein the block diagram has associated data structures which represent the block diagram, and wherein at least a subset of the data structures represents the functionality of the plurality of interconnected icons; and 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.
- 17. The memory medium of claim 1,
wherein said generating the hardware description comprises converting each of said plurality of interconnected icons into a hardware description format.
- 18. The memory medium of claim 17, wherein the block diagram includes a structure node indicating a control function that controls execution of at least a subset of the plurality of interconnected icons;
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 to control execution of at least a subset of the plurality of interconnected icons; and traversing input dependencies of the node.
- 19. The memory medium of claim 1, wherein the program instructions are further executable by a processor to perform;
compiling a first portion of the block diagram portion into machine code for execution by a computer system coupled to the device; wherein a second portion of the block diagram portion is converted into a hardware description; wherein the configured hardware element is operable to perform functionality indicated by the second portion of the block diagram portion in accordance with the functionality of at least a subset of the plurality of interconnected icons; wherein the machine code is executable to perform functionality indicated by the first portion of the block diagram portion; and wherein said executing the machine code and the configured hardware element performing functionality operate to perform functionality indicated by the block diagram.
- 20. The memory medium of claim 1, wherein the device includes a non-volatile memory coupled to the programmable hardware element, wherein the program instructions are further executable by the processor to perform:
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.
- 21. The memory medium of claim 1, wherein the block diagram comprises a data flow diagram.
- 22. A computer-implemented method for configuring a device, wherein the device includes a programmable hardware element, the method comprising:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and one or more icons representing one or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 23. The method of claim 22, further comprising:
the device operating after said configuring, wherein the device operating comprises the configured hardware element in the device executing to perform the procedure, and wherein the configured hardware element operates according to the functionality represented by the plurality of interconnected icons.
- 24. A system, comprising:
a computer system comprising a processor, memory and a display; and a device coupled to the computer system, wherein the device includes a programmable hardware element; wherein the memory stores a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and one or more icons representing one or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node; wherein the memory further stores program instructions executable by the processor to:
generate a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configure the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 25. A system for configuring a device, wherein the device includes a programmable hardware element, the system comprising:
means for storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and one or more icons representing one or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node; means for generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and means for configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 26. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and at least one constant icon, wherein the at least one constant icon represents a corresponding at least one constant, and wherein the at least one constant icon provides the at least one constant for use by the block diagram in performing the procedure; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 27. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and at least one global variable icon, wherein the at least one global variable icon represents a corresponding at least one global variable, and wherein the at least one global variable icon provides the at least one global variable for use by the block diagram in performing the procedure; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 28. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and at least one control terminal icon, wherein the at least one control terminal icon represents a corresponding at least one control terminal, and wherein the at least one control terminal icon is operable to receive user input from a user interface affecting operation of the block diagram in performing the procedure; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 29. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and at least one indicator terminal icon, wherein the at least one indicator terminal icon represents a corresponding at least one indicator terminal, and wherein the at least one indicator terminal icon is operable to receive a corresponding at least one value from at least one interconnected icon and provide the at least one value for presentation on a display; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 30. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and at least one structure node, wherein the at least one structure node represents a corresponding control function, and wherein the at least one structure node controls execution of at least a subset of the plurality of interconnected icons; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 31. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a block diagram, wherein the block diagram specifies a procedure, wherein the block diagram includes a plurality of interconnected icons, including one or more function nodes and at least one sub-program node, wherein the at least one sub-program node represents a corresponding at least one sub-program implementing at least one sub-procedure that performs at least a portion of the procedure; generating a hardware description based on the block diagram, wherein the hardware description describes a hardware implementation of the block diagram, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected icons.
- 32. A memory medium which stores program instructions for configuring a device, wherein the device includes a programmable hardware element, wherein the program instructions are executable by a processor to perform:
storing a graphical program, wherein the graphical program comprises a plurality of interconnected nodes that visually specify a procedure, wherein the nodes comprise one or more function nodes, and one or more icons representing one or more of: at least one constant, at least one global variable, at least one control terminal, at least one indicator terminal, at least one structure node, and at least one sub-program node; generating a hardware description based on the graphical program, wherein the hardware description describes a hardware implementation of the graphical program, wherein the hardware description incorporates functionality represented by the plurality of interconnected icons; and configuring the programmable hardware element in the device utilizing the hardware description to produce a configured hardware element, wherein the configured hardware element implements a hardware implementation of the block diagram, wherein the configured hardware element is configured to operate according to the functionality represented by the plurality of interconnected nodes.
CONTINUATION DATA
[0001] This application is a continuation of U.S. patent application Ser. No. 09/788,104 filed on Feb. 15, 2001 titled “System and Method for Configuring a Device to Perform Measurement Functions Utilizing Conversion of Graphical Programs into Hardware Implementations”, whose inventors are Jeffrey L. Kodosky, Hugo Andrade, Brian Keith Odom and Cary Paul Butler, which is a continuation of U.S. patent application Ser. No. 08/912,427 filed on Mar. 22, 2000 titled “System and Method for Converting Graphical Programs Into Hardware Implementations”, whose inventors are Jeffrey L. Kodosky, Hugo Andrade, Brian Keith Odom and Cary Paul Butler, which issued as U.S. Pat. No. 6,219,628 on Apr. 17, 2001, and which is a Continued Prosecution Application of U.S. patent application Ser. No. 08/912,427 filed on Sep. 18, 1997 titled “System and Method for Converting Graphical Programs Into Hardware Implementations”, whose inventors are Jeffrey L. Kodosky, Hugo Andrade, Brian Keith Odom and Cary Paul Butler.
Continuations (2)
|
Number |
Date |
Country |
Parent |
09788104 |
Feb 2001 |
US |
Child |
10435331 |
May 2003 |
US |
Parent |
08912427 |
Aug 1997 |
US |
Child |
09788104 |
Feb 2001 |
US |