An annual update

A project log for Bexkat1 CPU

A custom 32-bit CPU core with GCC toolchain

Matt StockMatt Stock 12/30/2019 at 01:382 Comments

I know my updates on the project have been slow, but I really am working on it.  It's been a bit of a challenge given a bunch of headwinds, but I'm excited to report that I've made some significant progress after a lot of refactoring work.  I have unified the code for a bunch of the different dev boards I've been using, and so now in theory the same code will run on at least the DE10-standard and DE2i-150.  The MAX10-lite hasn't been tested yet, but will probably work as well, even with the limited onboard memory resources.

In addition to the SoC code itself, I also spent a lot of time bringing the toolchain up to date.  So now I have branches off of the master branch of gcc, binutils, and newlib which are current as of a week or so ago and appear to generate proper code.

There's also a lot of work that's been done with verilog and the unit tests for both the "microcoded" and the pipelined version of the Bexkat CPU.  They both run the same tests, and get the same results - with one exception.... exceptions.  :-)  The issue is that my original ISA pushed both the CCR and the PC onto the stack before jumping to the ISR, and for a pipeline model that's not ideal.  I'm thinking about a redesign that will require the ISR to push and pop it, but I haven't implemented it yet.  Until then, technically the microcoded CPU is the one that works correctly, since the other just ignores the CCR.

I'll be doing another push of the code to the public github repos in the next week or so, which should give a picture of what's been done.


Matt Stock wrote 01/02/2020 at 13:50 point

Thanks, glad you're enjoying it!  Please let me know if there's anything of particular interest you'd like to hear more about.  My near-term goal is to get the rest of the SoC design functional again so that I can load and store applications from SDcard into SDRAM.  After that, I'll likely work more on getting the pipelined CPU to behave in all of the places I need it to.

  Are you sure? yes | no

f4hdk wrote 01/01/2020 at 19:00 point

I'm happy to see that this project still goes on!

Thank you.

  Are you sure? yes | no