With Synopsys announcing Synphony, a high-level design compiler that reads in MATLAB M code and generates RTL and some other useful outputs, and Mathworks listed in Gary Smith’s ESL 2009 Wallchart, I wonder if it doesn’t make sense to define MATLAB as an ESL language and Mathworks as an EDA player. Harry Gries provides a good overview in “Synopsys Synphony Synopsis” (say that three time fast)
Basically, Synopsys is introducing a high level synthesis (aka behavioral synthesis) product that takes as its input Matlab M-Code and produces RTL Code, a cycle accurate C-model, and a testbench for simulation.
Ron Wilson offers this assessment in “Synopsys introduces Matlab-to-RTL synthesis path for datapaths”
On the whole, it appears that Synphony is not intended to be a direct competitor to the other high-level synthesis tools in the industry, such as those from Cadence, Forte, or Mentor. Rather, it is an IP-library-based tool for converting M-files into fixed-precision models for Simulink, coupled to a synthesis engine to convert these fixed-point models into RTL datapath designs for input into Synplify or Design Compiler. It is a rather specialized tool, but a sorely needed bridge between the worlds of Matlab algorithm exploration and RTL development.
Mathworks has been attending DAC for many years, although it is not a member of EDAC [see below]. The Matlab language was also a supported input by AccelChip (now part of Xilinx) and Agility (now part of Mentor, although the tools for going from Matlab to C were sold to the Mathworks). These were some of the reasons that I had included the Mathworks blogs in my July 11 “EDA Bloggers 2009” list.
It would be interesting to see the Synopsys Interoperability Forum address Matlab interoperability at some point, they clearly have a significant stake in it with the Synphony announcement.
Sanjay Srivastava, the CEO of Denali, offered some excellent advice to startups in his Jul-23 “Can We Afford for Startups to Wind Down” (although he now is blogging on “A Conversation on Innovation” ) outlining two areas where startups have prospered in the last few years and one where they have not:
- New platform creation. Typically, this happens at the edges of an existing platform (at least in EDA). One of the mistakes we can make is in under-funding the creation of platforms because you are asking the customers to move to a whole new methodology, but they are only going to do it if the platform is complete. Leaving big gaps like “availability of models/libraries” can often render a promising platform useless. […]
- Provide components to a significantly growing platform. This is where lots of EDA startups have flourished since the last big disruption of synthesis. They provided point tools. The platform owners were growing and could afford to pay big premiums to improve parts of the flow or add to them. […]
- Improve components for mature platforms. This is the trap startups have been in for the last few years. […]
At first blush Matlab looks like a growing platform, at least in terms of the opportunities for full integration into established EDA flows. It’s not clear where all of the opportunities might lie, but a few come to mind:
- Timing analysis across Matlab, RTL, and gate
- Register management across Matlab, RTL, C, and design documentation
- Power management across Matlab, RTL, and gate
- Functional Partitioning into Chips / Floorplanning for Chips for Matlab, RTL, and gate
- High level synthesis tools: certainly Synphony offers a “proof by example” for Oasys and other next generation synthesis tools.
This is part of an ongoing series on “Growing the Pie in EDA”
- Getting Back to “Growing the Pie in EDA”
- Growing the Pie in EDA Part 2: As Revenue Shrinks So Does Analyst Interest
Update Mon Oct-19: Daniel Payne points out that Mathworks has historically been a member of EDAC even if they are not currently listed as a member. They are listed as a member on slide 29 of the January 14, 2009 presentation by Bob Gardner at the CEO Forecast and Industry Vision meeting. I will seek clarification from Mathworks and EDAC.
1 thought on “Growing the Pie in EDA, Part 3: Add MATLAB”
Pingback: SKMurphy, Inc. » Need Input on the Design Automation Conference