The
MOLEN
theme
This project focuses on the investigation
of architectures that are associated with embedded processors. More specifically,
we investigate the possibilities of extending embedded processors, which
are becoming increasingly more general-purpose like, in order to improve
their performance in a specific application area. Examples of application
areas are multimedia processing (graphics, video, sound, text) and network
processing. In this project, a wide range of Master thesis subjects can
be found including (and not limited by) the following:
Problem statement:
The MOLEN architecture can be implemented on different Xilinx boards: the ML310 board
and the Xilinx University Program (XUP) board. Xilinx provide an embedded OS for their ML310
board but not to the XUP board. The student should investigate the possibilities of porting
the Linux Operating System into the XUP board with the MOLEN architecture inside.
Expected effort:
The student is expected to perform some literature research on the details of the
MOLEN architecture, embedded OS andthe XUP board (specifically the differences between this
board and the ML310). The student should then be able to understand the different steps needed
to port the OS into the MOLEN and the required changes to both the Linux kernel and the
hardware base system design. The student should have already knowledge on the Linux OS,
particularly on compiling kernels and kernel programming.
Contact person:
Filipa Duarte
Phone: 015-2785021
Email: F.Duarte (at) ewi.tudelft. nl
Interested? E-mail me! More information?
Problem statement:
Investigate, in particular for partial
reconfigurable hardware, the possibilities of converting a reconfiguration
file into reconfiguration microcode and develop a tool to automatically
perform this operation.
Expected effort:
The student is expected to perform some
literature research on both topics of microcode and synthesis for FPGAs.
The student should then be able to understand how reconfiguration files
are generated for partial reconfigurable hardware structures. Utilizing
this knowledge, a tool must be generated (using ANSI C programming) that
automatically generates reconfiguration microcode. The reconfiguration
microcode structure is not fixed, thus leaving the student the possibility
to define it.
Contact person:
Stephan Wong
Phone: 015-2781099
Email: J.S.S.M.Wong@ewi.tudelft.nl
Interested? E-mail
me! More information?
Problem statement:
Propose a hardware mechanism for solving
(avoiding) the data reordering problem for accessing 2D visual. Subsequently,
design the memory organization for the proposed mechanism and implement
it in a cost-effective manner.
Expected effort:
The student should design a memory organization
capable of accessing sub-matrices (blocks) of visual data out of 2D addressable
memory buffer. The thesis should include an investigation of different
memory organizations to solve the problem, a discussion of the trade-offs
involved and the criteria for the final solution. A cost-effective, scalable
design solution should be proposed, the choice should be well argued. More
specifically, the student is expected to: 1. Make a thorough exploration
of the problem and related literature and refine the initial design requirements
2. Propose (refer to) different design solutions 3. Establish criteria
for design evaluation and propose a cost-effective design solution 4. Implement
the design in HDL and validate it by simulations (or on an FPGA prototype
chip). Preliminary simulations indicate access times for some candidate
memory organizations implemented on FPGA in the range of 10-20 ns. The
final output of the thesis should be a complete scalable design of memory
organization implemented on platform FPGA (Xilinx VIRTEX II).
Contact person:
Georgi Kuzmanov
Phone: 015-278-7364
Email: G.Kuzmanov@et.tudelft.nl
Interested? e-mail
me! More informations?
Context:
The project involves the review of a number of standards
to establish the various functions required to do lossless compression of digital data.
(examples of these standards are gzip and zip.) These functions will be categorized, according
to their requirements in hardware. After this, an architecture for these functions should be
proposed and developed.
Finally, an implementation of the architecture should be proposed.
Contact person:
Georgi Gaydadjiev
Phone: 015-2786168
Email: georgi@ce.et.tudelft.nl
Interested? e-mail
me! More information?
Context:
Multimedia and telecommunication applications have particular computational needs
to be satisfied under real-time constraints and with low power consumption. To perform such
tasks, applications may use a large variety of hardware resources spanning from microprocessors
and digital signal processors to specialized functional units. For example, to improve performance
and fulfill the multimedia application requirements, recent general purpose microprocessors for
workstations and personal computers use special built-in hardware.
In this MS project we intend to select some computations that are specific to telecommunication
and multimedia applications, e.g., DCT, Huffman encoding, motion estimation, etc., and design
functional units to perform such tasks. High performance as well as low power consumption are the
main envisaged design constraints. We plan to follow the entire design trajectory from algorithm
to layout. The project will imply, apart of the chip design (from VHDL to layout), research effort
on improved algorithms and organizations for the selected tasks.
Contact person:
Georgi Gaydadjiev
Phone: 015-2786168
Email: georgi@ce.et.tudelft.nl
Interested? e-mail
me! More information?
Problem statement:
Investigate and specify a
co-processor that runs next to the MOLEN processor in handling
particular time-critical operations (specified during the project).
Expected effort:
The student is expected to perform
some literature research on both topics of microcode and synthesis for
FPGAs. The student should also familiarize himself with the synthesis
toolchain in order to implement the co-processor. Existing knowledge
on computer architectures, VHDL, and programming are advantageous to
this project.
Contact person:
Stephan Wong
Phone: 015-2781099
Email: J.S.S.M.Wong@ewi.tudelft.nl
Interested? E-mail
me! More information?
Problem statement:
Investigate and implement a hybrid
simulator that is able to combine the simulation of code running on
the general-purpose processor with (micro)'code' running on the
co-processor.
Expected effort:
The student is expected to perform
some literature research on topics of code simulation and investigate
applicability of existing tools (compilers, simulators, etc.).
Subsequently, a toolchain needs to be built to support the envisioned
hybrid simulator. Existing knowledge on computer architectures and
C programming are advantageous to this project.
Contact person:
Stephan Wong
Phone: 015-2781099
Email: J.S.S.M.Wong@ewi.tudelft.nl
Interested? E-mail
me! More information?
Doing a Master thesis in subjects that are not mentioned above are possible as long as they still fit inside the MOLEN project.
The field of embedded processor design is large in the sense that many (new) applications can be targeted. This results in having different embedded processors for different application areas. We are open to suggestions and the possibility exists that a Master thesis is done in a totally different application area than the two mentioned above.
Context:
Smaller feature size, greater chip density, and minimal power
consumption all lead to an increased number of faults in computing systems. The Computer Engineering
laboratory is investigating architectural techniques to tolerate such faults. For this research, a software
tool that injects faults (a fault injector) into a processor simulator (e.g. the sim-outorder simulator of
the SimpleScalar simulation toolset) is needed.
Project:
The goal of this project is to extend the simulator of a
processor with fault injection capability. First, existing fault injection theory should be investigated.
Thereafter, some appropriate fault models should be selected and implemented. The simulator
should be extended to accept command-line arguments specifying the desired fault injection
properties, such as which resources can fail (e.g., memory bus, functional units, register files,
etc.), the fault frequency, the type of faults (transient or permanent), and others.
It should also be possible to collect fault statistics after a simulation.
Contact persons:
Demid Borodin
Email: demid@ce.et.tudelft.nl
Ben Juurlink
Email: B.H.H.Juurlink@tudelft.nl
Interested? e-mail
me! More information?
Problem statement:
1. Analysis and Synthesis on the provided
technology (Xilinx) of LINPACK benchmark.
2. Organization design and performance
estimation of Delft Linpack 1.
3. Memory and cache design for Delft Linpack
1.
4. Delft Linpack 1 array of floating point
multipliers design.
Expected effort:
We need 4 students to do their master
thesis on this project.
Student 1. The student will analyze the
LINPACK benchmark structure and dataflow. The most processor time consuming
pieces (so-called hot spots) are to be highlighted. A VHDL description
and synthesis of those hot-spots for the Xilinx technology is the project
final result.
Student 2. Based on the available 216,
18-bit x 18-bit dedicated multiplier blocks, the student should produce
an organization for Delft Linpack 1 and produce emulated results to validate
the expected LINPACK performance in MFLOPS. The student will be using state
of the art Xilinx development tools.
Student 3. The student will investigate
the memory and cache organization of Delft Linpack 1 needed to guarantee
minimal fetch and store delays for LINPACK. The results will be validated
on a real hardware board.
Student 4. To outperform the TOP 500 machines
Delft Linpack 1 uses highly parallel hardware. An array of multipliers
(approx. 128 stages) is the hart of the calculation engine. The goal of
the project is to design such a array to produce one result each machine
cycle and optimally deal with the floating point format of the data used
in Linpack benchmark.
Contact person:
Georgi Gaydadjiev
Phone: 015-2786168
Email: g.n.gaydadjiev@its.tudelft.nl
Interested? e-mail
me! More information?
Problem statement:
1. Investigation and Analysis of existing
benchmarks.
2. Investigation and design of benchmarks
for different Architecture facilities
Expected effort:
1. The student is supposed to investigate
the existing benchmarks on different processors and analyze the produced
results with the architectural differences in mind. The result of this
project is an exhaustive study and analysis of the benchmark results.
2. The student will evaluate different
architectural aspects and investigate how independent different aspects
can be tested, e.g. how to test branching independent of the cache organization.
A several architectural benchmarks for different architectural aspects,
e.g. pipeline, caching, branching etc., will be produced as result of this
project.
Contact person:
Georgi Gaydadjiev
Phone: 015-2786168
Email: g.n.gaydadjiev@its.tudelft.nl
Interested? e-mail
me! More information?
Problem statement:
Analyze the performance of different parallelization approaches of HMMER on Cell BE.
Expected effort:
The student is expected to start by studying about bioinformatics in general and then deeply about HMMER. This application (written in C) should be then ported to Cell BE which also requires studying the architecture and its programming model.
Contact persons:
Georgi Gaydadjiev
Email: g.n.gaydadjiev@its.tudelft.nl
Sebastian Isaza
Email: sisaza@ce.et.tudelft.nl
Interested? e-mail
me! More information?
The
Delft
WorkBench theme
Problem statement:
Integration of the OLIVE code generator
generator into the compiler included in Delft WorkBench Project and writing
a specification for PowerPC Instruction Set with some extensions.
Expected effort:
A good working knowledge of C++ is assumed
and the student must be willing to study compiler theory and should understand
the Stanford University Intermediate Format (SUIF) front-end and MachSUIF
back-end. The following tasks need to be carried out:
Task 1 : describe and thoroughly study
OLIVE.
Task 2 : implement a pass for the instruction
selection phase into the back-end using OLIVE.
Task 3 : write a specification for PowerPC
(and maybe for MIPS) as to include reconfigurable units.
Contact persons:
Koen Bertels
and
Elena Panainte
Phone: 015-2781632
015-2786249
Email: KOEN@dutepp0.et.tudelft.nl
elena@ce.et.tudelft.nl
Interested? e-mail
us! More information?
1. Agents are synonym for distributed, asynchronous processes that perform some kind of function. They have become increasingly popular especially in internet related environments. An important example is Grid computing. The internet is there seen as massively parallel machine. The challenge in grid computing is to develop efficient load balancing algorithms.The goal of this research is to develop algorithms for balancing the workload on a grid like architecture.
Interested? e-mail
me! More informations?
2. Agents can also be used in a
wide variety of other applications, ranging from information search to
price negotiation. The goal of this topic is to propose a universal
architecture of an agent, irrespective of the specific taks or function
the agent is supposed to fulfil.
Interested? e-mail me! More informations?
Problem statement:
Extend an existing simulation environment
based on the notion of minimal agents, so tat architectural changes are
easily introduced and its impact investigated. More specifically routing,
load balancing and resource allocation will be studied. What additional
mechanisms, such as bidding platforms and strategies, communication protocols,
etc., are required ?
Expected effort:
The following tasks will need to be performed
:
Task 1 : describe, on the basis of the
literature, the architecture of minimal agents.
Task 2 : extend an existing Java simulation
environment to study one of the following issues : routing, load balancing
and resource allocation.
Task 3 : evaluate different algorithms
for the problem at hand and assess the overall performance of the computing
system.
Contact person:
Koen Bertels
Phone: 015-2781632
Email: KOEN@dutepp0.et.tudelft.nl
Interested? e-mail me! More information?
Problem statement:
Develop a program capable of assisting
the evaluation of the critical path and critical path delay of an arbitrary
Threshold Logic circuit.
Expected effort:
The student is expected to perform first
a literature research in order to become familiar with the subject of Threshold
logic and CMOS gates delay modelling. Second, the student should perform
several benchmark circuit simulations in order to extract Threshold Logic
gate delay model parameters. Finally, the student should develop a program
capable of estimating accurately the critical-path delay of an arbitrary
Threshold Logic circuit.
Contact person:
Marius Padure
Phone: 015-2783644
Email: M.D.Padure@its.tudelft.nl
Interested? e-mail
me! More information?
The
Arachne
theme
For the ARACHNE Master of Science topics, please visit this link.
Problem statement:
Devise a low-power, low-cost, fixed-point
division-like hardware algorithm by choosing the proper operand representation,
by tweaking bit operand width precision, or by finding alternative approximative
functions that produce roughly the same results to a true division algorithm.
Expected effort:
The student is expected to perform some
literature research in accustoming herself/himself to the subject of division
algorithms and implementations, and of several topics of computer graphics.
Then, the candidate hardware algorithm will be modeled in SystemC or VHDL
and will be embedded, tested, and evaluated in a full-fledged experimental
framework (provided) for an OpenGL compliant rasterization engine. Further,
when the possibility presents itself, it might be even possible to measure
on the actual silicon (FPGA) the quality metrics of the synthesized hardware
model.
Contact person:
Dan Crisu
Phone: 015-2783644
Email: dan@ce.et.tudelft.nl
Interested? e-mail
me! More information?
The
MaLT
theme
1. Investigation of Quality of Memory Tests
Context:
The area of current ASIC and microprocessor
chips is dominated by on-chip memory. Product yield and reliability therefore
are effectively determined by that on-chip memory. Memory tests are used
to weed out and/or repair defective memories. However, the failure behavior
of memories is much more complicated than that of digital logic. Therefore,
in addition to the stuck-at and bridging fault models, many other fault
models are being used. Industrial memory test results indicate that the
established fault models do not cover all faults. Because of that, research
is being performed in memory fault modeling and test design.
The recent memory tests, however, are
becoming increasingly more complex in order to cover larger classes of
fault models. This has reached the point where manual verification of the
fault coverage is becoming impractical and/or error prone. Because of that,
there is a strong need for a tool, which is able to verify whether a given
set of faults is detected by a given test.
Problem statement:
Design and implement a tool, which can
accept as inputs fault models and tests, and produces as output a coverage
matrix for each of the tests.
Expected effort:
The student is expected to perform a literature
study of current memory test verifiers, the way fault models are being
specified (using fault primitives), and the way memory tests are being
specified (using march, and possibly other, notation).
A flexible and extendable structure should
be designed such that the simulator can be updated to cope with different
memory designs (e.g., multi-port memories), new fault models and tests.
The end result should be such that the established memory tests can be
verified, using the current state of the art in fault modeling.
Contact persons:
Georgi Gaydadjiev / A.J. van de Goor
Phone: 0152-786168 / 0152-786172 or 0182-529798
Email: g.n.gaydadjiev@its.tudelft.nl
a.j.vandegoor@its.tudelft.nl
Interested? e-mail
me! More information?