Hi,
I'm an hardware engineer specialized in embedded systems and digital electronics, my knowledge ranges from ASIC physical design to low level driver development.
Life
I've always been interested in electronics since I was a little kid and later also in IT world, in fact in High School I went to the State Technical Institute and after two years chose the electronics specialization. This kind of school was just perfect for me because it didn't only teach me many subjects I like very much, but also left the necessary freedom to explore other interesting co-related subjects on my own, in particular different programming languages, which were not taught in the mainline teachings, and many other things.
In 2009 I was involved in two award winning projects. The first was developed together with Eric Paoloni and was named Electronic Safety Helmet, this project participated to a regional contest for high school projects and received the CNA/CAR merit.
The second project was developed together with Eric Paoloni and Alex Pacini and was named WAVE(Wave As Virtual Eyes), this project participated first to the same contest as above and received the same merit, then to a national contest in Milano and won an Intel award for project in computer science and the developers won the subscription to ANIPLA(Italian Association for Automation) and a free travel to Moscow to expose the project to ESE 2010(Expò Science Europe).
In 2009 I finished the High School and graduated with 97/100, subsequently I enrolled at II Facoltà di Ingegneria (2nd Faculty of Engineering) of Università di Bologna where I graduated as an Electronics, Informatics and Telecommunications Engineer in 2012 with 99/110.
Subsequently I enrolled for a Master of Science in Electronics Engineering with a focus on Embedded Systems and VLSI at Politecnico di Torino where I graduated in 2015 with 110/110. A list of projects developed during this time can be found below.
In September 2015 I joined Arm as a system hardware designer.
Skills
See my complete CVLanguages
C/C++
Verilog
SystemVerilog
VHDL
SystemC
PIC Assembly
8086 Assembly
C#
Java
Bash
Python
TCL
Makefile
Latex
CAD Tools
Synopsys DesignCompiler
Synopsys DesignVision
Synopsys Primetime
Synopsys Tetramax
Cadence JasperGold
Cadence Encounter
Cadence CtoS
Mentor QuestaSim
Xilinx EDK
Multisim
Ultiboard
Eagle
AWR Microwave Office
Libraries & IDEs
OpenCV
OpenMP
Qt
Git
Cmake
Doxygen
Matlab
Simulink
Mathematica
LabView
Xilinx ISE
Altera QuartusII
MPLAB
Code Warrior
mbed.org
Texmaker
Eclipse
KDevelop
QtCreator
Visual Paradigm
Hardware Platforms
PIC16F
PIC18F
PIC24F
Xilinx ZYNQ 7000
Zedboard
Altera Cyclon II
Wiznet W5100
Wiznet W5200
WIZ820io
FRDM-KL25Z
MSP430 LaunchPad
RaspberryPi
Academic and personal projects
Collision Avoidance
September 2014
Porting of nRF24L01P driver to PIC18F
May 2014
Driver of nRF24L01P chip for PIC18F (XC8 compiler) ported from mbed.org.
IoT - PicHomeAutomation
April 2014
Four relays and a temperature sensor remotely controlled.
Profiling OpenCV 3 using gprof
March 2014
Design of a 4-state ACS with SystemC
February 2014
An ACS is one of the basic blocks of the Viterbi Algorithm.
- ACS implementation
- SystemC simulation
- Modelsim SystemC simulation
- Modelsim mixed SystemC-Verilog simulation using a given implementation of the ACS and comparation
FIR ASIC Implementation
February 2014
From Matlab to ASIC implementation and simulation.
- FIR coefficient synthesis with matlab and spectral analysis
- VHDL implementation
- Testbench implementation
- Simulation with Modelsim
- Logic synthesis with Synopsys Design Compiler
- Switching activity-based power consumption estimation
- ASIC Place&Route
- Post Place&Route simulation and switching activity-based power consumption estimation
Temperature Acquisition System
January 2014
Hardware and software design for a temperature acquisition system
Stepped impedance RF low-pass filter
November 2013
LeapHID
October 2013
Software written in C++ that convert Leap Motion gestures into mouse and keyboard events
Pipelined DLX Implementation
July 2013
Pipelined implementation of a subset of the DLX instruction set
DualVth TCL function for Synopsys PrimeTime
June 2013
Script to apply in a smart way the Dual-Vth low power technique on Synopsys PrimeTime
Parallelization of an MJPEG encoder using OpenMP
January 2013
- GProf profiling
- Parallelization using OpenMP
- Achieved speedup: 2.34 times