VexRiscv VS wb2axip

Compare VexRiscv vs wb2axip and see what are their differences.

VexRiscv

A FPGA friendly 32 bit RISC-V CPU implementation (by SpinalHDL)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
VexRiscv wb2axip
21 51
2,244 431
3.0% -
7.6 3.1
19 days ago 3 months ago
Assembly Verilog
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

VexRiscv

Posts with mentions or reviews of VexRiscv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-23.
  • Need help to build a RISC-V Processor on Artix-7 FPGA: Final Year Engineering Project Guide
    4 projects | /r/RISCV | 23 Oct 2023
    With LiteX you can synthesize a VexRiscV processor. You can run Linux on it. The toolchain is pretty easy to use, as long as you use Xilinx Vivado to compile to gateware.
  • RISC-V with AXI Peripheral
    2 projects | /r/FPGA | 20 Jun 2023
  • Intel discontinues Nios II IP
    3 projects | /r/FPGA | 14 Jun 2023
    I don't get what's going on with licensing and device support. I'm missing something here perhaps, but we use Cyclone 10 GX onwards and Quartus Pro so I don't have enough context maybe. Have you considered swapping your Nios ii to a VexRISCV as a side note? At ~1 Dhrystone MIPS/MHz it's roughly double that of the Nios V, for very few resources. All open source too. None of the migration documentation support though, so I can't judge how hard it would be.
  • How Much Would It Cost For A Truly Open Source RISC-V SOC?
    5 projects | /r/RISCV | 14 Jan 2023
    If you use LiteX to generate a VexRiscV system-on-a-chip, you can include an open source DDR DRAM PHY. This works on Xilinx Spartan-6, Spartan7Artix7/Kintex7/Virtex7 FPGAs, and Lattice ECP5 FPGAs. DDR/LPDDR/DDR2/DDR3 depending on the FPGA.
  • Which FPGA for getting into RISC-V?
    2 projects | /r/RISCV | 1 Dec 2022
    Something like https://github.com/SpinalHDL/VexRiscv will take far fewer
  • Faster CRC32-C on x86
    1 project | news.ycombinator.com | 1 Aug 2022
    A CPU built around the Gentoo philosophy would look like https://github.com/SpinalHDL/VexRiscv ;). Don't want an MMU? Fine. Need a larger RAM interface? You got it. Barrel ALU for DSP? Sure.

    Interpreted languages work by consolidating all of the optimization effort in the interpreter. This is similar to how CPUs work now, instead of extremely specific optimizations that are hard to create distributed among all code we use very general optimizations that push the limits of mathematics that is centralized in a CPU.

    -----

    Itanium had a lot of contemporary issues that made it not work. I would certainly blame Intel's business practices and reputation for a large part of it. There are likely niches for such processors. The VLIW is useful for DSP or graphics. Indeed, the only extant VLIW (that I know of) processor is the Russian Elbrus. I think the VLIW is only included to let them reuse a lot of the core logic of the CPU to drive a DSP engine, useful for radar and scientific simulation, though the sci sim would probably use commercial hardware which would be faster.

    It works on GPUs because they're doing DSP, basically. We could have weirder topologies for GPUs however, like a massive string of ALUs driven off an embedded core, so you try to kachunk all your data in a single clock domain after configuring the ALU string.

  • Looking for a suitable open-source RISC-V for an embedded project
    5 projects | /r/FPGA | 4 Jul 2022
    4) https://github.com/SpinalHDL/VexRiscv
  • What do think of Chisel HDL? is it worth learning over Verilog/SystemVerilog?
    4 projects | /r/FPGA | 29 Jun 2022
    I really like Chisel HDL or any other new HDL languages like SpinalHDL or migen b/c it allows you to create some very complex yet modular designs. See VexRiscv or LiteX for instance. Languages like this exist b/c there is a need for it, but I wouldn't say that you should learn these new languages over verilog. All these languages output verilog/VHDL for now, but there is work being to done eliminate the need for outputting verilog; eventually, Chisel will output an open source CIRCT IR. Hope is to get EDA vendors to support this IR which I'm sure will take a while. For now, you should definitely learn Verilog or VHDL before Chisel.
  • Looking for help with RISC-V softcore and VHDL
    3 projects | /r/FPGA | 20 Apr 2022
  • Thermal sensor mlx90640 with Nexys 3 fpga
    1 project | /r/FPGA | 16 Jan 2022
    I'd recommend giving vexriscv a look. It'll handily fit on your FPGA, leaving plants of room for I2C, VGA output, and whatever multiplication you end up wanting to do. It's very easy to get set up, and their example "briey" SOC even has VGA output already, but not hardware I2C (though you could easily bitbang it with the core). Adding in I2C via a "plugin" should be trivial.

wb2axip

Posts with mentions or reviews of wb2axip. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-10.
  • Simple skid buffer implementation
    3 projects | /r/FPGA | 10 Jan 2023
    I've always been partial to my own skidbuffer article and implementation. (You'd expect me to be, they're my own ...) I get your point, though, about some applications needing a registered output. I've come across many, as requirements change from one project to the next. This is why, in my own implementation, I have parameters allowing me to adjust which implementation I'm using. In this case in particular, I have a parameter adjusting whether or not the output is registered. (The outgoing READY signal, though, is always registered--that's the point of the skid buffer in the first place, and what keeps it from being a regular buffer.)
  • Testing Axi Slaves in Simulation
    1 project | /r/FPGA | 4 Jan 2023
    Ref: [1], [2]
  • Looking to implimenting an autocorrelation function (ACF) into one of my projects.
    3 projects | /r/FPGA | 24 Nov 2022
    Have you considered this article? It goes over the basics of the autocorrelation function, while also illustrating how you can build one with a Wishbone interface. Further, the Verilator logic for this function is kept and maintained on github here. Sure, it uses Wishbone. If you want to use AXI you can either use a bridge, or rework the the interface (it's not that hard ...).
  • Guys can u send me some github repositories on some simple project on system verilog with functionality like with couple functions ? Its my first reddit post in my life.
    1 project | /r/FPGA | 14 Nov 2022
    If this is what you want, though, then consider checking out the apply_wstrb function in my wb2axip repository. Perhaps the easyaxil might be the easiest one to start with.
  • Reference of verification IPs
    7 projects | /r/FPGA | 2 Nov 2022
    The worst thing that can happen on a bus is a protocol error that causes the device to lock up. Sadly, such errors have been common when using AXI or AXI-Lite--especially since traditional "verification IP" bus models won't catch all circumstances. This is why I make a general (personal) rule that nothing should touch a bus unless it has been formally verified. This check basically guarantees that every bus request gets one (and only one) response. It's not sufficient to verify an IP fully, but it's a good start. You can find my formal verification models for AXI-Lite, Wishbone, and (to some extent) Avalon in this repository. I've also been known to make my full AXI model available to Patreon sponsors of my blog.
  • A simple AXI-Lite register file
    1 project | /r/FPGA | 24 Oct 2022
    As an experiment, I tried a formal first approach using u/ZipCPU's faxil_slave.v.
  • AXI-Lite register bank revisited
    1 project | /r/FPGA | 22 Oct 2022
    I then moved on to an internal desk check of the design ... 1. skydivertricky is right: AXI does not allow timeouts. If you implement an AXI timeout, you will risk crashing any system using your design. Your timeout implementation is therefore broken, and will risk crashing any system attempting to interact with your design. This applies to both your read and write paths. 2. Sure enough, your write state machine looks only for the write address strobe during the idle state. If write data shows up early, the write data will be forgotten causing the system to hang. This was one of the bugs caught by SymbiYosys and mentioned above. 3. Your design has a nasty sequencing bug within it: wren is set on the clock _after the transaction takes place. As a result, the s_axi_awaddr and s_axi_wdata values used within your design may contain garbage within them. Indeed, they may be already set for the next transaction, or the master may put some other value in them. As a result, writes to your design may work for some masters, or more likely will not work at all. (They won't work with any of my own open source AXI-lite masters.) 4. I would recommend implementing WSTRB. There are plenty of implementations out there that will use this value, particularly when crossing from one bus width to another, but also when the CPU attempts to write less than a full word. I've been burned more than once by acting on a write when WSTRB was zero. 5. As predicted by SymbiYosys, your read data calculation is also broken. Specifically, it depends upon the value in ARADDR on the cycle following the cycle where ARVALID && ARREADY. This breaks protocol, and is likely to give you some very unexpected results. 6. While not technically broken, I would recommend that your reads ignore the bottom two bits of address. If you do this, the reads will then work if the CPU issues a load-byte or load-halfword instruction. The same applies to the writes--you should be looking at all but the bottom two bits (for a bus with 32-bit data words, like AXI-lite).
  • Xilinx FIFO generator for skid buffer?
    2 projects | /r/FPGA | 20 Oct 2022
    Can a FIFO be generated to use the AXI stream protocol? Absolutely! Check out this FIFO: - S_AXIS_VALID can be fed to the write port, i_wr - S_AXIS_READY is the compliment of the FIFO full output, o_full - S_AXIS_DATA can be fed to the incoming data port, i_data - M_AXIS_VALID is the compliment of the FIFO empty output, o_emtpy - M_AXIS_READY can be fed directly to the read port, i_rd - M_AXIS_DATA can be read directly from the outgoing data port, o_data - If you want to support other AXI Stream signals, they can simply be concatenated with the data signals above.
  • Connecting custom IP to microblaze
    1 project | /r/FPGA | 24 Sep 2022
    I recently connected my own IP to a Microblaze core via the AXI-lite interface. Vivado has a tool to generate AXI IP, but it's broken so I used this implementation of an AXI-lite slave. It comes with some registers that'll be accessible in the processors address space. Here is a more detailed explanation of the linked implementation.
  • Implement Synchronous FWFT FIFO in BRAM
    1 project | /r/FPGA | 7 Jul 2022
    Here's an example of an FWFT FIFO written in a vendor independent fashion. Yes, it requires a bit of wizardry to get right--primarily in how the read address is calculated, but I've used it for years now and it's held up nicely for me.

What are some alternatives?

When comparing VexRiscv and wb2axip you can also consider the following projects:

neorv32 - :rocket: A tiny, customizable and extensible MCU-class 32-bit RISC-V soft-core CPU and microcontroller-like SoC written in platform-independent VHDL.

wavedrom - :ocean: Digital timing diagram rendering engine

ibex - Ibex is a small 32 bit RISC-V CPU core, previously known as zero-riscy.

verilog-axi - Verilog AXI components for FPGA implementation

RISCV-FiveStage - Marginally better than redstone

darkriscv - opensouce RISC-V cpu core implemented in Verilog from scratch in one night!

zipcpu - A small, light weight, RISC CPU soft core

dromajo - RISC-V RV64GC emulator designed for RTL co-simulation

axidmacheck - AXI DMA Check: A utility to measure DMA speeds in simulation

riscv-tests

Rudi-RV32I - A rudimental RISCV CPU supporting RV32I instructions, in VHDL