Design partitioning and multi-threaded parallel execution are key features of the updated scripting interface to OpenAccess, the industry’s most widely used IC design database. oaScript Version 4.0—developed by programming experts in the Silicon Integration Initiative oaScript Working Group—leverages the powerful enhancements available to OpenAccess in its most recent Data Model 6 upgrade.
Marshall Tiner, Si2 director of Production Standards, stated, “oaScript 4.0 supports the new DM6 design partitioning capability, oaPartitions. This feature enables scripting support for multi-threading and parallel execution, and is particularly important for large designs running on cloud-scale hardware.
“oaPartitions allows an application to rapidly load design instances, shapes, or vias from a given partition without loading an entire design. An application can define partitions by any criteria the developer prefers—by geography, by layer, or even alphabetically. In addition to creating partitions, applications now have access to all of the OpenAccess classes needed to work with partitions, including the partition array class,” Tiner explained.
Flexible partitions can enhance multi-threading capabilities, helping avoid collisions between design-segregated threads. For example, an application could explicitly assign a dedicated thread to each design layer, virtually guaranteeing no thread collisions. “This is very significant for applications utilizing parallel execution techniques,” Tiner added.
“Our oaScript Working Group spent considerable time working through implementation details for optimal use in each supported scripting language,” Tiner said. “As this group is made up of top EDA developers in the industry, each from unique and sometimes competing companies, their ability to collaborate is a stellar example of the value our members bring to Si2, and the strengths Si2 brings to its members.”
Rudy Albachten of Intel, chair of the oaScript Working Group, said, “With improved support for the latest versions of Python and Ruby, along with continued support for perl and tcl, oaScript 4.0 gives developers easy access to the full capabilities of the OpenAccess database. I am very proud of the hard work from the multi-company collaborative working group, and excited to see interest in using oaScript for diverse applications—including AI with Tensor Flow, using oaScript in the Anaconda platform, and usage in virtual machine environments. OaScript continues to enable designers and developers to quickly prototype custom tools. Enabling the new partitioning and multi-tasking capabilities of OpenAccess is an exciting new capability.”