Blog Index
Here you can find all my previous posts:
This paper describes how we implement hyperblock scheduling in Vericert, a formally verified high-level synthesis tool in Coq.
Ebib is a great bibliography manager that can be extended in various useful ways. I’ll go over my procedure of how I added automatic downloading of papers to ebib bib entries.
Niklas Luhmann’s Zettelkasten is becoming increasingly popular for being a great note taking technique. However, it is often misunderstood as taking notes without any structure, whereas Luhmann actually structured his notes hierarchically, but also allowed for arbitrary links between notes.
Nix is a great package manager that can be used to control various complex environments easily, such as Coq development with ocaml extraction with various dependencies.
Summary of the microsoft talks and posters presented at the MSR PhD Workshop on Next-Generation Cloud Infrastructure.
Verilog Fuzzer to test the major verilog compilers by generating random, valid Verilog.
Environment maps can be used to render objects with realistic lighting by indexing into the map.
Jekyll can be effectively used to publish a static website, even containing multiple pages such as a portfolio.
FMark is a markdown engine in F#, supporting various extensions such as latex rendered math and macros.
A real-time noise cancelling processor that reduces noise from audio.
A convolutional neural network was trained to classify images based on 6 emotions, achieving an accuracy of about 60%.
YAGE is a game engine that was built in C++ using OpenGL as a back end.
Emacs can be used effectively as an email client to quickly write emails using familiar keybindings, as well as easily linking emails to org files for reminders.
Implemented a C compiler to MIPS assembly code using flex and bison as the frontend. An abstract syntax tree is built from the parser and code generation is implemented as part of the AST.
Introduction to how a CPU works, following the MIPS I architecture and explaining properties such as pipelining.
Implemented a MIPS I CPU simulator in C++ which can execute assembly code.
We built a real-time music note reader using an FPGA and a camera. It can read custom sheet music and play it back in real-time. The pitch is also adjustable using a blue marker placed anywhere in front of the camera.
** Yann Herklotz Hi! I’m currently a PhD student in the Circuits and Systems group at Imperial College London, supervised by John Wickerson.
My research focuses on formalising the process of converting high-level programming language descriptions to correct hardware that is functionally equivalent to the input. This process is called high-level synthesis (HLS), and allows software to be turned into custom accelerators automatically, which can then be placed on field-programmable gate arrays (FPGAs).