Student Projects

Student Projects

Highlights (2020)

Machine Learning and Approximate Computing

Approximate computing is a promising approach to energy-efficient design of digital systems in many domains such as Machine Learning (ML). The use of specialized data formats in Deep Neural Networks (DNNs), the dominant Machine Learning algorithm, could allow substantial improvements in processing time and power efficiency.

The focus is on applying variable precision formats to ML algorithms. These formats allow to set different precisions for different operations and to tune the precision of given layers of the neural network to obtain higher power efficiency.

Machine Learning Approximate Architectures for Acoustic Smart Sensors

The idea consists in having ambient noise monitors, equipped with acoustic smart sensors, to measure the noise level and generate detailed and dynamically updated ambient noise maps in real time.

The goal is to record, process and classify the ambient noise by using algorithms typical of machine learning, and to identify hardware architectures to accelerate parts of the algorithms.

  • Design and Characterization of a Smart Sensor for Smart City Ambient Noise Monitoring

    The project is the design of a noise monitor (phonometer), implemented on an Arduino-based microprocessor, and the profiling of the phonometer performances in terms of measurement accuracy and energy consumption. The project includes the implementation of the software infrastructure to capture the GPS data and the transmission of the measurements via the cellular network.

  • Design of an Accelerator for Machine Learning for Smart City Ambient Noise Classification

    The project is the design of an FPGA-based accelerator and its interface to an Arduino-based microprocessor. The accelerator is used for the classification of the ambient noise, based on machine learning alghorithms. The projects includes the power profiling of parts composing the system.

    Platforms: SODAQ ARM-based Arduino boards, plus Actel's FPGAs (now Microsemi)

Approximate Computing Precision for Neural Networks

In collaboration with

  • Application: future hearing aids
  • Area of study: Neural Networks
  • Focus: improving energy efficiency, power consumption, area cost, complexity, performance
  • How: approximate computing techniques based on different precisions and data formats

This project is focused on evaluating how to obtain an efficient hardware implementation for the inference of a Neural Network (NN) exploiting different precisions and data formats for future hearing aids. In Hearing Instruments applications, the inference plays the most relevant role since training a NN does not happen on a device.

The first stage of this project is to implement NNs in software by using different precisions and to study the accuracy of a NN for the given application.

Secondly, the goal is to go from a software implementation to an efficient hardware implementation. As starting point, hardware architectures will be modeled with different data format to perform the most computationally expensive operations in the NNs. Afterwards, the goal should be the implementation of the approximated NN on an ARM processor including the overall assessment of energy-efficiency, performance, complexity and accuracy.

Approximate Operations and Operands for Deep Neural Networks

  • Studying and assessing architectures for the efficient hardware implementation of ML to select an appropriate architecture suitable for the targeted application.
  • Modeling hardware architectures with specialized data format in ML frameworks (e.g., PyTorch, TensorFlow) to profile complex ML algorithm and evaluate the impact on the computation efficiency.

Platforms: FPGAs or ASICs.

Internet-of-Things and Edge Computing

Increasingly sophisticated and computationally intensive algorithms are required for applications running on mobile devices and embedded processors constituting the Internet-of-Things (IoT). These applications include audio and image recognition, machine learning, and security. Today, heavy computations are transferred to servers (the cloud), but in the paradigm of ``Edge" computing, it is desirable to perform the computation locally to decrease latency, network traffic and reduce the overall energy footprint.

In this context, Application Specific Processors (ASPs) are used to accelerate software applications in portable systems and at the Edge. FPGA-based accelerators can be designed and fine tuned to match exactly the algorithm, and FPGAs can be reconfigured at run-time by making the system adaptable to the specific workload.

Design of a Run Time Manager for FPGA-based Acceleration

Dynamic partial reconfiguration allows to re-program the hardware circuits implemented on the FPGA at run time. To have this on-the-fly reconfiguration, the main processor needs to run a run-time manager, called Hypervisor, to interface to the operating system and to the hardware drivers.

The scope of the project is to implement parts of this Hypervisor for an ARM processor.

Accelerator architectures for Zynq FPGAs

Acceleration oriented mostly towards small computing and IoT.

Examples: Malware detection, classification algorithms, image and audio processing.

High Speed and Energy Efficient Computing

The main objective may vary depending on the application: from high-speed optical communication to low power design with the objective of reducing the computation energy footprint and increasing the system's reliability.

ASIC implementation of Forward Error Correction (FEC) for High-speed Data Center Interconnects

Data Centers are connected using High-speed optical communication and powerful error correction codes are used for reliable transmission bringing bit-error rates below 10-15. For power efficient implementation ASIC are used. The project shall investigate FEC for Data Center Interconnects (DCI) at targets speed at 1 Tbit/s, and beyond.
In the project, initially one of the FEC components shall be chosen and evaluated at the data rates of 400Gbit/s to 1.6Tbit/s. Then, the project can be extendet to other components.
The ASIC implementation shall be synthesized and evaluated in terms of area and power requirements.

In collaboration with Søren Forchhammer (DTU Photonics).

Projects in collaboration with GN ReSound (Hearing Aid company)

    Processor Architecture: We are considering architectural changes for our digital signal processor for future chipsets. We would like to model some of these ideas to gauge the benefits and challenges associated with them. Finally, we would like to relate these changes to real implementation in ASIC and FPGA.

    Advanced Verification Methodology: We are considering introduction of some more advanced digital verification methodology into our department such as System Verilog and UVM. We have already prepared a little in this direction but we would like to work more with scaffolding, generic models, checkers etc.

    Cycle-wise Accurate Power Profiler: We would like to build a model for our DSP with the understanding of the power cost per instruction. The idea is to characterise the processor either in simulation or by measurement to get a library of power numbers per instruction. This could then form the basis for a code analyser that can take a program and generate a summary of the power that is consumed.

Energy efficient Floating-Point Units and DSPs

Studying techniques to reduce the power dissipation, without penalizing the performance, to prevent the temperature to rise in excess, and to increase the reliability. Targets: Floating-Point units and DSP processors (filters, etc.).

Tool for semi-automated digital design

Tools that use simple cost functions to evaluate timing, area and power dissipation of small units.

Other Projects

Design of Memristor-based Energy Meters

Memristors were theorized more than fifty years ago, but only recently physical devices with memristor's behavior have been fabricated. The main characteristic of memristors is the so called memristance: the device's resistance is inversely proportional to the charge supplied to the device.

The scope of this project is to use memristors as current sensors to monitor the operation of a photovoltaic (PV) array. The focus of this work is to use multiple levels of memristance to accurately calculate the energy harvested by the PV array, its power efficiency, and to detect malfunctioning cells.

Prerequisites: Good knowledge of circuit theory and Spice simulation.

Shorter Projects (1-3 months)

HDL generators for soft IP blocks

Tool for semi-automated digital design
Tools that use simple cost functions to evaluate timing, area and power dissipation of small units.

Java applets implementing simple arithmetic algorithms
to be used to power web-sites with simple tools and examples.

Modified by Alberto Nannarelli on Friday December 06, 2019 at 16:59