Quantcast
Channel: Cadence Blogs
Viewing all articles
Browse latest Browse all 6660

TI and UI: Texas Instruments' Experience with the Common User Interface

$
0
0
Cadence's tools Genus, Innovus, and Tempus have a lot of functionality in common. For example, they all contain the same timing engine, and a database, and constraints. One thing that they don't have is a common user interface (UI). This is due to their development by different teams, and also when the new "-us" tools were developed, there was a strong requirement to maximize backward compatibility with their prior incarnations (such as EDI) to keep the barriers to adoption low. But this means that the commands to do the same thing in different tools are very different. For example, to find an instance: Genus: find / -instance *myinst* Innovus: dbGet top.insts.name *myinst* The lack of a common UI means extra work learning the different commands, and duplicated flow development when creating flows or sub-flows that do the same thing in different tools. Users also tend to learn how to use the basics of each tool, but don't learn how to use the more advanced features as they would if those advanced features were accessed the same way in all tools. Cadence has had a common UI project that they have been working on with Texas Instruments (TI) since 2013. There have been weekly calls, collaborative brainstorming, 15 engineering builds, and over 200 CCRs (Cadence Change Requests, a euphemism for bugs) fixed. Bob Sussman of TI presented at CDNLive on their experience porting a 50,000-line flow from the legacy UIs to the common UI. Currently the common UI encompasses Genus, Innovus, and Tempus. In the future, Voltus and Joules will also support it. Before anyone panics, Jason Dlugosch, the Cadence product manager for the common UI, emphasized that we will support both UIs, there won't be a sudden cutover. In fact, it is possible to run large sections of code in the common UI using the legacy UIs, allowing porting to proceed incrementally. First, what is the common UI? Common objects and attributes Common commands for db access Common tool configuration Common reports (only report_timing so far) Common flows and metrics But it is just a UI, it is not: Merged tools A common database 100% code sharing across tools 100% alignment of commands, objects, and attributes A change in optimization engines, the equivalent commands should get the same QoR as before Completed yet The flow, called CCX, that TI ported is a digital block flow that goes seamlessly from synthesis to signoff. It supports a somewhat generic flow that supports a wide range of processes and design styles. There are 50 users in IP and physical design (PD). It consists of 50K lines of TCL code. The tools that support the common UI have two TCL command interpreters for the two UIs. There are also commands that give translations from legacy to common UI commands. TI started by rethinking all code to see where they could take advantage of the common UI. In particular, they looked for code that could be merged when using the common UI. Then they ported it all at once. In total, it was about one man-year. Since they uncovered 200 CCRs during the port, they expect future ports to go faster. To help in the port, TI created a Linter that checks for legacy structures in ported code. One problem is that not all commands occur in scripts. They can also occur in other places. For example, it is possible to put pragmas (in effect, commands) into the RTL code to direct synthesis. Some commands are not supported in the common UI and so tests need to be added to check if the common UI is being used and select the appropriate command. The conclusions: Many improvements in usability Successfully ported a major flow Not yet complete (Voltus and Joules still to come, most reports still to come, limited production still) BUT reached the point that it is usable, far more upside than downside A friendly gotcha Bob left everyone with: Genus has the common UI as default (I don't think it has a legacy UI), but Innovus and Tempus do not. So don't forget to say "innovus -common_ui" and "tempus -common_ui". Congratulations to Bob. At the end of the show, this presentation won the best paper award for the Digital Implementation / Advanced Node track. Here is a picture of Craig Cochran announcing his award, and the award is in one of the white boxes on top of the Mac, but Bob was already on a plane back to Dallas, so no picture of him actually receiving his award. Previous: Qualcomm Looks to the Future: Steve Mollenkopf's CDNLive Keynote

Viewing all articles
Browse latest Browse all 6660

Trending Articles