Student : Python development: Constant propagation for optimizing digital circuits

IMMS Institut für Mikroelektronik- und Mechatronik-Systeme gemeinnützige GmbH (IMMS GmbH)
Ilmenau, Germany
30 days ago

Role details

Contract type
Internship / Graduate position
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Ilmenau, Germany

Tech stack

Systems Engineering
Boolean Algebra
Computer Programming
Digital Electronics
Hardware Design
Python
Software Architecture
GIT

Job description

During your studies, you can contribute to our ongoing research projects. Join us in pushing the limits of what is technically feasible and be part of breaking new ground together. We offer a variety of challenging and practice-oriented topics for mandatory internships, Bachelor's or Master's theses or for student research assistants. You will analyse important scientific preliminary questions and support the project teams with development activities., Optimizing digital circuits in terms of area and performance is a crucial process in modern hardware development. At IMMS, a custom-developed Python framework is used to automatically read, analyze, and modify netlists. A key aspect of this optimization is what is known as "constant propagation." Currently, the tool can simplify gates where all inputs are constant. In the following, this functionality will be extended to more complex cases: An algorithm is to be implemented for gates where only some of the inputs are constant. Using the laws of Boolean algebra, these circuit components should be efficiently reduced and the constant signal correctly propagated so that the output circuit is further optimized in terms of area requirements. The scope of responsibilities includes familiarization with the existing software architecture, systematic analysis of gate logic (i.e., which cases can be optimized), and the corresponding implementation and documentation of the new features in Python., * Familiarization with existing framework

  • Analysis of the behavior of primitive gates when only some of the inputs are constant (e.g., if one input of an AND gate is "0," then the output is always "0") and development of optimization rules based on the laws of Boolean algebra
  • Implementation of the developed optimization rules, including documentation

Requirements

Do you have experience in Systems engineering?, Do you have a Master's degree?, Advanced programming skills in Python and a basic understanding of digital circuits are required., * Advanced Python skills

  • Basic knowledge of digital circuits
  • Basic knowledge of working with Git

Benefits & conditions

  • An attractive workplace in a modern, very well-equipped and industry-oriented research institute
  • Work directly at the interface between university and industry
  • Work in a flexible and creative team and on innovative and challenging topics

Apply for this position