You are browsing as a guest. Sign up (or log in) to start making projects!

BOLT-16 CPU

Hardware
  • 5 Devlogs
  • 8 Total hours

A custom CPU to do CPU things with a compiler and assembly language to go with it.

Open comments for this post

1h 35m 32s logged

Some big and small changes

I’m just going to list these out:

  1. Changed emulator an compiler into two pass systems (first pass reads labels, second pass is normal) and altered them to be able to jump to labels appearing before the jmp command.
  2. Replaces swp with sb (store byte), which stores a byte directly to RAM
  3. Added a new command clear, which clears the value stored in a register.
0
0
9
Open comments for this post

3h 25m 11s logged

Built an emulator!

I just finished building a simple emulator for the BOLT-16. The reason I did this was because I needed an easy way for someone to try out the CPU without having to download Logisim. Now all you have to do is write your code in the assembly folder and run emulator.cpp to see the values of the CPU RAM!

Next time I plan to build a website that you can test out the CPU with the emulator running in the background.

0
0
12
Open comments for this post

1h 3m 24s logged

Fixed a big problem! -and other good news

I have spent so long trying to figure out why my CPU stops every time I try to increment my PC (Program Counter) by 1 to go to the next instruction. I finally decided today to sit down and have a full session just trying to fix that. With the help of ChatGPT to learn some Logisim ROM quirks, I was able to figure it out. Turns out I only needed to allow misaligned addresses in ROM settings.

Some more good news:

  1. The new ALU design is working smoother than expected, I think this will be my first and final redesign of it.

  2. The new compiler is ready! It now uses the new instruction set.

0
0
7
Open comments for this post

1h 3m logged

Beforehand Progress

This is my progress before uploading this to Stardance.

  1. Researched CPU design using Nand2Tetris and Google

  2. Planned out CPU using Nand2Tetris style HDL language

  3. Built CPU parts according to original specification in Logisim-Evolution

  4. Updated CPU part to be more efficient, changed them significantly from the default versions.

  5. Built main CPU circuit

  6. Tested, debugged, made changes, repeat.

P.S. This is very simplified. This took me a month of continues work for hours a day that were not logged unfortunately :(

Thanks for reading!!

1
0
121
Open comments for this post

42m 39s logged

Progress up until now

So I’ve been working on a custom CPU for about a month over the summer. I’ve spent about 3 hours everyday working on researching and designing it.

I have just uploaded the project to Stardance so I don’t have any devlogs yet. I also haven’t started much coding until recently so I don’t have much time spent. I’ll make a couple more devlogs about the design process until now.

0
0
32

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…