Dissertation thesis

System for Hardware-Software Co-Design

Karel Masak

Application specific instruction set processors (ASIPs) create a core of embedded systems. The area of hardware/software co-design deals with the design of ASIPs whereas area explores the design space for the given task based on several criteria (price, consumption, chip size, etc.). The success of the exploration phase is influenced with an existence of a proper architecture model. Software tools for programming and simulation of the ASIP together with a hardware implementation in hardware description language can be generated based on the ASIP model, which is described using architecture description language. After a creation of the hardware implementation, the question of the equivalence between the implementation and software tools has to be answered - is it possible to use software tools for a programming of the real hardware and does the simulator behave according to the hardware? In this work, a system was introduced, which deals with mentioned steps of the design and which tries to provide a solution for the equivalence checking problem.

Advanced Methods of Microprocessor Simulation

Zdenk Pikryl

Embedded systems have become indivisible part of our everyday activities. They are dedicated devices performing a particular job. A computing core of more complicated embedded systems is formed by one or more application-specific instruction set processor. Therefore, powerful tools for processors development are necessary. One of the most important phases is the testing and optimization phase of the processor design and target software. In the testing phase, the most often used tool is a simulator. The simulator can discover bugs in the processor design and target software before the embedded system realization. This thesis describes several advanced methods of processor simulation, which can be used in the different phases of processor development; from the fast simulation of the early design to detailed simulation of the hardware realization. In the optimization phase, the most frequently used tool is a profiler. The profiler can uncover problematic parts, such as bottleneck points, in the processor design or in target software. Then, using the results from the profiler, the designer can easily find which parts of the processor design or target software should be modified to get a better performance or reduce the power-consumption. In this thesis, two methods of profiling are described; the first one is useful for processor design optimization and the second one is useful for target software optimization. Furthermore, the ways how to simulate and profile multiprocessor systems are also described in this thesis. The processor or multiprocessor system is designed using architecture description language.


Project's outputs.