Building your own custom computer with the MiST FPGA board (part 2)

(Part 1 can be found here)

Recently Till Harbaum added a PS2 converter for the MiST. Since the IO is handled by the ARM processor the exchange with the FPGA goes via SPI. This makes it difficult to use existing HDL sources because often a PS2 interface is assumed.
Grant’s multi computer tutorial expects a PS2 keyboard as well. With the new converter I gave the project another go.
Putting the sources together and connecting the required pins was easy but it didn’t worked out. I still wasn’t able to type something on the screen. I had a little mail exchange with Till and asked him if he sees some obivious error done by me.
He replied pretty quickly and found the problem. I drove the PS2 converter with the CPU clock and that was too much. I read in the converter sources that it needs a clock between 10-16 … kHz but I blindly ignored the kHz and used the cpu clock which was around 12 MHz. 🙂
After I added a simple frequency divider which I found here and used 12 kHz for the PS2 converter clock the keyboard worked and I was able to type in some simple commands.
Below is a crappy image taken with my mobile:


As usual the sources can be found in my github repository:

2 thoughts on “Building your own custom computer with the MiST FPGA board (part 2)

  1. Benoit Colson says:

    i did give your git a try and my own display didn’t liked your timing trying to push to a whopsie 72Hz 640×480 and 4 first caracters were lost in the border, i found out a 26Mhz clock instead of your 27 give me a nice 60Hz also since the FPGA in the MiST is really big in comparaison to what Grant Searl use i pushed to internal ram to a 32K… next for me will be try to make a 6502 version since i’m more fan of that cpu.

    • WiSo says:

      This was one of my first projects and I didn’t proceed with it. IIRC 25 or 26 MHz was the default but I had to adjust it for my monitor. Go ahead and see it as a starter for bigger projects.
      And don’t forget to post where to find your project 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *