1 / 20

MECOP Internship August 2008

MECOP Internship August 2008. Kevin Jones SOFTWARE DEVELOPMENT INTERN CALIBRE – YIELD SERVER. Background. HP Planar Systems Mentor Graphics – DFM Sridhar – Mentor Greg - Manager Calibre - YS. Work Conditions. Hours - 40 hours/week Wages – $21/hour Overtime – pre-approved. Projects.

sarila
Download Presentation

MECOP Internship August 2008

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MECOP InternshipAugust 2008 Kevin Jones SOFTWARE DEVELOPMENT INTERN CALIBRE – YIELD SERVER

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

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

  4. Projects KCJ, MECOP Internship, August 2008

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

  6. Projects & Tasks • Getting up to speed… • C++ • Basics of Application Specific Integrated Circuits • Calibre products • TCL, TK, and C APIs • Perl KCJ, MECOP Internship, August 2008

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

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

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

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

  11. Projects & Tasks • Command Registry • Single line of text will: • Register the command with the TCL interpreter • Integrate the command with the help system • Possibly add it to an API for supported commands • Command completion • Object Registry • Generates code needed to create a new TCL type • 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

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

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

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

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

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

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

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

  19. Internship Differences • Planar Systems • Small company with minimal facilities • Software team in a hardware company • Windows; C# development; single target platform • 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

  20. KCJ, MECOP Internship, August 2008

More Related