Title

Outline

Verification / Debug Tool

Platform Support
Unix 32-bit
Sun Solaris
HP-UX
IBM AIX
RedHat

Products
ModelSim SE – full featured, supported on all platforms
ModelSim PE – low cost, supported on Windows only
ModelSim OEM – low or zero cost, provided by FPGA vendors, almost all on Windows
The lower cost products have higher volume which means the majority of our customer eyeballs are looking at a Windows U/I.

The Microsoft Windows Paradigm
Why should a Windows Look & Feel be so important to our customers?
“Software that is full of inconsistencies, even minor ones,
forces users to keep thinking about it.”
– GUI Bloopers, Don’ts and Do’s for Software Developers
Consistency refers to interactions within the tool as well as across all tools a person is using.
Our goal:  Make ModelSim interactions consistent with other MS Windows applications

The old window

The new window
Toolbar w/graphics
Windows style icons
Less padding
Textured grab corner
Non-raised edges
Indented Marquee

The new window
Workspace focal point
De-emphasize
command line

Small details make a difference
Color & Font changes
Matching user’s desktop preferences for colors and fonts – done!
Responding to dynamic changes – Oops!
Menus
Use familiar menu organization:  File Edit View … Tools Window Help
Use familiar action terms: New, Open, Refresh, Properties
Use context sensitive RMB Popup menus where appropriate,
avoid “special” RMB mouse actions.

Menu organization

Finding familiar actions

Using familiar verbs

Dialog Boxes
Layout
Space efficiency
Organization
Modality
Avoid non-modal dialog boxes
Widget Choice
Use appropriate and common widgets
Tri-State Widgets
Support multiple selection
Common Dialogs
Reduce typing
Increase consistency

Dialog box layout
Uncommon widget
Poor layout
Unclear association
Bad use of space
Dialog box too big

Dialog box layout
More information in compact area
Use drop box
Use labeled frame for clear association

Multiple Selection
Multiple selection
Tri-state checkbox

Customizable views
Multi-column hierarchical list
Multiple Document Interface (MDI)
vs.
Multiple top level windows
Dockable panes

Wizards
Wizards are helpful in guiding users through unfamiliar, complex operations.
Creating a successful Wizard is a difficult task
Providing a standard Wizard class would make this task easier

Printing
The expectation:  anything you see or view in a window can be printed
Printing is complicated since what is presented on the display can be a composition of Tk and/or custom widgets
Implementing printing in the ModelSim Wave window required both low level access to widgets DC buried inside Tk, middle-level code to handle composition of a page and high-level code to handle printer configuration and pagination.

Wave Window Printing

Summary
In an ideal world, these items would be available within Tcl/Tk for use by all.
A standard multi-column hierarchical list
Intrinsic tri-state widgets
Standard dialog box wizard support
Dockable/Undockable window panes
A standard toolbar that supports customization as well as docking
Printing support, or at least, printing hooks
MDI support
Drag and Drop

Summary
These items do not require technology development, but must be considered at all times to achieve a Windows look and feel.
Dialog box modality
Use Microsoft Windows like widgets only
Dialog box layout, spacing and alignment
Limiting the number of top-level widgets

Summary
Items that do not deal directly with Tcl/Tk, but that are related to the overall goal of achieving a Windows look and feel.
Usage of Microsoft Verbs and Nouns
Multiple selection support wherever possible
Provide point and click operations over typing
Always provide popup menus and property choices

Info
E-mail: bgriffin@model.com
rwold@model.com
Widgets: ftp://ftp.model.com/pub/tcl
Company website:  http://www.model.com

ModelSim