Internship Projects
Supervisor | Topic | Short Description | Required Skill | Required Tools | Reference Papers |
Salim Ullah | FPGA-based Cycle Accurate Emulator for Exploring the Non-volatile Memories | An emulator for the quick analysis of various NVM-based caches on the overall performance of a computing system |
Computer Architecture, RISC-V |
Xilinx Vivado, VHDL/Verilog | |
Shubham Rai | Hardware Trojans | Look how effective hardware Trojans can be devised using false logic. Can we do cross-layer here? | HDL, C/C++, Linux | Design compiler/ Cadence Virtuoso | "A2: Analog Malicious Hardware Hardware" https://ieeexplore.ieee.org/abstract/document/7546493 |
Shubham Rai | Machine Learning techniques for Logic synthesis | How can we use machine learning techniques in Logic synthesis? What kind of network we should choose to have powerful optimizations? | C/C++, Python | http://proceedings.mlr.press/v80/chatterjee18a.html | |
Ansh Rupani/ Shubham Rai / Yuhao | Federeted Learning on IOT | Extending federated learning framework on IOT devices and see communication vs computation trade-off | C/C++, Python | Tensor flow, Google/ intel neural sticks, FPGA | https://ieeexplore.ieee.org/abstract/document/8241854 |
Shubham Rai/ Ansh Rupani | Seamless abstraction for heterogeneous computing | Exploring MLIR for machine learning applications on heterogeneous platforms | C/C++ | LLVM, SSA compiler basics | https://www.tensorflow.org/mlir |
Michael Raitza / Steffen Märcker | Implement Ω-regular expressions in PRISM | Extension of the PRISM query language to take Ω-regular expressions as input, as they are a natural fit to express certain types of queries. What would a good syntax look like? How are they compiled into an automaton for automatic evaluation? | Java | PRISM probabilistic model checker | |
Michael Raitza / Steffen Märcker | Combine conditional probabilities and quantiles into a single implementation | Both implementations must be brought up to the current PRISM version. They must be interfaced with each other such that both features can be used in the same model. | Java | PRISM probabilistic model checker | |
Michael Raitza / Steffen Märcker | Steady-state probabilities for the PRISM parametric engine | Implement long-run computation for the parametric engine. Implement Gauss-Jordan algorithm to compute long-run steady-state probability. | Java | PRISM probabilistic model checker | |
Siva Satyendra Sahoo | Using AI for Cyberphysical systems | The project involves the exploration of the applicability of various Machine Learning methods in the optimization of the controller design for Cyberphysical systems. A sample problem of controlling various actuators in an office-building environment for minimizing the energy consumption and maximizing user-comfort will be used as a test-case for testing the performance of traditional, predictive, and self-learning algorithms. | A basic idea of Machine Learning methods and some background on control systems. Python with ML tools | Scikit-learn and/or TensorFlow | |
Salim Ullah | Accuracy and Resilience Analysis of Deep Neural Networks for Performance and Fault Tolerance | The project involves research into the design of resilient systems for Neuromorphic computing. Multiple aspects such as reliability and performance of systems implementing Deep Neural Networks will be studied | Machine Learning and SystemC | HLS tools like Xilinx Vivado | |
Siva Satyendra Sahoo / Salim Ullah | Implementing application-specific approximate computing for RISC-V | The project involves implementing approximate arithmetic operators for RISC-V | Computer Architecture, HDL (Verilog/ VHDL/ SystemC) | FPGA Design tools (Xilinx/Altera) | |
Siva Satyendra Sahoo | Cross-layer Design of Heterogeneous Embedded Systems | The project involves the system-level design of embedded systems that considers design choices across multiple layers of the system stack. The project will focus on both traditional and machine learning applications as test applications for performance metrics such as latency, power, throughput, reliability and energy. | Multi-objective Design Space Exploration, Gem5/McPat/HotSpot | Python/C++ tools | |
Behnaz Ranjbar | Drone Applications Analysis | Running applications of Drone on a real board, Profiling and Analyzing them in terms of execution time, power, etc. Bringing out these data from the real system | Python, Linux | ||
Salim Ullah | Approximate Cache Architecture | The project focuses on reducing energy consumption and read/write latencies of accessing memories by providing approximate caches. | Computer Architecture | Python/C++ tools, HDL Gem5 | https://dl.acm.org/doi/pdf/10.1145/2830772.2830790 |
Zahra Ebrahimi | Approximate computing for image processing | Improve area-, throughput-, and energy-efficiency of image processing applications through applying circuit- and application-level approximations. | C++/Python, Verilog/VHDL | Design Compiler, Vivado | Paper |
Zahra Ebrahimi | Approximate Computing for Bio-Signal Processing | Improve area-, throughput-, and energy-efficiency of of a case study bio-signal application through applying circuit- and application-level approximations | C++/Python, Verilog/VHDL | Design Compiler, Vivado | ECG |
Zahra Ebrahimi | Cross-Layer Approximation of Neural Networks | Improve area-, throughput-, and energy-efficiency of NNs through applying approximations across HW/SW stack | C++/Python, Verilog/VHDL | Design Compiler, Vivado, Tensor Flow | |
Mark Wijtvliet | Parallel Routing for FPGAs | Improve the speed of routing tools for FPGAs by exploring methods to parallelize these tools. | Algorithm design and optimization / software development /programming for parallel architectures. | C++/Python, Verilog/VHDL |