SDRAM + VGA + FPGA = SPI Addressable graphics card!

Having already written an SDRAM based VGA controller, I’ve finally got round to writing a simple SPI module that allows my STM32F0 discovery board to write to the SDRAM during blanking. In the video above, I hadn’t implemented a “busy” pin so my STM32F0 was spamming pixels regardless of whether there was blanking or not. […]


The magic 3! FPGAs being the coolest components out there, with VGA being the standard for all graphics and finally; SDRAM, the base of all synchronous memories. These past few days, I’ve been designing an FPGA based SDRAM controller as I’ve got an SDRAM chip on my FPGA development board which I haven’t yet interfaced to. Instead […]

uHMCU Alpha 0.1 – Interrupts and improved assembly

Term is over! I’m free for another Easter so hopefully I can get a couple of blog posts done though I’m taking a trip to visit Chernobyl so my levels of irradiation might end up screwing up everything electronic… (lol.) Assembler The assembler I’ve been using previously had been written quite a while ago and […]

uHMCU – Alpha 0.1

After a pretty large redesign, I can now safely say that the uHMCU is in alpha stage! I’ve ironed out most of the bugs for my USART module and can now both send and receive data. I tested it up to 115200 baud with the USB <-> USART bridge on my FPGA board and after […]


I posted about my microcontroller design a couple of posts back. As it turns out, I had actually designed it wrong! I didn’t have the pipeline fully sorted meaning I couldn’t properly execute some instructions and some things weren’t working properly. After a quick stack overflow question, I realised the error of my ways and figured […]

Logic netlist simulator

One software project I’ve wanted to do for quite a while is to code a logic simulator. Well I’ve finally got round to doing so and made reasonable success within under half a days worth of coding! With 444 lines of C++ and 17 lines of Matlab code, I’ve managed to design a simulator which can […]

HMCU V1…2…3…6?

Its been a long time since I’ve written VHDL and I’ve since forgotten which version of my microcontroller I’m on – my filing system says 6 but I’m feeling a bit sceptical, 6 rewrites seems a bit extreme! Regardless, I’ve since been deciding what I should do for my final year project and one of […]

uHMCU FPGA Implementation

Having already designed the microcontroller in a simulation environment, I wanted to take it to the implementation phase. I’d previously shown an implementation of a timer in simulation so keeping the same test program, I wanted to make sure it worked in implementation! Firstly, I decided to replace the simulation ROM and RAM for IP […]

Enter the uHMCU…

It’s been a while since I’ve sat down to do some proper VHDL but today (after MASSIVE advances with the Phobass these past few days), I’ve decided to write a miniature version of the HMCU. I say miniature in the lightest sense. Features: MISC architecture featuring 9 Instructions 16bit processing capability (22bit program word length) […]

Return of the HMCU…

Well! It turns out I’m coming to the end of my work placement (booo!) but boy have I learnt a lot. A lot of my work consisted of writing VHDL, along with testing its functionality in a simulation environment. I’ve learnt about text file parsing, different methods of structuring your VHDL code, along with good […]