scispace - formally typeset
Search or ask a question
Author

Ralf Niemann

Bio: Ralf Niemann is an academic researcher. The author has contributed to research in topics: Software & Hardware architecture. The author has an hindex of 4, co-authored 7 publications receiving 375 citations.

Papers
More filters
Journal ArticleDOI
TL;DR: The paper presents an algorithm using integer programming for solving the hardware/software partitioning problem leading to promising results.
Abstract: One of the key problems in hardware/software codesign is hardware/software partitioning This paper describes a new approach to hardware/software partitioning using integer programming (IP) The advantage of using IP is that optimal results are calculated for a chosen objective function The partitioning approach works fully automatic and supports multi-processor systems, interfacing and hardware sharing In contrast to other approaches where special estimators are used, we use compilation and synthesis tools for cost estimation The increased time for calculating values for the cost metrics is compensated by an improved quality of the values Therefore, fewer iteration steps for partitioning are needed The paper presents an algorithm using integer programming for solving the hardware/software partitioning problem leading to promising results

167 citations

Proceedings ArticleDOI
11 Mar 1996
TL;DR: The paper shows that using integer programming to solve the hardware/software partitioning problem is feasible and leads to promising results.
Abstract: One of the key problems in hardware/software codesign is hardware/software partitioning. This paper describes a new approach to hardware/software partitioning using integer programming (IP). The advantage of using IP is that optimal results are calculated respective to the chosen objective function. The partitioning approach works fully automatic and supports multi-processor systems, interfacing and hardware sharing. In contrast to other approaches where special estimators are used, we use compilation and synthesis tools for cost estimation. The increased time for calculating the cost metrics is compensated by an improved quality of the estimations compared to the results of estimators. Therefore, fewer iteration steps of partitioning will be needed. The paper will show that using integer programming to solve the hardware/software partitioning problem is feasible and leads to promising results.

130 citations

Book
31 Oct 1998
TL;DR: The different tasks of hardware/software co- design including system specification, hardware/ software partitioning, co-synthesis and co-simulation are introduced and state-of-the-art co-design tools and methods for these tasks are summarized.
Abstract: From the Publisher: Hardware/Software Co-Design for Data Flow Dominated Embedded Systems introduces the different tasks of hardware/software co-design including system specification, hardware/ software partitioning, co-synthesis and co-simulation. The book summarizes and classifies state-of-the-art co-design tools and methods for these tasks. In addition, the co-design tool COOL is presented which solves the co-design tasks for the class of data-flow dominated embedded systems." "In Hardware/Software Co-Design for Data Flow Dominated Embedded Systems the primary emphasis has been put on the hardware/software partitioning and the co-synthesis phase and their coupling. In contrast to many other publications in this area, a mathematical formulation of the hardware/software partitioning problem is given. This problem formulation supports target architectures consisting of multiple processors and multiple ASICs. Several novel approaches are presented and compared for solving the partitioning problem, including an MILP approach, a heuristic solution and an approach based on genetic algorithms." "Hardware/Software Co-Design for Data Flow Dominated Embedded Systems is intended to serve students and researchers working on hardware/software co-design. At the same time the variety of presented techniques automating the design tasks of hardware/software systems will be of interest to industrial engineers and designers of digital systems.

74 citations

Proceedings ArticleDOI
26 Oct 1994
TL;DR: This contribution focuses on software synthesis for partitioned system behavioral descriptions by compiling the behavioral descriptions onto standard processors using target-specific compilers and presents different schemes for DSP code generation using the MSSQ microcode generator.
Abstract: Efficient embedded DSP system design requires methods of hardware/software codesign. In this contribution we focus on software synthesis for partitioned system behavioral descriptions. In previous approaches, this task is performed by compiling the behavioral descriptions onto standard processors using target-specific compilers. It is argued that abandoning this restriction allows for higher degrees of freedom in design space exploration. In turn, this demands for retargetable code generation tools. We present different schemes for DSP code generation using the MSSQ microcode generator. Experiments with industrial applications revealed that retargetable DSP code generation based on structural hardware descriptions is feasible, but there exists a strong dependency between the behavioral description style and the resulting code quality. As a result, necessary features of high-quality retargetable DSP code generators are identified.

6 citations


Cited by
More filters
Journal ArticleDOI
01 Mar 1997
TL;DR: Co-design issues and their relationship to classical system implementation tasks are discussed to help develop a perspective on modern digital system design that relies on computer aided design (CAD) tools and methods.
Abstract: Most electronic systems, whether self contained or embedded, have a predominant digital component consisting of a hardware platform which executes software application programs. Hardware/software co-design means meeting system level objectives by exploiting the synergism of hardware and software through their concurrent design. Co-design problems have different flavors according to the application domain, implementation technology and design methodology. Digital hardware design has increasingly more similarities to software design. Hardware circuits are often described using modeling or programming languages, and they are validated and implemented by executing software programs, which are sometimes conceived for the specific hardware design. Current integrated circuits can incorporate one (or more) processor core(s) and memory array(s) on a single substrate. These "systems on silicon" exhibit a sizable amount of embedded software, which provides flexibility for product evolution and differentiation purposes. Thus the design of these systems requires designers to be knowledgeable in both hardware and software domains to make good design tradeoffs. The paper introduces various aspects of co-design. We highlight the commonalities and point out the differences in various co-design problems in some application areas. Co-design issues and their relationship to classical system implementation tasks are discussed to help develop a perspective on modern digital system design that relies on computer aided design (CAD) tools and methods.

469 citations

Journal ArticleDOI
TL;DR: Two Mixed Integer Linear Programming (MILP) approaches to generate configurable square-based fiducial marker dictionaries maximizing their inter-marker distance are proposed.

415 citations

Book
01 Jan 2003
TL;DR: Embedded System Design can be used as a text book for courses on embedded systems and as a source which provides pointers to relevant material in the area for PhD students and teachers.
Abstract: Until the late eighties, information processing was associated with large mainframe computers and huge tape drives. During the nineties, this trend shifted towards information processing with personal computers, or PCs. The trend towards miniaturization continues. In the future, most of the information processing systems will be quite small and embedded into larger products such as transportation and fabrication equipment. Hence, these kinds of systems are called embedded systems. It is expected that the total market volume of embedded systems will be significantly larger than that of traditional information processing systems such as PCs and mainframes. Embedded systems share a number of common characteristics. For example, they must be dependable, efficient, meet real-time constraints and require customized user interfaces (instead of generic keyboard and mouse interfaces). Therefore, it makes sense to consider common principles of embedded system design. Embedded System Design starts with an introduction into the area and a survey of specification languages for embedded systems.A brief overview is provided of hardware devices used for embedded systems and also presents the essentials of software design for embedded systems. Real-time operating systems and real-time scheduling are covered briefly.Techniques for implementing embedded systems are also discussed, using hardware/software codesign. It closes with a survey on validation techniques. Embedded System Designcan be used as a text book for courses on embedded systems and as a source which provides pointers to relevant material in the area for PhD students and teachers. The book assumes a basic knowledge of information processing hardware and software.

390 citations

Journal ArticleDOI
TL;DR: Two heuristics for hardware/software partitioning, formulated as a graph partitioning problem, are presented: one based on simulated annealing and the other on tabu search, and results show the clear superiority of thetabu search based algorithm.
Abstract: This paper presents two heuristics for automatic hardware/software partitioning of system level specifications. Partitioning is performed at the granularity of blocks, loops, subprograms, and processes with the objective of performance optimization with a limited hardware and software cost. We define the metric values for partitioning and develop a cost function that guides partitioning towards the desired objective. We consider minimization of communication cost and improvement of the overall parallelism as essential criteria during partitioning. Two heuristics for hardware/software partitioning, formulated as a graph partitioning problem, are presented: one based on simulated annealing and the other on tabu search. Results of extensive experiments, including real-life examples, show the clear superiority of the tabu search based algorithm.

288 citations

Journal ArticleDOI
TL;DR: The paper presents an algorithm using integer programming for solving the hardware/software partitioning problem leading to promising results.
Abstract: One of the key problems in hardware/software codesign is hardware/software partitioning This paper describes a new approach to hardware/software partitioning using integer programming (IP) The advantage of using IP is that optimal results are calculated for a chosen objective function The partitioning approach works fully automatic and supports multi-processor systems, interfacing and hardware sharing In contrast to other approaches where special estimators are used, we use compilation and synthesis tools for cost estimation The increased time for calculating values for the cost metrics is compensated by an improved quality of the values Therefore, fewer iteration steps for partitioning are needed The paper presents an algorithm using integer programming for solving the hardware/software partitioning problem leading to promising results

167 citations