Download presentation
Presentation is loading. Please wait.
Published byGeorgiana Todd Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.