{"id":9459,"date":"2020-04-13T08:40:10","date_gmt":"2020-04-13T13:40:10","guid":{"rendered":"https:\/\/blogs.mathworks.com\/simulink\/?p=9459"},"modified":"2020-04-13T08:40:10","modified_gmt":"2020-04-13T13:40:10","slug":"whats-new-in-r2020a","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/simulink\/2020\/04\/13\/whats-new-in-r2020a\/","title":{"rendered":"What&#8217;s New in R2020a"},"content":{"rendered":"<p>R2020a is here... Time to highlight my favorite new Simulink features!\u201d <\/p>\n<p><strong>Editor Enhancements<\/strong><\/p>\n<p>As I said many times, I spend a good part of my life debugging and editing Simulink models. Anything that can save me a couple of clicks or can make the model more readable and understandable at first look has significant impact for me.<\/p>\n<p>To give you an overview of the improvements made to the Simulink Editor in R2020a, I put together the following animation where you should notice:<\/p>\n<ul>\n<li><strong>Flexible Port Placement:<\/strong> It is now possible to move ports to any side and in any order. This is possible for Subsystem, Subsystem Reference, Model block and Stateflow<\/li>\n<li><strong>Port Name Propagation:<\/strong> Notice that when I connected the output named \"Voltage\" from block1 to block2, the newly created port on Block2 was automatically named \"Voltage\" too.<\/li>\n<li><strong>Block name on any side of blocks:<\/strong> With flexible port placement, we thought it was a must to also allow placing the block name on any side of blocks<\/li>\n<li><strong>Display port number:<\/strong> When I create a new connection from Block3 to Block2, the label is \"1\". We think it is more useful than the default port name \"In1\". As soon as you rename the Inport\/Outport block, we automatically begin to display the port name.<\/li>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/simulink\/2020Q2\/EditorEnhancements.gif\" alt=\"Editor enhancements in R2020a\" \/><\/p>\n<p><strong>Simulink Profiler<\/strong><\/p>\n<p>Another activity where I spend a lot of my time is helping users figure out if their Simulink models could run faster. For that, I have a set of tools I heavily depends on: <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2019b\/simulink\/ug\/consult-the-performance-advisor.html\">Performance Advisor<\/a>, <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2020a\/matlab\/matlab_prog\/profiling-for-improving-performance.html\">MATLAB Profiler<\/a>, <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2020a\/simulink\/slref\/solverprofiler.html\">Solver Profiler<\/a>, s<a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2020a\/simulink\/slref\/sldiagnostics.html\">ldiagnostics<\/a>, and of course the <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2020a\/simulink\/slref\/simulinkprofiler.html\">Simulink Profiler<\/a>.<\/p>\n<p>One complaint I often heard from users about the Simulink Profiler in previous versions is that it was too \"engine-oriented\" and was not exposing results in the way users see their models.<\/p>\n<p>In R2020a, we heard you and we decided to completely re-design the Simulink Profiler. The results are now displayed in-canvas and are organized following the model hierarchy; here is an example where I profiled the <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2020a\/driving\/examples\/lane-following-control-with-sensor-fusion-and-lane-detection.html\">Lane Following Control with Sensor Fusion and Lane Detection example<\/a> from the <a href=\"https:\/\/www.mathworks.com\/products\/automated-driving.html\">Automated Driving Toolbox<\/a><\/p>\n<p><a href=\"https:\/\/blogs.mathworks.com\/images\/simulink\/2020Q2\/profilerLarge.png\"><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/simulink\/2020Q2\/profilerSmall.png\" alt=\"Simulink Profiler\" \/><\/a><\/p>\n<p><em><a href=\"https:\/\/blogs.mathworks.com\/images\/simulink\/2020Q2\/profilerLarge.png\">Click to enlarge<\/a><\/em><\/p>\n<p>This new profiler offers bi-directional navigation between the model and the profiler report, and if you have the property inspector opened and select a block in the list, you will get additional information on this block's individual methods. For those who will miss the previous profiler, no worries- there is a way to toggle between the new model hierarchy view and an execution view that is ordered in a way similar to the previous profiler HTML report.<\/p>\n<p><strong>64-bit integer data types<\/strong><\/p>\n<p>Before R2020a, if you needed to deal with fixed-point types larger than 32 bits, you needed a license for the <a href=\"https:\/\/www.mathworks.com\/products\/fixed-point-designer.html\">Fixed-Point Designer<\/a>. In R2020a, Simulink and Stateflow now supports 64-bit integer data types.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blogs.mathworks.com\/images\/simulink\/2020Q2\/64bitInteger.png\" alt=\"64-bit integers\" \/><\/p>\n<p><With applications requiring more and more accuracy, we hope you will enjoy this new addition.\/p><\/p>\n<p><strong>Simulink Compiler<\/strong><\/p>\n<p>The Simulink family has a new product: <a href=\"https:\/\/www.mathworks.com\/products\/simulink-compiler.html\">Simulink Compiler<\/a>.<\/p>\n<p>I am not going to say too much in this post because I have a post dedicated to Simulink Compiler coming soon, but in short, it allows you to share Simulink simulations as standalone executables. We support most formats supported by <a href=\"https:\/\/www.mathworks.com\/products\/compiler.html\">MATLAB Compiler<\/a>, plus generating a standalone <a href=\"https:\/\/fmi-standard.org\/\">Functional Mockup Unit<\/a>.<\/p>\n<p>I recommend visiting the <a href=\"https:\/\/www.mathworks.com\/products\/simulink-compiler.html\">product page<\/a> for more details.<\/p>\n<p><strong>Now it's your turn<\/strong><\/p>\n<p>Visit the <a href=\"https:\/\/www.mathworks.com\/help\/releases\/R2020a\/simulink\/release-notes.html\">R2020a release notes<\/a> and let me know in the comments below if there are features you would like me to describe on this blog.<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img decoding=\"async\"  class=\"img-responsive\" src=\"https:\/\/blogs.mathworks.com\/images\/simulink\/2020Q2\/64bitInteger.png\" onError=\"this.style.display ='none';\" \/><\/div>\n<p>R2020a is here... Time to highlight my favorite new Simulink features!\u201d<br \/>\nEditor Enhancements<br \/>\nAs I said many times, I spend a good part of my life debugging and editing Simulink models. Anything that... <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/simulink\/2020\/04\/13\/whats-new-in-r2020a\/\">read more >><\/a><\/p>\n","protected":false},"author":41,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16],"tags":[597],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts\/9459"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/comments?post=9459"}],"version-history":[{"count":15,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts\/9459\/revisions"}],"predecessor-version":[{"id":9493,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/posts\/9459\/revisions\/9493"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/media?parent=9459"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/categories?post=9459"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/simulink\/wp-json\/wp\/v2\/tags?post=9459"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}