The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Experiences and Progress with OpenAccess at LSI OpenAccess Interoperability Workshop March 3, 2003 Donald Amundson, Khosro Khakzadi, Scott Peterson LSI Logic
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ LSI OpenAccess 2002 Projects GDS Importer Translates GDS -> OpenAccess Viewer Graphical viewer of physical design data Python for OpenAccess Python extensions for using the OpenAccess API Donated to Si2, available off OpenEDA.org
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Development Environment Multiple Platforms Windows 2000 Primary Development SunOS 5.8 Primary Target Linux Future Target Single Source Code Internal CVS Repository wxWindows Graphics Package
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ GDS Importer Testcases SmallMediumLarge GDS File Size534 KB98MB212MB # of Cells OA Disk Space215 KB33 MB67 MB # Object in Top Cell ,586461,379 # Insts in Top Cell ,667201,715
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Viewer Summary Generic Platform for adding viewer Three initial types: Command, DataBase, File Tcl based command language All actions are scriptable All menus and toolbars configurable
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Viewer Command Summary Full set of Zoom and Pan commands Select and Report commands Implemented with OA Extensions Display Attribute commands Color and Fill patterns Data Persistently saved using OA Extensions Multiple window support
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Viewer Performance Laptop PC Desktop PC Sun Workstation Machine1.2 Ghz1.7 Ghz450 Mhz Ultra-60 # Drawn Objects per second 51,000136,00045,000 # Inst Selected per second 382,000365,000105,000 # Rects Select per second 641,000543,000165,000 Performance based on Medium testcase Used wall time measurements on idle machine
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Python for OpenAccess The API is large Need to auto-generate the extension code Goals Each OA type be a real Python type Generate code directly from header files Reduce maintainance with code updates Python API to match C++ API as much as possible API Header Files Hint Information Code Generator Extension Code
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Python for OpenAccess Almost the entire OA API is available Each OA class is a Python Type OA member functions are Python members Templated Extension objects Virtual functions on oaRegionQuery and Callback classes API enhancements oaIter is translated to a Python iterator type. Details of the mapping are in the documentation
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ LSI OpenAccess 2003 OpenAccess V2 Updated Python Interface Additional capability Documentation oaTracer application Converting internal translators Verilog In/Out GDS2 In/Out Adding additional features to Graphical Viewer Printing / Plotting capability Usability features Pop-up help messages
The System on a Chip Company ® LSI LOGIC LSI LOGIC 2/11/ Summary Future Work Convert additional internal translators Extend Graphical Viewer capabilities Edit features Embedded Python interface