feature article
Subscribe Now

Math Works Harder

MATLAB Upgrades Boost Design Creation

“Verilog and VHDL are the most natural and efficient ways for me to express my design intent.”  — No one. Ever.

Whether we’re doing FPGA or ASIC design, or programming the latest DSP, most of us don’t start out our project with regular hardware description languages. In fact, if we’re developing or tuning an algorithm, or if we’re somehow applying math to our problem, a great many of us do the early work in MATLAB. It makes sense. For translating mathematical ideas into specific algorithms, and verifying the performance of those algorithms on early data sets, MATLAB is worlds more productive than jumping straight into the design of hardware, or even into C/C++ coding.

But, as effective as MATLAB is as an electronic design tool, it has many other roles to fill – from helping students with physics homework to analyzing railroad bridges. Because of that breadth, it can be easy to forget that it’s one of our most powerful and valuable design automation tools – even though it doesn’t come from a traditional EDA company.

MathWorks as an EDA player is an interesting story. Of course, we all know MATLAB as a power tool for “people who do math.” That’s a pretty big swath, it turns out. A few years ago, the company noticed that MATLAB was really popular among a particular high-value set of customers (that would be all of us in the electronic engineering world), and that those customers would pay big bucks for high-value tools. At that time, MATLAB pricing was something like a 3-digit number. So, the company did what any of us would do when we find out our 3-digit product is really popular with a 6-digit crowd – they made a gold-plated, autographed, limited edition!

OK, not really. They actually did something much more helpful than that. They worked really hard to understand the challenges that were faced by electronic designers, and they augmented their offering to cater specifically to that crowd. Soon, people were prototyping DSP designs with Simulink, generating HDL code automatically to feed into FPGA and ASIC design flows, and generally using MathWorks products as the front-end of their development process. It’s possible that this didn’t sit that well with traditional EDA companies who were engaged in a decades-long battle to “own” the front end of the design flow. Just when EDA thought they knew the rules of the game, a new kid came in and started breaking their assumptions.

Because MathWorks is still well aware that even the venerable MATLAB is an EDA tool, the company spends a considerable amount of time and resources making sure that their suite of solutions – from MATLAB to Simulink (as well as all of the model-based design plug-ins and IP) are up to the task of supporting the electronic design flow.

Usually, we write about the more engineering-specific aspects of the MathWorks arsenal such automatic HDL generation or Simulink features, but the latest version of MATLAB, Release 2016a, has some nice improvements that could come in really handy on your next design project.

First on the list is a new “Live Editor” that brings code development, execution, and debugging/analysis all into one environment. Cross-probing is built in that correlates output with the code that caused it, much like we’re used to with trace windows in HDL simulators. Results and graphics are shown adjacent to the code that generated them so we can find that, uh, one little thing we messed up – much faster than in the past. Live Editor also creates a seamless environment for documentation and coding that allows hypertext, equations (translated into real mathematical notation, even), images, and hyperlinks to be merged into a single narrative document that is simultaneously documentation, source code, and results.

Behind the scenes, there is a whole new graphics system behind MATLAB that gives an improved look to the output with a new default colormap and line colors as well as clean-ups such as anti-aliased fonts and lines. The company says the new subsystem makes the graphics easier to customize, and it has an array of new features for customizing output – including polar plots, multiple y-axis plots, and various functions for plotting expressions and equations.

Second, maybe less relevant in the typical electronic design flow, is a new “App Designer” that dramatically simplifies the process of developing a reusable app from your MATLAB creation. App Designer includes a library of handy UI widgets and an object-oriented environment that make quick work of turning code into a real app. Apps can be exported, shared, and even executed by people who don’t have MATLAB installed.

Third, and maybe most significant for some of us, MATLAB is considerably faster, both in raw execution speed (the company says it benchmarks 40% faster on a suite of 76 performance-sensitive applications) and in overall productivity, owing to just-in-time compilation and the improved development environment. The company says many object-oriented features are faster, and even some element-wise operations have been sped up.

For those who wanted more performance because their program would go away for a LONG time crunching numbers, there is handy new “pause” button that stops execution wherever it happens to be at the moment, just as if you’d dropped a breakpoint at that spot. You can then do all of the expected break-pointy things like examine and set variables, single-step, and generally find out why the heck your code was taking so long. Oh, and then you can resume, of course, so you aren’t throwing away all the work it already did.

Finally, did you know that there was a repository handy for toolboxes, apps, functions, models, and hardware support packages – supplied both by MathWorks themselves and by the user community? Yeah, it turns out a lot of other people didn’t know that either. So, the company has created a new Add-On Explorer that will put that useful stuff front-and-center and make it easier to browse and locate things that will reduce your workload. Oh, and you can share stuff here too, if you’re a sharing kind of engineer.

On top of the major new features, there is a host of additional new toolboxes such as a Neural Network, Symbolic Math, Statistics and Machine Learning, Control Systems, Image Acquisition, and Trading (in case you’re using MATLAB for investment advice as well as electronic design). There is also a strong list of improvements to Simulink, including an automatic solver option, a capability for simulation of system models targeting Xilinx and Altera SoC FPGAs, and units to specify, visualize, and check units at interfaces of Stateflow and Simscape components. The Embedded Coder, HDL Coder, and HDL Verifier also boast some updates and upgrades.

Release 2016a is available now, so we’ll probably get busy installing our copy right away.

3 thoughts on “Math Works Harder”

  1. OK, good point. I was really comparing student/home pricing rather than industrial/commercial pricing there, so that was a bit of apples and education-priced oranges.

Leave a Reply

featured blogs
Jul 6, 2020
If you were in the possession of one of these bodacious beauties, what sorts of games and effects would you create using the little scamp?...
Jul 3, 2020
[From the last episode: We looked at CNNs for vision as well as other neural networks for other applications.] We'€™re going to take a quick detour into math today. For those of you that have done advanced math, this may be a review, or it might even seem to be talking down...
Jul 2, 2020
In June, we continued to upgrade several key pieces of content across the website, including more interactive product explorers on several pages and a homepage refresh. We also made a significant update to our product pages which allows logged-in users to see customer-specifi...

Featured Video

Product Update: New DesignWare® IOs

Sponsored by Synopsys

Join Faisal Goriawalla for an update on Synopsys’ DesignWare GPIO and Specialty IO IP, including LVDS, I2C and I3C. The IO portfolio is silicon-proven across a range of foundries and process nodes, and is ready for your next SoC design.

Click here for more information about DesignWare Embedded Memories, Logic Libraries and Test Videos

Featured Paper

Cryptography: How It Helps in Our Digital World

Sponsored by Maxim Integrated

Gain a basic understanding of how cryptography works and how cryptography can help you protect your designs from security threats.

Click here to download the whitepaper

Featured Chalk Talk

AVX Supercapacitors: PrizmaCap

Sponsored by Mouser Electronics and AVX

If your application requires a supercapacitor, there are a lot of options. You need the right form factor, temperature range, weight, and capacitance, of course. In this episode of Chalk Talk, Amelia Dalton chats with Eric DeRose of AVX about choosing the right supercapacitor and about PrizmaCap - a new supercapacitor with low height, high temperature, and lightweight.

Click here for more information AVX PrizmaCap™