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). An implementation in the Coq theorem prover called Vericert can be found on Github.
I have also worked on random testing for FPGA synthesis tools. Verismith is a fuzzer that will randomly generate a Verilog design, pass it to the synthesis tool, and use an equivalence check to compare the output to the input. If these differ, the design is automatically reduced until the bug is located.
Personal Zettelkasten
A Zettelkasten mode leveraging Org.
A formally verified high-level synthesis tool based on CompCert and written in Coq.
Personal blog and website.
My personal Emacs configuration
b6ee540 Use
org-insert-heading-after-current
instead of org-insert-subheading
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
b6ee540 Use
org-insert-heading-after-current
instead of org-insert-subheading
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
25d641c Add a binding for
org-zettelkasten-create-branch
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
25d641c Add a binding for
org-zettelkasten-create-branch
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
5b476c4 Fix dwim behaviour when on the last top-level entry
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
5b476c4 Fix dwim behaviour when on the last top-level entry
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
ab31cf4 Add movement to the end of the previous line
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
ab31cf4 Add movement to the end of the previous line
~ymherklotz pushed to ~ymherklotz/org-zettelkasten git
8943376 Update README icons
~ymherklotz pushed to ~ymherklotz/vericert git
1f1b5c6 Update github workflows
~ymherklotz pushed to ~ymherklotz/vericert git
7aceed6 Add some more events
~ymherklotz pushed to ~ymherklotz/yannherklotz.com git
dce6f52 Update link to verismith thesis
~ymherklotz pushed to ~ymherklotz/yannherklotz.com git