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.