|
|||||
| Embedded System Design | Department of Computer Science | University of Dortmund | |||
ResearchThe scope of LS 12 is computer engineering. Research at LS XII covers
different areas in computer-aided design (CAD) of digital integrated circuits
and systems. Emphasis is on high levels of abstraction and the use of programmable
components.
The use of embedded processors poses new challenges for software compilers, because real-time constraints and limited silicon area for program memories demand for extremely efficient machine code. Current compiler technology does not meet these demands. In particular, this holds for the area of digital signal processing (DSP) where application-specific processors with peculiar instruction sets are predominant. As a consequence, the largest part of DSP software is still developed manually at the assembly-language level. Our research efforts aim at eliminating this bottleneck by providing novel compiler technology and tools that permit the use of compilers also for embedded system design. We are developing novel code generation and optimization techniques, with emphasis on DSPs, which are capable of generating high-quality machine code. In addition, we are working on methods for model-based retargetable compilation. Our research has led to a total of four books, published in 1995, 1997, 2000 and 2001, respectively. The building blocks os today's embedded systems-on-a-chip (SoC) are complex IP components and programmable processor cores. This means that more and more system functionality is implemented in software rather than in custom hardware motivating the need for highly optimized embedded software. The source code optimization techniques developed at LS XII focus on the application of optimizations outside a compiler at the source code level. LS XII research in this domain covers the following areas:
For more detailed information, click here. For more detailed information, click here. For portable information processing equipment, low energy consumption is extremely important. This importance will continue since only small improvements are expected for battery technologies. Due to the cost of cooling, power supplies and packages, low energy consumption is also important for non-portable equipment. At LS 12, we are exploring the extent to which compilers can contribute towards a reduced energy consumption of software. The largest potential is in exploiting the memory hierarchy, but other opportunitiues exist as well. As an example, we have developed the encc energy aware compiler for ARM processors. Previous research topics include the following:
The term "behavioral synthesis" (or "high-level synthesis") denotes the (at least partially) automated generation of the internal structure of a microelectronic system using components of the register-transfer (RT) level. Adders, memories, multiplexers and decoders are examples of such components. Behavioral synthesis is currently being introduced in industry in order to cope with the increasing complexity of designs and the need to reduce design times. The chairman of LS 12 was one of the first researchers who worked on high level synthesis. This work was stimulated by his former advisor, Gerhard Zimmermann, who was one of the inventors of behavioural synthesis. The work initially focussed on the MIMOLA project and was performed at the University of Kiel, Germany. The most recent version of the MIMOLA hardware description language as well as the corresponding file exchange format TREEMOLA are available online: MIMOLA 4.1 Language Reference Manual, TREEMOLA 4.0 Language Reference Manual. The main goal of the behavioural synthesis work performed at Dortmund
is the integration of library components and the exploition of algebraic
properties of operations. A genetic algorithm has been designed which performs
this function. The main result of the research performed at Dortmund is
the OSCAR high-level synthesis system (see work by Landwehr et al click here
).
Many embedded systems are implemented as so-called systems-on-a-chip. Such chips include programmable processors as well as RAM, ROM and special hardware accelerators. The design of such chips requires a detailed analysis of the different design options, such as implementing certain behavior either in hardware or software. At LS 12, a HW/SW codesign tool named COOL has been developed, which supports this type of analysis as well as the overall design of such chips. A key feature of this tool is the precise modelling of cost and performance metrics and increased flexibility during processor selection. The fact that processors can be programmed can be exploited for running self-test programs on these. For mainframe computers, such programs are known as diagnostics. Generating diagnostics manually is a very tedious process. We have been working on tools which generate such diagnostics automatically from a description of the processor hardware and from test patterns to be applied to internal nodes at those processors. Early work into this direction includes the work by Gert Krueger. Later, Ulrich Bieker extended this idea, implementing key algorithms in a constraint logic programming language. The resulting RESTART tool is described in some publications. RESTART has also been coupled to a fault simulator and to test pattern generator DUST from the University of Duisburg. The combined system has been called STARDUST . In addition to the projects listed above, industrial development projects are performed at the co-operating embedded systems group at ICD |
| Embedded System Design | Department of Computer Science | University of Dortmund | |||
| last modified: January.13.2005 | [webmaster] |