Download presentation
Presentation is loading. Please wait.
Published byErick French Modified over 9 years ago
1
Enhanced Tcl/Tk Widgets for EDA Applications Gaurav Bansal, Roshni Lalwani gaurav_bansal@mentor.com, roshni_lalwani@mentor.com Gaurav Bansal 17'th Annual Tcl/Tk Conference (Tcl'2010) October 11 - October 15, 2010
2
DFTVisualizer
3
DFTVisualizer – Design and Wave Window
4
DFTVisualizer – Debug Window
5
DFTVisualizer – Browser Window
6
DFTVisualizer – Transcript Window
7
DFTVisualizer MtiHierarchy Widgets Text Widgets
8
Agenda Enhancement in MtiHierarchy widget —Callback support for improved performance —Sub column support —Making tree column frozen in place (non-scrollable) Enhancement in Text widget —Hyperlinks —Incremental Parsing
9
Agenda Enhancement in MtiHierarchy widget —Callback support for improved performance —Sub column support —Making tree column frozen in place (non-scrollable) Enhancement in Text widget —Hyperlinks —Incremental Parsing
10
Browser Window – MtiHierarchy Widget
11
Format used to pass information to MtiHierarchy widget for each row is …
12
Browser Window – MtiHierarchy Widget Format used to pass information to MtiHierarchy widget for each row is …
13
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_inst
14
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_inst
15
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_inst Display data for 1 st column
16
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_instRoot {} {} Display data for 1 st column Display data for 2 nd column
17
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_instRoot {} {} Display data for 1 st column Display data for 2 nd column item ->name
18
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_instRoot {} {} Display data for 1 st column Display data for 2 nd column item ->nameitem ->app data
19
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_instRoot {} {} Display data for 1 st column Display data for 2 nd column item ->nameitem ->app dataitem ->data
20
MtiHierarchy Widget – Callback Support 0xAAAAAA{HINST IN 4 -1}TOP branch vlog_instRoot {} {}35 {} {} Display data for 1 st column Display data for 2 nd column item ->nameitem ->app dataitem ->data...
21
MtiHierarchy Widget – Callback Support …. … Static Data
22
MtiHierarchy Widget – Callback Support …. … Static Data Dynamic Data
23
MtiHierarchy Widget – Callback Support Widget stores …. … Static Data Dynamic Data
24
MtiHierarchy Widget – Callback Support Widget stores Widget gets from application at runtime …. … Static Data Dynamic Data
25
MtiHierarchy Widget – Callback Support Widget stores Widget gets from application at runtime Changes like addition/deletion of a column does not require any iterations by the widget Display data is provided by the application - takes fraction of a second …. … Static Data Dynamic Data
26
Side Effects
27
Side Effects – Sorting Item1 Item2. ItemN
28
Side Effects – Sorting Item1 Item2. ItemN …. … Static Data Dynamic Data
29
Side Effects – Sorting Item1 Item2. ItemN …. … Static Data Dynamic Data
30
Side Effects – Sorting. Application gives us sorted list of “ ” (item- >name pointers)
31
Side Effects – Sorting Application gives us sorted list of “ ” (item- >name pointers) We need the list of sorted “item” pointers. Ite m1 Ite m2. Ite mN.
32
Side Effects – Sorting. Application gives us sorted list of “ ” (item- >name pointers) We need the list of sorted “item” pointers. So we create a hash table for item->name and item pointer Item1 ->name Item1 Item2 ->name Item2. ItemN ->name ItemN
33
Agenda Enhancement in MtiHierarchy widget —Callback support for improved performance —Sub column support —Making tree column frozen in place (non-scrollable) Enhancement in Text widget —Hyperlinks —Incremental Parsing
34
Sub-columns Show the fault distribution of instances in various categories and sub-categories
35
Sub-columns Show the fault distribution of instances in various categories and sub-categories Categories and sub-categories should be displayed as in- place expandable/collapsible column.
36
Sub-columns Overview of changes —Enhanced MtiHeirarchy widget protocol to support the sub-column labels as a list of labels instead of column label
37
Sub-columns Overview of changes —Enhanced MtiHeirarchy widget protocol to support the sub-column labels as a list of labels instead of column label —Provide APIs for sub-column operations like add, delete, configure, move, etc
38
Sub-columns Overview of changes —Enhanced MtiHeirarchy widget protocol to support the sub-column labels as a list of labels instead of column label —Provide APIs for sub-column operations like add, delete, configure, move, etc —Expandable/ collapsible we need to provide a clickable icon
39
Sub-columns – Approach
42
Agenda Enhancement in MtiHierarchy widget —Callback support for improved performance —Sub column support —Making tree column frozen in place (non-scrollable) Enhancement in Text widget —Hyperlinks —Incremental Parsing
43
Frozen Tree Column
44
Clipper (a frame)
45
Frozen Tree Column Clipper (a frame) Canvas
46
Frozen Tree Column Clipper (a frame) Canvas Sfchildsite (a frame)
47
Frozen Tree Column Clipper (a frame) Canvas Sfchildsite (a frame) Columns
48
Frozen Tree Column Create two canvases and grid them inside the clipper as column 0 and column 1 of row 0
49
Frozen Tree Column 1st scrollbar alters the xview of the column 0 such that it scrolls the instance names of the tree column and not the column itself. 2nd scrollbar alters the xview of the 2nd canvas so that the rest of the columns scroll past the tree column.
50
Agenda Enhancement in MtiHierarchy widget —Callback support for improved performance —Sub column support —Making tree column frozen in place (non-scrollable) Enhancement in Text widget —Hyperlinks —Incremental Parsing
51
Enhanced Text Widget Text Highlighting —Text highlighting helps to point out the issues easily Hyperlinks —Get to the relevant file or information in other windows of the tool to debug the issues very quickly. Incremental parsing
52
Enhanced Text Widget
53
Yes Exit No Load file in to the text widget (read & write in chuck size =256k) Calculate the boundary of visible area of text widget. Start line = B1 and last line = B2. Highlight the lines as per their category and Parse each word and mark it as hyperlink if the word is filename or instance name or DRC id If the text between (B1, B2) has already been parsed Enhanced Text Widget – Incremental Parsing
54
Thank you. 54
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.