# Patent

## Title
Graphical user interface with user-selectable list-box

## Abstract

A graphical user interface for configuring a programmable integrated circuit is disclosed. More specifically, the graphical user interface may comprise a displayed graphical representation of the programmable integrated circuit, where the graphical representation includes one or more selectable portions which may represent actual circuitry or components of the programmable integrated circuit. A user-selectable list box may be displayed which comprises one or more selectable items for configuring a selected portion of the graphical representation of the programmable integrated circuit. The user-selectable list box may be displayed in response to a selection of a selectable portion of the programmable integrated circuit for configuration. Additionally, the user-selectable list box may disappear or no longer be displayed in response to a user interaction outside the user-selectable list box, in response to a selection of an item from the user-selectable list box, etc.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to the field of graphical user interfaces (GUI). Specifically, embodiments relate to a graphical user interface that may be used in one implementation to facilitate the configuration of parameters associated with design elements in a highly complex programmable logical device such as a microcontroller software design tool.
2. Related Art
Application-specific integrated circuits (ASICs), have been supplanted more and more by integrated circuits (ICs) that can be programmed to fulfill multiple functions. There are now many various programmable logic architectures, including, for example, programmable logic devices (“PLDs”), programmable logic arrays (“PLAs”), complex programmable logic devices (“CPLDs”), etc. Although there are differences between these various architectures, each of the architectures typically includes a set of input conductors coupled as inputs to an array of logic gates (e.g., a product term array made up of logical AND gates), the outputs of which, in turn, act as inputs to another portion of the logic device. Complex Programmable Logic Devices (“CPLDs”) are large scale PLDs that, like many programmable architectures, are configured to the specific requirements of an application by programming.
Each of these architectures, originally programmed once for a specific function which would be a device's only function for its lifetime, has begun to be implemented in a reprogrammable form. A programmable logic device can now be re-programmed while in operation and can fulfill the functions of many different devices. One of the most complex of the reprogrammable logic devices is the programmable system-on-a-chip, or PSOC, which can be implemented as any of a limitless number of devices, anywhere from simple logic gates to those as complex as microcontrollers.
The complexity of a programmable device, particularly a PSOC, requires complex programming of each of its configurations which can be stored. In many instances, each stored configuration reprogramming can be accomplished “on the fly” by applying the stored configuration to the device.
Initial programming of a highly complex device, though, can be extremely tedious and time consuming. Numerous tools have been developed to aid the programmer in forming each configuration necessary for each device. However, even with current configuration tools, a programmer is required to manually track innumerable lines of programming and device characteristics in order to properly establish a complex device configuration. Most particularly, the configuration of a device's input/output pins that have different characteristics with every different device configuration requires meticulous attention to detail. Moreover, these pin characteristics, crucial for proper device operation, must relate properly to the device configuration and to external circuitry.
Currently, the programming tool sophistication requires a very burdensome level of expertise on the part of the programmer, which can limit the market of users of these complex programmable devices. Various graphical user interfaces are being developed to provide a more user-friendly method of configuring electronic devices.
One tool that exists for aiding the programmer utilizing graphical user interfaces is a dialogue box that may be selected from a menu or other selection icon. The dialogue box then pops up on the screen and typically occupies the center of the screen from which one is working. It contains instructions or a list of items under which are buttons for choosing parameters from the box or for canceling the operation. The dialogue box typically has one or more user interface elements which may or may not contain the complete list of choices needed for the operation being performed, due to limitations in the layout of the dialogue box. The box might require a second level of choices to complete the required operation.
Additionally, a dialogue box obscures a large amount of the display screen that contains the information the user is referencing when selecting items from the dialogue box. The dialogue box then remains on the screen, once an item is chosen, until the user activates a button to perform the operation or to cancel it.
Importantly, the user is not allowed to click on the remaining screen area while the dialogue box is open. Therefore, any other functions that the user may want to select or perform are blocked while the dialogue box is open. Moreover, if the user does not want to make any selections from the dialogue box, the cancel button must be selected by the user before any other function of the software can be performed. Thus, the dialogue box is cumbersome as a tool, and requires excess time for selecting choices and performing operations for which it is designed and it blocks the application of other functions and procedures while it is open.
A need exists, therefore, for a user-friendly method or mechanism for selecting operations via a graphical user interface. Particularly for a graphical user interface used for programming highly complex programmable devices, such as PSOCs, and particularly for configuring I/O pins different for each programmed device configuration. Furthermore, such a method should be much more user-friendly than currently available, enabling a user of normal skills to configure enormously complex programmable devices with multiple configurations.
SUMMARY OF THE INVENTION
Disclosed herein are a user-friendly method and mechanism for selecting operations via a user-selectable list-box in a computer controlled graphical user interface. Particularly for a graphical user interface used for programming highly complex programmable devices, such as PSOCs, and particularly for configuring I/O pins different for each programmed device configuration. Furthermore, this mechanism and method are much more user-friendly than currently available, enabling a user of normal skills to more easily configure enormously complex programmable devices with multiple configurations, using fewer mouse clicks and key strokes.
Embodiments of the present invention relate to a method and mechanism that may be used, in one implementation, for configuring input/output connections in a programmable logical device, which comprise utilizing a user-selectable list-box, presented in a graphical user interface, enabled to aid in configuring the programmable logical device. The pins or other items to be configured can be selected from either a graphical representation or a parameter table. Once a selection is made by activating the cursor on the display screen at the location of the device or item to be configured, a user-selectable list-box is displayed on the screen near the location occupied by the cursor.
Importantly, the user-selectable list-box contains a list of configuration parameters for the device or item selected and the list-box is sized to accommodate the associated list. By being sized to accommodate only necessary information, a minimum amount of the display screen is obscured, thereby allowing the user to still view a large portion of the screen. A user selects a parameter from the list-box by moving the cursor to the parameter of choice. The parameter is then highlighted and when the user double clicks the mouse, presses the return key on the keyboard or otherwise makes a selection, the parameter becomes selected and the device is configured accordingly. The list box then automatically disappears from the screen and the next item can be selected for configuration. Moreover, in accordance with the present invention, if the user does not wish to configure the selected item after the list-box appears, the user needs only to click the mouse button with the cursor outside the list-box and the list-bow will disappear from the screen. Thus, there is no need for “select” and “cancel” buttons or for extra spaces to accommodate longest possible lists, as is the case with dialogue boxes. By automatically removing the list-box upon a user selection (inside or outside the box), the number of user mouse clicks or key strokes required to perform programming tasks is reduced.
More specifically, an embodiment of the present invention comprises a user interface comprising: a plurality of on-screen elements displayed on a display screen of a computer system; and a user selectable list-box displayed adjacent to, and in response to, a selected on-screen element, wherein the user selectable list-box comprises a plurality of items relevant to the selected on-screen element and the user selectable list-box automatically disappears in response to the user making an on-screen selection outside the list-box. Embodiments include the above and wherein the list-box is sized to only accommodate the plurality of items.
Embodiments include the above and wherein the selected on-screen element is selected via a cursor control device or via a keyboard device. Embodiments include the above and the plurality of on-screen elements comprise a graphical representation of a device or comprise information displayed in a tabular format.
Embodiments include the above and wherein a selected item of the plurality of items becomes associated with the selected on-screen element and wherein the user selectable list-box automatically disappears in response to a user selecting the selected item.
The present invention provides these advantages and others not specifically mentioned above but described in the sections to follow. Other features and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
FIG. 1 is a block diagram of an exemplary computer system upon which embodiments of the present invention may be practiced.
FIG. 2 is an exemplary screen shot of a display window of a graphical user interface illustrating a user-selectable list-box for configuring I/O pins in a programmable logical device, according to an embodiment of the present invention.
FIG. 3 is an exemplary screen shot of a display window of a graphical user interface illustrating a user-selectable list-box for selecting pin connections for a programmable logical device, according to an embodiment of the present invention.
FIG. 4 is a computer implemented flow diagram illustrating steps performed by the graphical user interface list-box in accordance with an embodiment of the present invention.
FIG. 5 is a flow diagram of a process for employing a user-selectable list-box for configuring I/O pins in a programmable logical device, according to an embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one skilled in the art that the present invention may be practiced without these specific details or with equivalents thereof. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Notation and Nomenclature
Some portions of the detailed descriptions, which follow, are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing the following terms refer to the actions and processes of a computer system or similar electronic computing device. These devices manipulate and transform data that is represented as physical (electronic) quantities within the computer system's registers and memories or other such information storage, transmission or display devices. The aforementioned terms include, but are not limited to, “selecting” or “initiating” or “clicking” or “double-clicking” or “identifying” or “comparing” or “sorting” or “establishing” or “displaying” or the like.
The configuration of programmable devices has been difficult from the inception of such devices. Multifunction input/output (I/O) pins, especially, have been very difficult to configure in the past. I/O pins are the connection of a device to its environment, the outside electronic world. Typically, I/O pins had multiple registers that needed to be programmed to configure the pin type as well as drive characteristics for each I/O pin. These registers are often tedious to manually program and debug. Laborious and tedious hours or weeks wasted is common in programming and debugging the I/O pin configuration for a single design using a conventional system.
The particular embodiment of the present invention discussed here employs a portion of a graphical user interface (GUI) to facilitate the configuration of I/O pins in a microcontroller software design tool. Note that a microcontroller is one of many different possible configurations for a PSOC. Other configurations of PSOCs and, indeed, other types of programmable devices could be equally benefited by use of the concepts employed in this embodiment. It should also be noted that the GUI employed in one implementation is one developed for configuring PSOCs but other GUIs could also incorporate this embodiment of the present invention.
The GUI referred to in this discussion of this embodiment of the present invention presents a number of window frames that contain various design tools. One of these tools of specific interest to this discussion of this embodiment of the present invention is the I/O pin configuration tool. While actual programming of the device and the I/O pins takes place elsewhere, the GUI provides the user-friendliness and detail management necessary to an efficient programming operation.
Exemplary Computer System
It is envisioned that the embodiment of the present invention discussed herein will be implemented in a general purpose computer similar to the generic computer illustrated in FIG. 1. FIG. 1 illustrates, in block diagram, a configuration typical to a computer system. In general, computer system 190 comprises bus 100 for communicating information, processor 101 coupled with bus 100 for processing information and instructions, random access (volatile) memory (RAM) 102 coupled with bus 100 for storing information and instructions for processor 101, read-only (non-volatile) memory (ROM) 103 coupled with bus 100 for storing static information and instructions for processor 101, data storage device 104 such as a magnetic or optical disk and disk drive coupled with bus 100 for storing information and instructions, an optional user output device such as display device 105 coupled to bus 100 for displaying information to the computer user, an optional user input device such as alphanumeric input device 106 including alphanumeric and function keys coupled to bus 100 for communicating information and command selections to processor 101, and an optional user input device such as cursor control device 107 coupled to bus 100 for communicating user input information and command selections to processor 101.
With reference still to FIG. 1, display device 105 utilized with computer system 190 may be a liquid crystal device, cathode ray tube, or other display device suitable for creating graphic images and alphanumeric characters recognizable to the user. Cursor control device 107 allows the computer user to dynamically signal the two-dimensional movement of a visible symbol (pointer) on a display screen of display device 105. Many implementations of the cursor control device are known in the art including a trackball, mouse, joystick or special keys on alphanumeric input device 106 capable of signaling movement of a given direction or manner of displacement. It is to be appreciated that the cursor control 107 also may be directed and/or activated via input from the keyboard using special keys and key sequence commands. Alternatively, the cursor may be directed and/or activated via input from a number of specially adapted cursor directing devices.
Computer system 190 also includes an input/output device 108, which is coupled to bus 100 for providing a physical communication link between computer system 190 and a network 170. As such, input/output device 108 enables central processor unit 101 to communicate with other electronic systems coupled to the network 170. It should be appreciated that within the present embodiment, input/output device 108 provides the functionality to transmit and receive information over a wired as well as a wireless communication interface (such as an IEEE 802.11b interface). It should be further appreciated that the present embodiment of input/output device 108 is well suited to be implemented in a wide variety of ways. For example, input/output device 108 could be implemented as a modem or network card.
The embodiment of the present invention discussed herein features the use of a graphical information window in a graphical user interface (GUI) presented in a graphic display. The term “graphical information,” as used in this discussion, may include both icons and text. While the particular portion of the graphic display envisioned as the pin configuration window is, in this embodiment, a particular area in the overall graphic display, other embodiments could use a different area of the display.
An important enablement of a GUI is the ability to accept commands related to graphic information in the display. Such commands are generally input by “mouse-click” or by some equivalent keyboard action. A mouse-click refers to any selection method that involves deliberate action on the part of the user specifically related to the position of a cursor in the GUI display, usually involving the user depressing a button on a cursor control mouse. A mouse click can also be implemented by any other means related to cursor control including cursor control by keyboard buttons.
One possible implementation of a GUI as referred to in this discussion of one embodiment of the present invention is illustrated as a screen shot of a display window 200 in FIG. 2. There, the GUI is configured for a specific operating system or OS. While such an existing operating system is quite common, this discussion in no way should be taken as to imply that use of the above operating system is integral to the concepts presented herein. Any other operating system capable of presenting a graphical user interface is equally capable of implementing similar embodiments.
The display window 200 shown in FIG. 2 comprises a number of sub-windows or frames within the graphical information area. The portions of the display 200 of FIG. 2 that are specific to this embodiment of the present invention are the pop-up user-selectable list-box 250, Pin Parameter table 230, pin-out graphical representation 220, pin 240, and legend 260. These and similar sub-windows are likely to be associated with this embodiment or others that employ a user-selectable list box to aid the configuration of any programmable logic device.
It must be noted here that the names associated with the indicated tables, windows, icons and displays are given as an indicator of the associated functions. The names are not intended to limit the functionality of any portion of any of the presented illustrations nor are any of the various elements of a GUI expected to be limited to or by any particular naming. Furthermore, the illustrated arrangement of windows in the GUI and of elements in each window are not intended to limit possible display design, arrangements, colors, shapes, patterns or any other graphic constituent to any particular item. It is the concepts presented in this embodiment of the present invention that are intended to be discussed and described here.
Referring still to FIG. 2, according to one embodiment of the present invention, the pop-up user-selectable list-box 250 appears within the display window 200 from which a pin image, such as pin image 240, is selected for configuration. The pin image 240 is selected by placing the cursor at its location within the display window 200 and clicking the mouse button or other keyboard action. Pin image 240 could be selected either from the Pin Parameter Table 230 or from the graphical representation 220, as shown. The pop-up list-box 250 then automatically appears immediately within display window 200 near the selected pin. If the selection were from the Pin Parameter Table 230, the pop-up list-box 250 would appear on or near the listed parameter in Table 230.
According to one embodiment of the present invention, pop-up list-box 250 in FIG. 2 includes configuration parameters that are configurable for the selected pin 240 or other selected component. The pop-up list-box 250 is of a size to accommodate the applicable list of configuration parameters and, thus occupies a minimum amount of space within the display window 200. If the pop-up list-box 250 is displayed but not needed, the user can remove it from the screen by clicking the mouse with the cursor placed anywhere outside of the list-box 250. The list-box 250 then automatically disappears.
Referring still to FIG. 2, to select a parameter from the list within list-box 250, according to one embodiment, the user moves the cursor to the location within list-box 250 of the desired parameter and the parameter is highlighted, e.g., “StdCPU”. To apply the parameter to the selected pin 240, the user double-clicks the mouse or presses “enter” on the keyboard. The selected pin 240 is then configured accordingly and the graphical representation of pin 240 may assume a color or other visual attribute defined for the configuration parameter according to legend 260. In this example, the pin selection type is defined. The pin's drive type may similarly be selected using a pop-up list-box mechanism in accordance with the present invention.
Referring now to FIG. 3, an exemplary screen shot of a display window 300 for configuring pin connections, according to one embodiment of the present invention, is presented. FIG. 3 illustrates user-selectable list-box 250 for configuring a pin input 310 to be connected to a programmable logical device. User selectable list-box 250 contains a list of ports to which the pin input 310 could be connected. The list-box 250 occupies the room necessary to display the list and is shown in the location where it appears within display 300 when pin input 310 is selected by the user. The highlighted entry, “port—0—4,” is selected by double clicking or depresseng the keyboard key.
Referring now to FIG. 4, a computer implemented flow diagram illustrating steps performed by the graphical user interface list-box, in accordance with one embodiment of the present invention, is presented. According to step 410, a user selects an on-screen configuration or a parameter for entering or updating. The selection is made by a click of a mouse button, a keystroke on a keyboard or some other means. Once the selection is made, a list-box automatically appears on the screen near the location of the selected configuration or parameter, as shown by step 420, with an appropriate list of allowable selections for the selected configuration or parameter.
Still referring to FIG. 4, as shown in step 430, the user can select an item from the list by an operation of a mouse or keyboard with the cursor placed on the desirable selection in the list. Once a selection is made, the configuration or parameter may be accepted per step 460 and the list-box automatically disappears from the screen as shown in step 470. Alternatively, the user may place the cursor outside the list-box and click or press a keyboard key, as shown in step 450, in which case the list-box automatically disappears from the screen as in step 470.
FIG. 5 is a flow diagram of a computer-implemented process for employing a user-selectable list-box for configuring I/O pins in a programmable logical device, according to one embodiment of the present invention. As shown in step 510, a pin-out view (such as illustrated in FIG. 2) is selected from the device editor of a graphical user interface. A pin image is then selected by placing the cursor on the graphical representation of the pin and single-clicking the mouse button, as shown in step 520. In another embodiment, the pin could be selected by single-clicking the mouse button on the pin in the Pin Parameter Table of the display.
As soon as the pin is selected, according to the present embodiment, a list box appears in the display, as shown in step 530 of FIG. 5. The list box appears (pops up) at a location near the selected pin, thus requiring a minimum amount of mouse movement to access the list-box. The list-box contains a list of applicable configuration parameters for the pin to be configured. The list box is sized according to the area required for the list of applicable parameters.
Still referring to FIG. 5, according to the present embodiment, the user can click outside the list-box, as shown in step 535, and the list-box automatically disappears per step 540. Alternatively, a parameter can now be selected by moving the cursor onto the desired parameter in the list and double clicking the mouse button as illustrated in step 545. Once a parameter is chosen, the list box disappears from the screen per step 550, and the pin is configured according to the selected parameter. As shown in step 560, the graphical representation of the pin may assume a predefined color that is associated with the selected parameter according to a legend that is displayed on the display screen. The pin configuration process can be repeated until all pins are configured according to design.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.

## Claims

1. A graphical user interface for configuring a programmable integrated circuit, the graphical user interface comprising:
a graphical representation of said programmable integrated circuit displayed on a display device coupled to a computer system, wherein said displayed graphical representation physically resembles the shape of the programmable integrated circuit and comprises a plurality of pin images, wherein said plurality of pin images represent actual pins operable to couple said programmable integrated circuit to hardware separate from said programmable integrated circuit; and
a user-selectable list box displayed on said display device coupled to said computer system, wherein said user-selectable list box comprises a plurality of selectable items for configuring a portion of said programmable integrated circuit associated with a selected pin image of said plurality of pin images, wherein said user-selectable list box is further for configuring said portion of said programmable integrated circuit in accordance with a selected item of the plurality of selectable items, wherein said user-selectable list box is automatically displayed in response to a selection of said selected pin image, wherein said user-selectable list box is displayed simultaneously with said selected pin image, and wherein said user-selectable list box automatically disappears in response to a user interaction outside said user-selectable list box.

2. A graphical user interface as described in claim 1, wherein said user-selectable list box is sized to only accommodate said plurality of selectable items.

3. A graphical user interface as described in claim 1, wherein said programmable integrated circuit comprises a programmable system on a chip.

4. A graphical user interface as described in claim 1, wherein a color of said selected pin image is changed to an updated color after configuration of said portion of said programmable integrated circuit associated with said selected pin image, wherein said updated color of said selected pin image is associated with said configuration of said portion of said programmable integrated circuit.

5. A graphical user interface as described in claim 1 further comprising labels associated with said plurality of pin images.

6. A graphical user interface as described in claim 1, wherein said user-selectable list box is displayed near said selected pin image.

7. A graphical user interface as described in claim 1, wherein said user-selectable list box automatically disappears in response to a selection of a selected item from said plurality of selectable items displayed within said user-selectable list box.

8. A method of configuring a programmable integrated circuit, said method comprising:
displaying a graphical representation of said programmable integrated circuit, wherein said displayed graphical representation physically resembles the shape of the programmable integrated circuit and comprises a plurality of pin images, wherein said plurality of pin images represent actual pins operable to couple said programmable integrated circuit to hardware separated from said programmable integrated circuit;
identifying a selection of a selected pin image from said plurality of pin images;
in response to said selection of said selected pin image, automatically displaying a user-selectable list box comprising a plurality of selectable items for configuring a portion of said programmable integrated circuit associated with said selected pin image, wherein said user-selectable list box is further for configuring said portion of said programmable integrated circuit in accordance with a selected item of the plurality of selectable items, and wherein the user-selectable list box is displayed simultaneously with said selected pin image; and
automatically removing said user-selectable list box in response to a user interaction outside said user-selectable list box.

9. The method of claim 8, wherein said identifying said selection of said selected pin image further comprises:
identifying an overlapping of a displayed cursor and said selected pin image; and
identifying a user input for selecting said selected pin image.

10. The method of claim 9, wherein said user input is selected from a group consisting of a clicking of a mouse button, a double clicking of said mouse button, and an activation of a button of a keyboard.

11. The method as described in claim 8, wherein said programmable integrated circuit comprises a programmable system on a chip.

12. The method of claim 8 further comprising:
displaying labels associated with said plurality of pin images.

13. The method of claim 8 further comprising:
configuring a portion of said programmable integrated circuit associated with said selected pin image, wherein said configuring is based upon said selected item from said user-selectable list box; and
displaying said selected pin image with an updated color in response to said configuring of said portion of said programmable integrated circuit associated with said selected pin image, wherein said updated color of said selected pin image distinguishes said configuration of said portion from at least one other portion of said programmable integrated circuit.

14. The method of claim 8 further comprising:
automatically removing said user-selectable list box in response to a selection of a selected item from said plurality of selectable items displayed within said user-selectable list box.

15. A computer-useable storage medium comprising computer-readable program code embodied therein for implementing a method of configuring a programmable integrated circuit, said method comprising:
displaying a graphical representation of said programmable integrated circuit, wherein said displayed graphical representation physically represents the shape of the programmable integrated circuit and comprises a plurality of pin images, wherein said plurality of pin images represent actual pins operable to couple said programmable integrated circuit to hardware separate from said programmable integrated circuit;
identifying a selection of a selected pin image from said plurality of pin images;
in response to said selection of said selected pin image, automatically displaying a user-selectable list box comprising a plurality of selectable items for configuring a portion of said programmable integrated circuit associated with said selected pin image, wherein said user-selectable list box is further for configuring said portion of said programmable integrated circuit in accordance with a selected item of the plurality of selectable items, and wherein the user-selectable list box is displayed simultaneously with said selected pin image; and
automatically removing said user-selectable list box in response to a user interaction outside said user-selectable list box.

16. The computer-usable medium of claim 15, wherein said identifying said selection of said selected pin image further comprises:
identifying an overlapping of a displayed cursor and said selected pin image; and
identifying a user input for selecting said selected pin image.

17. The computer-usable medium of claim 15, wherein said user input is selected from a group consisting of a clicking of a mouse button, a double clicking of said mouse button, and an activation of a button of a keyboard.

18. The computer-usable medium as described in claim 15, wherein said programmable integrated circuit comprises a programmable system on a chip.

19. The computer-usable medium of claim 15, wherein-said method further comprises:
displaying labels associated with said plurality of pin images.

20. The computer-usable medium of claim 15, wherein said method further comprises:
configuring a portion of said programmable integrated circuit associated with said selected pin image, wherein said configuring is based upon said selected item from said user-selectable list box; and
displaying said selected pin image with an updated color in response to said configuring of said portion of said programmable integrated circuit associated with said selected pin image, wherein said updated color of said selected pin image distinguishes said configuration of said portion from at least one other portion of said programmable integrated circuit.

21. The computer-usable medium of claim 15, wherein said method further comprises:
automatically removing said user-selectable list box in response to a selection of a selected item from said plurality of selectable items displayed within said user-selectable list box.