digital circuit simulation on the web
TRANSCRIPT
-
8/9/2019 Digital Circuit Simulation on the Web
1/22
-
8/9/2019 Digital Circuit Simulation on the Web
2/22
y Appendices
Starting Digital WorkShop:
This Java applet is best viewed with a Netscape 2.0x or better browser and the Java language is supported on
Windows 95, Windows NT, Sun Solaris, Macintosh and UNIX systems. Also, the application will load and run
faster in Netscape if the cache is cleared first. This can be easily done by completing the following steps now.
1. Select from the menu.2. On the Cache window click on the button.3. On the Cache window click on the button.4. On the Preferences window click on the button.5. Click here...Digital Workshop6. Please allow 3-5 minutes for the applet to load.7. Please e-mail your comments and suggestions.
Abstract:
Digital WorkShop has been designed to capitalize on the resources provided by the internet and
Java programming language to provide a useful educational simulation application that is freelyaccessible to the academic community. The application was derived from an existing application
to provide an educational introduction to digital circuits in an interactive and informativemanner. The Software Improvement Plan outlines the original modifications planned using four
categories: cosmetic improvements, documentation improvements, implementationimprovements and functional improvements, and the Solution Statement details how the
improvements were realized. Screen shot and graphical comparisons between the twoapplications are made in the results section. Relevant observations, a description of any
unresolved issues and other modifications that could be implemented in Digital WorkShop areexamined in the conclusion section.
Keyword Index: Simulation, Digital Circuits, Java, program optimization.
.
Introduction:
The problem defined for this senior project is to capitalize on the resources provided by the
internet and Java programming language to provide a simulation application that can be used asan instructional tool. Specifically, Digital WorkShop provides and introduction to digital circuits
-
8/9/2019 Digital Circuit Simulation on the Web
3/22
in an interactive and informative manner, and the application is freely accessible to anyone in theacademic community with access to the internet.
Background:
The internet provides an ideal information sharing environment, with a vast future potential foreducational systems at all instructional levels. The usefulness of the internet as a virtuallyunlimited database has already been proven, but initially the internet's ability to provide useful
applications remained relatively limited.
Now however, Sun Microsystems has promoted the Java programming language and theappearance of applications including games, spreadsheets, graphing programs and animation
controllers are appearing on more and more homepages. The most interesting of theseapplications in terms of educational potential, are the computer simulation models. Simulators
allow people to test out ideas for various real world technical and engineering problems withminimal expenditures of time and resources.
Although the Java programming language has only been an active force in the internetprogramming community since 1993, the interest that it has generated is considerable. Even
though many Java programs are simply animations that individuals have added to their websitesto make them more visually appealing, more and more application oriented programs are being
developed to solve problems and offer services to the internet community. The following site listprovides a general cross section of the kinds of simulator applications that are currently being
presented on the internet.
y The game of Life is a classic simulation algorithm, and Steve Li has developedThoughtLife, an application that displays a couple of configurations in action. It can be
accessed at http://www.thoughtworks.com/java/life/life.htmly LOOPN++ is a simulation of a simple petri net developed by Michael Cahill, which can
be accessed at http://www.softway.com.au/~mjc/simulator/src/demo.htmly A Java application that simulates hysteresis using a random field ising model has been
developed by Jim Sethna et al, and it can be accessed athttp://www.msc.cornell.edu/~houle/hysterisis/
y DigSim is a Java application that allows users to create digital schematics in a CAD(Computer Aided Drawing) environment, which can then be simulated to show how the
circuit would perform if actually constructed. DigSim was developed by Iwan van Rienenand can be accessed at http://www.lookup.com/Homepages/96457/digsim/load.html
Digital circuit design has provided the modern world with a multitude of useful products.Computers, calculators, audio and video equipment, robotics, medical tools and an unendingsource of toys and gadgets are continuously being generated with no apparent end in sight. But
the technology behind modern electronic equipment is rather inscrutable to most individuals, andstudents are fortunate if they complete their schooling with a decent grasp of standard math and
science, much less a basic grasp of modern technology. Funding for the kind of equipmentrequired to allow students to build and test actual electronic circuits is simply beyond manyschool systems. This provides exactly the kind of problem best solved by simulation.
-
8/9/2019 Digital Circuit Simulation on the Web
4/22
Solution Statement:
While most of the above simulation examples are interesting, in general they represent a generaltendency in the programming community to offer simulators that offer few interactive
opportunities for the user. In most instances the simulation is for a fixed set of parameters in the
specific problem domain, and the user simply views the results. DigSim, however, offers anapplication with the potential to provide an educational introduction to digital circuits in aninteractive and informative manner. At the same time, the application in its original form has
several underlying deficiencies that limited its usefulness in this context.
Digital Workshop has been derived from this existing application to provide a more user friendlyand visually appealing interface, with expanded simulator functionality. In order to tailor the
application as an instructional device, the library of example schematics has been expanded withcircuits relevant to key educational concepts and to provide users with a detailed view of the
potential application of all the logical components available. Additionally, the instructionaldepth of the help files has been increased.
Problem Domain:
In solving the problem stated for this senior project it was necessary to blend multiple
disciplines. The main motivation behind the project is to create a mechanism for providing anintroduction to digital circuits. A clear understanding binary logic and number theory was
therefore necessary in order to include relevant information in the application's help files, fordetermining the kinds of schematics to include in the example library and in deciding the
programming techniques used to modify the individual digital components.
The original application is programmed using the Java language so that the application can berun on the internet. This means that the Java language as well as object oriented programming
techniques had to be learned through individual study before actual modifications to theapplication could be initiated. Furthermore, simulation methods and graphics techniques are
integral the structure of the application, and this combined with the fact that the application isintended to operate on the internet using graphic intensive images made the use of efficient
programming methods an imperative concern.
Software Improvement Plan:
The proposed improvements to the original application are broken into four general categories asdescribed below.
Cosmetic Improvements:
-
8/9/2019 Digital Circuit Simulation on the Web
5/22
y The original application displays the simulator with a black background. This provideshigh contrast but, unfortunately, makes the simulator appear to be a toy rather than a
useful application. Initially the color system will be reformatted to provide a more mutedappearance. Then, if time permits, a preferences menu will be implemented to allow the
user to adjust the color scheme for individual appeal.y
The original application displays the grid in single increments, This imposes aparticularly busy appearance on the display. Therefore, the grid display function will bemodified to only show grid steps of an appropriate length.
y The Dual Color LED component illuminates differently based upon the polarity withwhich it is connected into a circuit. However, in the original application the component
lacks any polarity markings at all, making this aspect of it's functioning unclear.Therefore, a '+' marker will be added to the component for each color to indicate the
proper polarity to achieve that color illumination.y The original application is named DigSim, which associates the application with games
like SimEarth. A more professional title will be chosen for the modified application.
Documentation Improvements:
y The class headers will be updated with the new title and versiony The code commenting in the original source code only provides minimal descriptions of
the class and general information at the beginning of class functions. Additionalcommenting will be provided to make the coding easier to understand and modify for
future versions.y In the original application the information provided by the help files assumes that the user
already has a relatively high order of previous knowledge related to the digital logicassociated with the various logical components provided. To make the application more
directed towards an educational introduction to digital logic, the help files that deal with
logical device objects will be expanded to provide a more complete description of theirlogical operation and general use in circuits.
Implementation Improvements:
y When running on the internet every aspect of the application responds slowly. This is aserious detriment to the usability of the simulator. Every effort will be made to improve
efficiency, and minimize execution time.y Response to mouse clicks is unreasonably delayed when the simulator is running. These
event handling routines will be prioritized to correct this deficiency.y Placing new components in a circuit is difficult due to a significant dragging delay
between the mouse pointer position and the component's currently displayed position.This event handling routine will be modified so that the real time response of the display
will more closely match where the user expects the component to be.
Functional Improvements:
y The oscillator provided only implements one cycle rate equal to two simulation cycles.This is not a very accurate representation of real world oscillators as they are used in
-
8/9/2019 Digital Circuit Simulation on the Web
6/22
digital circuits. This component will be expanded to allow the user to select multiples ofthe base cycle rate.
y The logic analyzer is very rudimentary and does not provide significant information forthe user. There is no display to indicate the simulation cycles that are being traced and
when the trace exits the viewable frame it wraps around to the start of the display thereby
erasing the previous signal trace. Also, there is no way to clear and restart the tracedisplay. The logic analyzer will be modified to address these issues.
Solution Section:
Cosmetic Improvements:
Introducing "Digital WorkStation," the next generation of "DigSim." This new title was chosen
to more accurately reflect that the application is a tool for building and testing digital circuits
rather than just another toy in the tradition of SimEarth. All references to the application titlehave been modified throughout the displays and help files.
The color system of Digital WorkStation has been reformatted to provide a more mutedappearance, using gray for the background, white for text and black for uninitialized wires and
the grid display. Modifying the background also made it necessary to slightly alter the colorformatting of the oscillator, ground and inactive wire components so that they display properly.
The grid display has also been modified to only display grid steps at every fifth step. The newdisplay is not as visually striking as the display in the original application, however, it focuses
attention on the schematic components in a much more effective manner.
The functioning of the Dual Color LED component has been clarified by the addition of a '+'marker on each side of the component displayed in the color to indicate the proper polarity with
which the LED should be connected in order to achieve that color illumination.
Documentation Improvements:
Digital WorkShop represents version 1.10.b1 of the original code, therefore, the class headers
have been modified to reflect their inclusion in the new version. Furthermore, additionalcommenting has been provided in the modified classes to make the coding easier to understand
and modify for future versions. In the library of example schematics, any labeling errors were
corrected and schematic titles were added where necessary. Spelling and grammar errors werecorrected throughtout the interface.
To make the application more directed towards an educational introduction to digital logic, thehelp files that deal with logical device objects were expanded to provide a more complete
description of their logical operation and general use in circuits.
-
8/9/2019 Digital Circuit Simulation on the Web
7/22
-
8/9/2019 Digital Circuit Simulation on the Web
8/22
the application's response to mouse events outside of the schematic panel when the simulator isrunning.
Digital WorkShop substantially improves upon the original application both in simulator speed
and responsiveness during simulation. This is accomplished by reducing the main thread's sleep
cycle to 5 milliseconds and only simulating one cycle per iteration of the main thread. While itmay not appear to be the obvious solution, Digital WorkShop executes faster by sleeping longer.The application now releases CPU control for approximately twice the10 milliseconds provided
by the original application but each sleep cycle has a shorter duration. This allows the CPUrunning the application more opportunities to keep display, modem and other auxiliary functions
up to date.
The new distribution of sleep cycles also maximizes the usefulness of buffering techniques. Allthe graphics needed during one iteration of the main thread have been built during the preceding
iteration of the main thread, while the graphics for that iteration were being displayed.Additionally, returning control to the main thread after each simulation cycle roughly quadruples
the speed with which the application responds to mouse events that occur outside of theschematic panel. This corrects an annoying tendency in the original application for a running
simulator to continue operating for several cycles before responding to a user's attempt to stopthe simulation.
Functional Improvements:
The oscillator component was modified to allow the user to select divisions of the fastest cyclerate allowed by a given schematic. The user can now arbitrarily assign the base cycle to represent
the highest frequency that will be used in a circuit, and thereafter oscillators can be set to anylower frequency, where the new oscillator frequency equals the highest assigned frequency
divided by the number entered by the user. If an entry is less than one, the oscillator frequency isautomatically synchronized to the base cycle rate.
The logic analyzer has been modified to display signals that continuously advance, along with a
ruled indicator of all currently displayed simulation cycles. Also, a user control has beenprovided that allows a given probe to be deleted. Finally, the analyzer automatically resets when
the simulator is stopped and restarted, so that previously deleted probes reappear and the currentcycle resets to zero on successive simulations.
The clocked flip flops and four bit binary counter have been modified with the addition of a reset
pin to more accurately model real world flip flops. The reset is activated by a 5 volt signal so this
pin does not have to be connected for the component to operate normally. A reset signalautomatically produces a 0 volt signal at the 'Q' outputs of the flipflops and at all of the outputsof the four bit binary counter regardless of whether the clock input is currently triggering the
component.
The library of example schematics was expanded and corrected as follows:
-
8/9/2019 Digital Circuit Simulation on the Web
9/22
y NORequivalencies demonstration: The logical equivalence of circuits is a difficultconcept for beginners to understand. Accordingly, a demonstration of the NORgate was
provided along with De Morgan's equivalent implementations using an ORgate withinverted output and an AND gate with inverted inputs.
y NAND equivalencies demonstration: The NAND gate was also demonstrated along withDe Morgan's equivalent implementations using an AND gate with inverted output and anORgate with inverted inputs.
y Half Subtractor: The half subtractor is a logical extension of the half adder circuit andprovides additional insight into binary arithmetic operations.
y Full Subtractor: This demonstration was included to complete the series of examplesdealing with binary arithmetic operations.
y Half Adder: The half adder in the original application is improperly implemented.Replacing the existing ORgate with the correct XORgate corrects the circuit.
y Full Adder: The full adder in the original application is also improperly implemented.Replacing the existing ORgates with XORgates corrects the circuit.
y Serial Transmission of Data: Although present in the original application, this examplewas not included in the example listing, so that it did not appear in the examples windowand could not be selected. The example listing was modified to include this example.
y Text: Labeling errors were corrected and schematic titles were added where necessary inthe example schematics.
Results:
Screen Shots Displaying Cosmetic Improvements:
DigSim Interface
-
8/9/2019 Digital Circuit Simulation on the Web
10/22
y The black background and packed grid in the original interface are an unnecessarydistraction.
Digital WorkShop Interface
y By providing a more muted appearance in the background display, Digital WorkShopfocuses attention on schematic components rather than the interface.
y By increasing the grid size component location within a schematic can now be moresimply referenced.
Test Results of Implementation Improvements:
All of the comparisons discussed here are based on tests conducted on an IBM capatible 486DX-2 80 machine with 8 MB ofRAM running under Windows 95. Java's applet viewer was used
in testing comparable trails between the two applications rather than actual internet access inorder to minimize external influences on the results. All trial times were measured to an accuracy
of 10 ms using in line code.
With this in mind, the results of the implementation improvements are graphically presented inthe following bar chart.
Percent Reduction in Trial Times:
Digital WorkShopVs. DigSim
-
8/9/2019 Digital Circuit Simulation on the Web
11/22
y Simulation times initialized at simulator start for a binary counter circuit. The circuit wasallowed to count to 5 before stopping the simulator, and the timer stopped when control
returned to the root class. Fifteen trials were performed for each simulation. Simulationtimes have been reduced by 18.21%
y Example loading times initialized at the beginning of the loading routine that parses theschematic text file, and the timer stopped when the last component in a file was
recognized. Trails were performed for each application loading each of the 25 availableschematics. Example loading times have been reduced by 32.34%
y Menu selection times intialized just before the first search routine and the timer stoppedwhen the functions required by a given selection completed. Ten trails were performed on
each menu selection for both applications. Component selection times were reduced by59.48% and the response to other menu selections has been reduced by 18.21%.
Screen Shots Displaying Functional Improvements:
DigSim Analyzer Frame
-
8/9/2019 Digital Circuit Simulation on the Web
12/22
y The DigSim analyzer is currently displaying the sixteenth cycle, and is about to reach theedge of the viewable screen.
y Here the signal trace has wrapped around to the start of the analyzer frame, over-writingthe previous display.
y Because the current signal exactly retraces the previous signal the analyzer appears tohave ceased operating and the user has no way of determining where the current cycle isbeing displayed.
Digital WorkShop Analyzer Frame
y The Digital WorkShop analyzer is currently displaying the sixteenth cycle, and is aboutto reach the edge of the viewable screen.
-
8/9/2019 Digital Circuit Simulation on the Web
13/22
y Digital WorkShop presents an active rather than static interface when the signal tracereaches the edge of the viewable frame by continuing to advance, while pushing the
oldest trace off the opposite edge of the display.y The new analyzer also identifies the exact simulation cycles currently being displayed
with the ruled indicator at the bottom of the screen.y
The new cut button allows specific signals to be temporarily removed from the analyzerscreen so that a user can discard signal information that may currently be irrelevant.
Modified Components in Digital WorkShop
y The functioning of the dual colored LED was clarified by adding polarity markers toindicate the proper polarity with which the component should be connected to achieve the
desired illumination.y A reset pin was added to each of the clocked flip flops and the four bit binary counter to
more accurately model actual flip flops.y The oscillator component has been modified to allow the user to select multiples of the
system clock. So that different frequencies can be approximated within a singleschematic.
-
8/9/2019 Digital Circuit Simulation on the Web
14/22
y Double clicking within the body of a given oscillator pops up this dialog box whichexplain how the new frequency can be determined.
y The oscillator help file further describes assigning an arbitrary value to MAXFREQUENCY, using it to describe the frequency of the system clock, and then relatingthis value to any new oscillator frequencies.
Library of Example Schematics Expansions
y The NAND demonstration provides a previously unavailable demonstration of itsoperation and highlights DeMorgan's First Law of logical equivalencies
-
8/9/2019 Digital Circuit Simulation on the Web
15/22
y The NORdemonstrations provides a previously unavailable demonstration of itsoperation and highlight's DeMorgan's Second Law of logical equivalencies
-
8/9/2019 Digital Circuit Simulation on the Web
16/22
y The half subtractor demonstrates binary subtraction and compliments the half adderprovided in the original library.
-
8/9/2019 Digital Circuit Simulation on the Web
17/22
y The Full subtractors completes the series of examples dealing with binary arithmetic bydemonstrating the borrowing function and compliments the full adder circuit previouslyincluded in the library.
-
8/9/2019 Digital Circuit Simulation on the Web
18/22
y The Decade Counter provides a counter that displays the standard decimal countingsystem that everyone is familiar with.
y This example provides an excellent demonstration of the use of detect circuitry.y This example also provides a previously unavailable illustration of the operation of the
edge triggered T-flip flop
Conclusions:
In the end, the effort expended to make an application available on the internet is wasted if the
application operates so slowly that the user loses interest. The response time improvementsrealized by Digital WorkShop are significant and will hopefully keep frustration levels to a
minimum.
-
8/9/2019 Digital Circuit Simulation on the Web
19/22
The overall look of Digital WorkShop is now more professional and pleasing to the eye. Still,everyone has individual preferences, so it would be beneficial to include color formatting in the
preferences menu for a future version. The best approach would be to offer a fixed set of colorformats so that the proper display of all components could be assured for any selected color
format.
The mouse dragging routines in Digital WorkShop also require future modifications, as theysuffer significant delays between the current mouse position and where dragged components are
being displayed. Ghosting techniques should improve this problem, however, it may not bepossible to implement them within the constraints of the Java Language. The main difficulty is
the manner in which repainting occurs in Java. It is possible that the creation of a new sub-classof the schematic panel could be implemented to separate the repainting of dragged components
from the repainting of the entire schematic panel. However, it is not clear how to make thebackground of the new class transparent to the underlying schematic display or how the timing
between the repainting of each class should be managed.
Components in Digital WorkShop are only displayed in one axial reference: left to right and topto bottom. Creating schematics could be substantially simplified by allowing a selection between
the four main axial rotations. One button could be provided to allow the user to step throughthese rotations in a fixed order, or four buttons could be provided to allow the user to arbitrarily
select one of the four rotations for a selected component. Implementing this feature will requireextensive modification of the drawing methods for the forty plus classes that handle the
component drawing in DigitalWorkShop.
Because Digital WorkShop was developed and tested exclusively on a Windows 95 platform,
additional testing needs to be performed on the various platforms that the Java languagesupports.
Acknowledgments:
I would like to thank my advisor, ProfessorPaul Fishwick for his assistance and direction duringthe development of Digital WorkShop, and Beverly A. Sanders for providing additional insight
concerning the Java language.
I would also like to express my appreciation to Iwan van Rienen for placing DigSim in the public
domain. If you like Digital WorkShop, check out the original to see where it started.
References:
-
8/9/2019 Digital Circuit Simulation on the Web
20/22
The original application from which this project was derived was DigSim, developed by Iwanvan Rienen ,and all source code was obtained off of the web from:
http: //www.lookup.com/Homepages/96457/digsim/load.html
Basic programming instruction, the java compiler and the applet viewer required to modify thesource code for this application, along with supplementary java application examples wereprovided by:
Walnum, Clayton. Java by Example. Indiana: Que Corporation, 1996.
Pertinent examples of usable functions, and a user friendly environment were provided byexamining the structure and interface contained in:
Capilano Computing Systems, Ltd. LogicWorks 3: Interactive Circuit Design Software for
Windows and Macintosh. California: Addison-Wesley Publishing Company, Inc., 1996.
Additional conceptual understanding of the modular components inherent to the execution of
Java applications was accessed from Sun Microsystems at their web site:
http: //www.sun.com
Appendices:
Abbreviated User's Manual
Starting the Digital Simulator Test Site :
Digital WorkShop is a Java applet, best viewed with a Netscape 2.0x or better browser. Also, the
application will load and run faster in Netscape if the cache is cleared first. This can be easilydone by completing the following steps in Netscape.
y Select NetworkPreferences from the Options menuy On the Cache window click on the Clear Disk Cache Now buttony On the Cache window click on th OK buttony On the NetworkPreferences window click on th OK buttony On the SeniorProject for Deborah Lynch homepage click on the Starting the Digital
Simulator Test Site link.
y Please allow three to five minutes for the applet to load.File Operations:
-
8/9/2019 Digital Circuit Simulation on the Web
21/22
Standard file operations are disabled when Digital WorkShop is operating on the internet due toJava security measures. Example schematics have been included however, and they can be
loaded into the simulator by selecting "Open example" from the file menu.
This will pop up a window that displays a list of the available examples. Examples are
categorized as beginner, simple or advanced and selecting a category from the example typemenu will display the examples in that category.
The currently displayed schematic can be cleared by selecting "new" from the file menu or bypressing the blank page icon from the tool bar.
Placing Components:
All of the components available to be placed into a schematic in Digital WorkShop can beselected from the menu bar under the following main menu selections.
y Passive: wire; junction; Vcc, GND, switch, pushbutton.y Ports: buffer; inverter; 2 and 3 input AND, OR, NAND, and NORgates; 2 input XOR
and XNORgates.
y Bi-stable: SR, gated SR, D and octal D latches; D, T, JK, edge triggered T, and octal Dflip flops.
y Display: various colored LEDs and a seven segment display.y Special: oscillator; BCD to seven segment decoder; 3 to 8 line decoder; 4 bit binary
counter; 8-bit serial in shift register; 8-bit parallel in shift register; probe, text.
After a component has been selected, it appears in the upper left corner of the schematic display.To move a component, click the mouse within the body of the component and while holding the
mouse button down, drag the component to the desired position.
Editing:
Cut, copy and paste functions are available from both the main menu's edit menu as well as from
the toolbar. To cut or copy a component previously placed in a schematic, select the componentby clicking inside the body of the component and then select the desired function.
Multiple components can be selected by holding down the shift key during the selection process.
All of the components in a schematic can be selected simultaneously by pressing "Select All"
from the edit menu.
Selecting the paste function will cause the last cut or copied component to appear in the upper
left of the schematic display.
The Oscillator:
-
8/9/2019 Digital Circuit Simulation on the Web
22/22
The oscillator is synchronized with the master clock, and all oscillators are initialized to themaster clock frequency which changes its level every simulation cycle.
To change the frequency of an oscillator, double-click within the body of the oscillator and
change the value of n that is displayed in the Dialog box. The new frequency of the oscillator is
then MAX FR
EQUENCY/n, where MAX FR
EQUENCY is the arbitrary value that you assign tothe master clock. This IS NOT the actual frequency that the simulator operates at. Actualoperation speed, fluctuates depending on the system running the simulator.
Operating the Simulator:
Simulation is controlled by the start and stop selections from the main menu's simulate menu.
Furthermore, a stopped simulation can be started or a started simulation can be stopped bypressing the button with the lightening bolt icon in the tool bar.
Once a simulation has started, switches and pushbuttons can be toggled by placing a mouse click
within the body of the component. This is the only action that is allowed while a simulation isrunning.
The Logic Analyzer:
A probe placed in a schematic will display the signal trace of the circuit at that position in thelogic analyzer. The signal trace is reset each time the simulator is stopped.
To name the signal that the probe will display in the analyzer, double click inside the body of the
probe. Then enter the new name at the prompt provided.
If a probe is present in a schematic ,the analyzer window will pop up automatically. Theautomatic pop up function can be disabled in the options window that can be selected from themain menu's simulate menu. If the analyzer window has been previously dismissed or the
automatic pop up function has been disabled the analyzer can be displayed by selecting the"Show Analyzer" menu item from the main menu's simulate menu.
The signal trace of a given probe will be removed from the analyzer window if the cut button for
that probe is pressed. The signal trace of a cut probe will reappear if the the simulator is stoppedand then restarted unless the probe itself is deleted in the schematic.
On-Line Help:
Help file displays can be popped up by selecting help from the help menu or by pressing the
question mark icon from the tool bar, and then selecting the item for which help is desired.