Presentation is loading. Please wait.

Presentation is loading. Please wait.

MECOP Internship August 2008 Kevin Jones SOFTWARE DEVELOPMENT INTERN CALIBRE – YIELD SERVER.

Similar presentations


Presentation on theme: "MECOP Internship August 2008 Kevin Jones SOFTWARE DEVELOPMENT INTERN CALIBRE – YIELD SERVER."— Presentation transcript:

1 MECOP Internship August 2008 Kevin Jones SOFTWARE DEVELOPMENT INTERN CALIBRE – YIELD SERVER

2 KCJ, MECOP Internship, August 2008 2 n HP n Planar Systems n Mentor Graphics – DFM — Sridhar – Mentor — Greg - Manager n Calibre - YS Background

3 Work Conditions n Hours - 40 hours/week n Wages – $21/hour n Overtime – pre-approved KCJ, MECOP Internship, August 2008 3

4 4 Projects

5 Organizational Reporting Structure n Mentor – Sridhar — Assigned most tasks n DFM — Manager – Greg n Calibre — Related products/tasks — QA KCJ, MECOP Internship, August 2008 5

6 6 n Getting up to speed… — C++ — Basics of Application Specific Integrated Circuits — Calibre products — TCL, TK, and C APIs — Perl Projects & Tasks

7 KCJ, MECOP Internship, August 2008 7 n Getting up to speed…(continued) — Environment n Linux n Mentor build environment n Regression test environment n Other tools: — Debugger — Rational Purify — Sun Performance Analyzer Projects & Tasks

8 KCJ, MECOP Internship, August 2008 8 n Converted help output to TCL — Allowed for access from other products n Multi-command TCL script (left) — Redirects commands to multiple YS instances — Used for DFM DB lock testing Projects & Tasks

9 KCJ, MECOP Internship, August 2008 9 n Command, Object, and Notification Registry — Common Goals: n Simplify common tasks n Centralize entry locations n Eliminate invalid/inconsistent entries Projects & Tasks

10 KCJ, MECOP Internship, August 2008 10 Command, Object, Notification Registry

11 Projects & Tasks n Command Registry — Single line of text will: n Register the command with the TCL interpreter n Integrate the command with the help system n Possibly add it to an API for supported commands — Command completion n Object Registry — Generates code needed to create a new TCL type n Notification Registry — Generates code needed to add a new notification and process the specified arguments — Refactored to remove unneeded levels of indirection KCJ, MECOP Internship, August 2008 11

12 Projects & Tasks n Added, exposed and/or updated various interfaces and commands n Updated various TCL types to use a change observer interface (allowing for proper object lifetime) n Updated some commands to support read-only databases n Added support for sending load-time progress to GUI clients. KCJ, MECOP Internship, August 2008 12

13 Projects & Tasks n Updated all commands in YS to use exceptions for error handling. n Implemented a Performance Monitoring infrastructure for: — Timing various tasks — Measuring memory usages changes. n Created large invalid-input test case, which resulted in fixing many (75+) potential crash scenarios. KCJ, MECOP Internship, August 2008 13

14 Projects & Tasks n Added new revision commands for extracting revision tree information. n Updated revision listing command — Now works with unloaded database (much faster) — Updated sort algorithm n Analyzed and documented YS /DFM DB timing — Based on a series of test cases & scenarios — Breakdown of time-consuming call hierarchy n Created a Tk GUI based help implementation KCJ, MECOP Internship, August 2008 14

15 KCJ, MECOP Internship, August 2008 15 What I learned…

16 What I’ve learned n Basics of what the EDA industry is about n Implications of huge code base: — Lots of testing, retesting n Languages: C++, Perl, TCL/Tk, Shell Scripting n Gained more experience working with large code bases n Product development in Linux environment KCJ, MECOP Internship, August 2008 16

17 Helpful courses n Programming Projects in C++ (CS 262) n Data Structures (CS 261) n Operating Systems I/II (CS 311/CS 411) n Analysis of Algorithms (CS 325) KCJ, MECOP Internship, August 2008 17

18 Overall Impressions n Mutually beneficial — Learned what I wanted to learn and more! — Completed many tasks, created numerous documents, maintained code quality KCJ, MECOP Internship, August 2008 18

19 Internship Differences n Planar Systems — Small company with minimal facilities — Software team in a hardware company — Windows; C# development; single target platform n Mentor Graphics — Large company with on-site cafeteria, gym, recreational equipment, etc. — Software company with a hardware focus - steeper product/topic learning curve — Linux; C/C++,Tcl/Tk, Perl development; numerous target platforms KCJ, MECOP Internship, August 2008 19

20 KCJ, MECOP Internship, August 2008 20


Download ppt "MECOP Internship August 2008 Kevin Jones SOFTWARE DEVELOPMENT INTERN CALIBRE – YIELD SERVER."

Similar presentations


Ads by Google