Here you find descriptions of previous summerjobs. Please note that you can not apply for these, but we keep them so you can have a look at what type of projects are possible.
Summerjob 1: Don't document the design; design the document.
One could implement a state-of-the-art, super intelligent HW/SW design, but without any good documentation, it's only a matter of time before it loses all value.
"Ink is better than the best memory" as the Chinese say.
At Easics, we completely agree, but our philosophy also relies greatly upon efficient software techniques and revision control. We have our own software tools that automatically generate textual documentation output for e.g. register maps and test results. Using Git allows us to track their changes and compare different revisions. This method works perfectly for plain text files, which are the input of a document generator such as LaTeX, AsciiDoc, Markdown, …
However, nowadays the default file format used by Microsoft Word (.docx) has become a widespread de facto standard for office documents.
Our idea for this summer job is to write a software tool that converts plain text input (along with the included images) to Microsoft Word output, most possibly making use of Pandoc and/or Visual Basic.
Experience with a programming language such as Python, Ruby, C++, … is required and some knowledge of Visual Basic is definitely a plus.
Summerjob 2: Relentless tester wanted.
Easics is a smart-electronic-system design company, targeting both ASIC- and FPGA-based embedded systems. One of the things that makes us stand out is our design methodology. We use software techniques as much as possible to design our hardware. Our own tools automatically write out VHDL toplevels, configurations and register maps and support hardware/software co-design and fully automated verification.
In general, a concise software language description is rolled out to the more verbose hardware language needed for synthesis and the further digital back-end.
This greatly enhances our efficiency and avoids smart engineers to be frustrated with dumb (copy-paste) work. As a part of our methodology framework, we are currently developing an ever more powerful VHDL parser that can understand and analyze VHDL.
Your job will be to contribute to this internal project, starting with grilling our parser until all possible VHDL cases are covered. From there on, further development of the parser can hopefully make our wildest dreams come true!
Basic knowledge of VHDL is required, but during the project you will definitely gain more expertise by digging in to it to the bottom.
Summerjob 3: Motion-based digital whiteboard
In order to design and implement our smart and complex digital systems, we very often make use of block diagrams, decision trees, FSMs, protocol layer stacks and so on. The first version of a system is typically designed during a meeting.
Back in the day, one would have used a whiteboard and some colorful markers for this. Nowadays, huge smart TVs take up so much room, that there is no space left for a whiteboard.
We find ourselves in this predicament and are thus in desperate need of a bright summer student to come to the rescue!
The idea is to make a software program that makes use of a WiiMote and an infrared light pen to transform a smart TV into a digital whiteboard. With this solution we also won't have to take a blurry photo of the whiteboard at the end of the meeting. Two birds with one stone!
Strong C++ or Python knowledge required.