Integrating algorithm-level design and system-level design through specification synthesis

Title:
Integrating algorithm-level design and system-level design through specification synthesis
Creator:
Zhang, Jiaxing (Author)
Contributor:
Schirner, Gunar (Advisor)
Schirner, Gunar (Committee member)
Leeser, M. (Miriam), 1958- (Committee member)
Kaeli, David R. (Committee member)
Publisher:
Boston, Massachusetts : Northeastern University, 2014
Date Accepted:
August 2014
Date Awarded:
August 2014
Type of resource:
Text
Genre:
Dissertations
Format:
electronic
Digital origin:
born digital
Abstract/Description:
Modern Multiprocessor System-On-Chip (MPSoC) designs face challenges in tremendous design complexity imposed by the wide range of functional requirements and versatile architectural platforms. The Electronic Design Automation (EDA) research has been striving to accelerate the creation, deployment and validation cycles from initial design modeling to final system delivery. However, establishing a universal, automatic and rapid design flow from concept modeling to heterogeneous implementations with synthesis, optimization and exploration capability remains an open challenge due to the overwhelming complexity, vastly different abstractions, and market adaptability and usability.

This thesis introduces a specification synthesis approach that joins two design methodologies, Algorithm-Level Design (ALD) and System-Level Design (SLD), to establish a new Algorithm-Architecture Co-design flow. We designed and implemented an algorithm-to-specification synthesizer: Algo2Spec, which out of an algorithm model captured in ALD, such as Simulink, synthesizes into an SLD languages (SLDL) specification (e.g. SpecC/SystemC) enabling SLD exploration. Expanding the rich sets of SLD facilities into higher abstraction levels in ALD forms a new joint co-design methodology. The new flow seamlessly spans from the Simulink environment down to heterogeneous implementations crossing multiple abstractions. Our tools empower designers to construct, simulate, validate, explore, and deploy models in rapid feedback cycles. Our results illustrated the opportunities and benefits of our approach on a set of real-world applications and showed a significantly shortened design time.

In addition, we explore new optimization opportunities emerged from the specification synthesis with respect to Design Space Exploration (DSE) and software synthesis. We have identified several DSE challenges, such as selecting a suitable model granularity to balance the model mapping flexibility, specification quality as well as synthesis constraints (i.e. computation/communication efficiency and scheduling). We design two heuristics to address these challenges to reduce the DSE complexity while increase the overall performance efficiency. Moreover, once model-to-platform mapping is known, Algo2Spec allows to generate specifications with maximized computation efficiency and reduced communication overhead.

As both ALD and SLD incorporate the principles of the component-based design, a certain degree of modeling flexibility, gained by using abstracted component compositions, appears in both domains. However, such beneficial flexibility becomes overhead once the model, passing high-level modeling and exploration periods, enters the back-end synthesis phase. In software synthesis, such flexibility comes at a cost of run-time call site resolution. We investigated into the impeded performance in current embedded software synthesis from SLDL specifications. Our results show that by eliminating unnecessary flexibility overhead such as dynamic dispatch, the SLDL-to-C compiler achieved better performance on embedded processors, improved readability, and debuggability compare to current solutions.

The outcome of the work greatly simplifies the Algorithm-Architecture Co-design with new tools, methodologies, and optimizations. The thesis has demonstrated how the new design flow and methods can deeply enhance current algorithm design solutions to leverage the vastly available computing power in today's heterogeneous architectures.
Subjects and keywords:
design automation
simulink
specC
specification synthesis
systemC
system-level optimizations
Computer Engineering
Computer Sciences
SIMULINK
Systems on a chip -- Design
Embedded computer systems -- Design
Multiprocessors -- Design
System design -- Computer simulation
SpecC (Computer program language)
DOI:
https://doi.org/10.17760/d20128376
Permanent URL:
http://hdl.handle.net/2047/d20128376
Use and reproduction:
In Copyright: This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the right-holder(s). (http://rightsstatements.org/vocab/InC/1.0/)
Copyright restrictions may apply.

Downloads