Piotr Pomienski
St. Albans, United Kingdom
p.pomien[at]gmail.com
MEng in Electronic and Information Engineering (4 years)• October 2014 - Present
EIE is a joint degree between Electronic Engineering and Computing. It is a mix between software and hardware related subjects.
Modules included, among others:
Secondary Education - European Baccalaureate• 2007 - 2014
Overall score - 90%.
European schools are an incredibly multi-national environment, with students from all around Europe studying in different language sections. The subjects I chose for my final exams were:
GPU Design Verification Engineer• October 2018 - Present
My team is tasked with verification of GPUs (and the various building blocks that make them up), mostly through simulations and UVM.
Industrial Placement - Hardware Design Engineer• April - September 2017
This time around, I started off with more formal verification - but this time model based. Later I was running X-Prop simulations, followed by designing bits of RTL to do with power control.
Summer Placement - Hardware Design Engineer• July - September 2016
This placement mostly revolved around formal verification. I was tasked with writing a Python script which would act as a wrapper for the verification flow. Afterwards I was using my own flow to verify various modules using assertion based formal verification.
Group project for the Embedded Systems module in 3rd year. We were given a microcontroller with WiFi connectivity and a geophone, and were told to come up with some sort of an IoT device. It was also required to set up a web interface for the product. Our group decided to take a more humorous approach, creating a "Spook-o-matic 2000", which uses the geophone to supposedly detect ghost activity.
I was responsible for coding the microcontroller software in MicroPython, which would take the geophone readings and act as an MQTT client, sending the readings to the web interface (based on nodeJS).
Group project, part of a 3rd year High Level Programming course. We had to write an ARM+Thumb emulator supporting as many instructions as possible, while also having a readable front-end interface. I was doing the testing for this project - mostly revolving around generating lots of random test cases. This proved fairly effective, and while we didn't have enough time to complete the implementation, the results were very good regardless.
Project for 3rd year robotics course. The challenge was navigating around obstacles (bottles) around a course. The robot had to use localization and mapping techniques, such as Monte Carlo localization, using a rotating sonar mounted at the top.
When looking at the GitHub repo, ignore the contribution percentages - most of the commits were done from a RaspberryPi which was hardcoded to one of the group members' accounts.
This was actually 2 courseworks, both individual. First was creating of a simulator for a MIPS v1 CPU, which would take MIPS instructions and execute them. The second was to create a scalable cache arrangement, where you could alter the parameters such as associativity and monitor the behaviour of the code. Both were done in C++.
If you want to get in touch, send me an email at p.pomien[at]gmail.com or message me on social media.
r