(Note: the following is a rework of the preface of my thesis [1]) When I joined the CSA group in September 2008, my supervisor Chris Jesshope tasked me thus: “We made this novel chip called a Microgrid, and we want a C compiler to program it. Do it.” This is …