Category Archives: Programmable Logic

A 16 bit softcore processor: Implementation

      2 Comments on A 16 bit softcore processor: Implementation

In my previous blog post I talked about some of my goals for a simple 16 bit processor implemented in VHDL and running on an FPGA. Here is a diagram showing the top level design, as generated by the Quartus tools: For clarity the Control Unit and associated muxes are not shown; the remaining parts, plus the muxes, constitute the… Read more »

A 16 bit softcore processor: Introduction

      1 Comment on A 16 bit softcore processor: Introduction

During my A-level electronics class I studied many interesting topics including: Basic analogue electronics including Ohm’s law and bipolar transistor switching and amplification circuits Boolean algebra Digital design using 74 series parts Assembly programming with the 6502 The 6502 assembly programming was particularly interesting because it was hands on using some teaching boards that consisted of a 6502, a tiny… Read more »

More MAXI000 construction and progress towards an EmuTOS port

The absolute minimum hardware requirements to port EmuTOS to a 68000-based micro are straightforward enough: all that is needed is upwards of 512KB of RAM, about 256KB of ROM and some kind of character IO device. Of course such a setup would not be very useful as it would have no GUI or storage, only a not-very-useful command-line, called EmuCON,… Read more »

Sound and video; more MAXI000 bring-up

      No Comments on Sound and video; more MAXI000 bring-up

The build of the MAXI000 board continues. The first job was to finish the quad UART construction. The RJ45 and RJ10 sockets and the MAX238 (PDF) with its associated tantalum capacitors were all attached without any difficulty. After fixing a dodgy joint, caused by there being not enough paste on a corner pin on the MAX238: success. The bootloader was… Read more »

A PS/2 interface and PCB routing progress

Routing the MAXI000 board has been a slog. A mostly enjoyable slog, but a slog all the same. Before actually getting to the PCB design, the first task was to associate footprints with each schematic symbol. I always dread this task; you are presented with an intimidating list of symbols from the schematic and must pick the correct footprint for… Read more »

VGA improvements

      No Comments on VGA improvements

After trying to make some small improvements to my VGA implementation I’ve come to the conclusion that it is deeply flawed. Whilst I can produce a working video controller that appears to operate reliably, if I make an even insignificant change to the VHDL code then corruption when doing writes into the video memory usually occurs. It’s also clear, from… Read more »

IO board bring up

      No Comments on IO board bring up

The IO boards arrived about a week after putting the order in. The front of one of the boards: And the back: Interestingly I received two extra boards. An extra usable board and another one. The other board had been used for some kind of testing by the manufacturer as it had a piece cut out of it. The box… Read more »

Thoughts on future projects (68K!)

      No Comments on Thoughts on future projects (68K!)

This blog post does not document what I’ve done in my hobbies, except for some small projects, but rather what I plan to work on next. Before getting to that though, I should finish my description of the progress I’ve made with the VGA controller. I have attached the  EPF10K10 (PDF) FPGA to the 68000 CPU bus, and have had… Read more »

VGA signal generation with an EPF10K10 FPGA

This post has been a long time in the making. I’ve been distracted by various things: work, family, and CNC related projects. I will create a short post describing my first successfully completed CNC project after this one, since I’m pretty proud of it. But onto the topic at hand. The road to a video display began with a stand-alone breadboard… Read more »

Being sensible: a 68008 computer on breadboard

      No Comments on Being sensible: a 68008 computer on breadboard

After writing about building a 68020 computer I feel slightly silly for going back on my word: I have built up a 68008-based computer on breadboard. For one thing going right to a 68020 felt a bit like I’d be missing out; the pleasure is in exploring not the end result. I’d have left out on the other MPUs in… Read more »