Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enhanced Tcl/Tk Widgets for EDA Applications Gaurav Bansal, Roshni Lalwani Gaurav Bansal 17'th Annual.

Similar presentations


Presentation on theme: "Enhanced Tcl/Tk Widgets for EDA Applications Gaurav Bansal, Roshni Lalwani Gaurav Bansal 17'th Annual."— Presentation transcript:

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

40

41

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


Download ppt "Enhanced Tcl/Tk Widgets for EDA Applications Gaurav Bansal, Roshni Lalwani Gaurav Bansal 17'th Annual."

Similar presentations


Ads by Google