Zipcpu Alternatives

Similar projects and alternatives to zipcpu

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better zipcpu alternative or higher similarity.

zipcpu reviews and mentions

Posts with mentions or reviews of zipcpu. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-03-07.
  • OS AXI4 Crossbar with good performance
    4 projects | | 7 Mar 2022
    If you are looking for an AXI4 cache implementation, the ZipCPU currently supports two (I+D) that you might be able to gain some insights from. There's the AXI instruction cache implementation, and an AXI4 data cache implementation. They are both one way caches. Both were featured in an article on performance measurement last year. The data cache implementation doesn't support exclusive access yet--that's still on my to-do list. You can find these caches demonstrated in my AXI DMA check repo, if you'd like to try them out.
  • What modules/hardware would you like to see?
    3 projects | | 14 May 2021
    I've posted quite a few AXI designs on github. These include an AXI Crossbar, an AX DMA, and even an AXI scatter-gather based DMA. Some of my recent postings even include instruction or [data](instruction caches.
  • [Help] CPU: Changing from BRAM to real program flash
    5 projects | | 15 Mar 2021
    axilfetch: A basic AXI(lite) fetch unit. This fetch unit fetches instructions into a buffer that can then be fed to the CPU. For the cheapest fetch, set the buffer size FETCH_LIMIT=1. For an AXI version of the ZipCPU's earlier pipelined fetch, set FETCH_LIMIT=2. Higher amounts are also possible, but may not be advantageous.
    5 projects | | 15 Mar 2021
    In some of my early CPU tests, one of my earlier instruction fetches would just keep reading up to 16 instructions ahead of time. I thought this was great until I started examining the resulting performance. The first problem was that it wouldn't release the bus for either a data load or store, and the next problem was that the request was so long the result was often irrelevant by the time it arrived since the CPU had already branched away from the addresses it was fetching.
  • Can someone help me fix my simulation workflow?
    2 projects | | 28 Feb 2021
    That solution isn't all that satisfying to me, so ... I'm trying to do better. My next attempt is going to be 1) using the ZipCPU instead of the ARM (at least for simulation, and certainly instead of a BFM), 2) using AXI instead of Wishbone (Yes, the ZipCPU can now speak either Wishbone or (mostly) AXI), using my own AXI infrastructure (to get rid of the bridges), and using AutoFPGA to compose the design together and handle addressing requirements (instead of Qsys).
  • Soft CPUs - how to debug and test in a sane way?
    4 projects | | 27 Dec 2020
    The ZipCPU is also configurable. It can be built with or without the compressed instruction set. It can be built with or without the multiplier, the divider, or even with or without pipelining. Some configurations have two data buses--one for a nearby set of peripherals, while other configurations do not. Testing the various configurations of the CPU is something I'm not (currently) doing very well. Lord willing, the next version will fix this problem.
    4 projects | | 27 Dec 2020
    When I first built the ZipCPU, I wrote an assembly program to test every CPU instruction. If all tests passed, the CPU would halt and the simulator would detect that as a success. If any test failed, the CPU would go into a busy wait and the simulator would detect that as a failure. One CPU register held within it the number of the current test. I then ran this software on the CPU both normally, and through a single-stepping debug interface. That way I had strong confidence that, once I placed it onto the FPGA, I'd be at least able to use the debugging interface to step the CPU and see the register contents along the way. You can read about what this is like here.
    4 projects | | 27 Dec 2020
    Yes, the ZipCPU is modular. It consists of several components: a pre-fetch (of which there are several to choose from), an instruction decoder, an ALU, a divide unit, a multiply unit, and a memory unit (of which there are multiple to choose from again). Each unit has its own unit tests (proofs--not simulations).
  • A note from our sponsor - | 26 Sep 2022
    Median salaries, most in-demand technologies, state of the remote work... all you need to know your worth on the market by tech recruitment platform Learn more →


Basic zipcpu repo stats
4 days ago
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
Find remote jobs at our new job board There are 5 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.