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
Oct 23, 2020
The Covid-19 pandemic continues to impact our lives in both expected and unexpected ways. Unfortunately, one of the expected ways is a drop in charitable donations. Analysts predict anywhere from a 6% decrease '€“ with many planning for a bigger decline than that. Also, mor...
Oct 23, 2020
[From the last episode: We noted that some inventions, like in-memory compute, aren'€™t intuitive, being driven instead by the math.] We have one more addition to add to our in-memory compute system. Remember that, when we use a regular memory, what goes in is an address '...
Oct 23, 2020
Any suggestions for a 4x4 keypad in which the keys aren'€™t wobbly and you don'€™t have to strike a key dead center for it to make contact?...
Oct 23, 2020
At 11:10am Korean time this morning, Cadence's Elias Fallon delivered one of the keynotes at ISOCC (International System On Chip Conference). It was titled EDA and Machine Learning: The Next Leap... [[ Click on the title to access the full blog on the Cadence Community ...

featured video

Demo: Low-Power Machine Learning Inference with DesignWare ARC EM9D Processor IP

Sponsored by Synopsys

Applications that require sensing on a continuous basis are always on and often battery operated. In this video, the low-power ARC EM9D Processors run a handwriting character recognition neural network graph to infer the letter that is written.

Click here for more information about DesignWare ARC EM9D / EM11D Processors

featured paper

An engineer’s guide to autonomous and collaborative industrial robots

Sponsored by Texas Instruments

As robots are becoming more commonplace in factories, it is important that they become more intelligent, autonomous, safer and efficient. All of this is enabled with precise motor control, advanced sensing technologies and processing at the edge, all with robust real-time communication. In our e-book, an engineer’s guide to industrial robots, we take an in-depth look at the key technologies used in various robotic applications.

Click here to download the e-book

Featured Chalk Talk

Amplifiers & Comparators Designed for Low Power, Precision

Sponsored by Mouser Electronics and ON Semiconductor

When choosing amplifiers and comparators for low-power, high-precision applications, it pays to have a broad understanding of the latest technology in op amps. There are new types of devices with significant advantages over the traditional go-to parts. In this episode of Chalk Talk, Amelia Dalton chats with Namrata Pandya of ON Semiconductor about choosing the best op amp for your application.

Click here for more information about ON Semiconductor High Performance CMOS Operational Amplifiers