Image

Streamlining Heterogeneous System Design

March 29, 2007
A graphical model-based approach hides underlying complexity.

Complex homogeneous systems are common in server environments that use symmetrical multiprocessing (SMP) or clusters of similar platforms. Yet complex embedded systems frequently incorporate different and even unique platforms.

When it comes to designing systems and software for heterogenous systems, designers often need a multitude of tools designed for each platform within the system. Reducing the support software and number of tools can simplify the problem as well as minimize the number of interface points at all levels.

Unfortunately, simply using two or more integrated development environments (IDEs) and programming languages means that developers still must contend with differences not only between the target platforms but also between the tools.

A Model Of Complexity
Model-based graphical design tools (see figure) can span the differences in target complexity in a heterogenous system. This minimizes the expertise and time required of developers, enabling them to concentrate on the application aspects of the design.

Hierarchical models allow implementation-specific details to be moved down the hierarchy, but this means a submodel often may span more than one target platform. If the modeling system is generating application artifacts such as C code, in theory, it then is up to the modeling system to handle the target platform differences.

The model system can provide advantages as well as disadvantages in handling these differences. While developers may be able to translate a model to application code for the desired targets, the number of supported targets may be limited. No tool supports all arbitrary targets. Also, a developer's ability to add support for a new target varies depending on the tool that's used and the developer's time and expertise.

A Single Model To Rule Them All
Still, model-based graphical design offers a significant advantage since a model can be used to generate support for different targets. Likewise, designers usually can adjust how a model is mapped onto target platforms. For example, one target of a heterogeneous system might be an FGPA. Change the type of chip used, and more of the model may fit into the FPGA. Split another way, the model may map across multiple microcontrollers. Regardless of the targets, the same model can be used.

View the pdf.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!