Category Archives: Softcore

A 16 bit softcore processor: Software

      No Comments on A 16 bit softcore processor: Software

I settled on CustomASM for the re-targetable assembler for my processor, after briefly playing about with the somewhat unconventional axasm. CustomASM allows you to define a processor’s instruction set in a configuration file and then assemble assembly source code using that definition. This is easiest to explain with an example. Here is the definition of the LOADI instruction: load.{width:loadtype} {dst:reg},… Read more »

A 16 bit softcore processor: Implementation

      No 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 »