Skip to content

markoved/schoolRISCV_Zbb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

schoolRISCV Zbb - Basic Bit Manipulation Unit extension added

Original schoolRISCV project

This project adds the Basic Bit Manipulation Unit (BBMU) to the schoolRISCV CPU. The BBMU implements the Zbb extension of the RISC-V Instruction Set Architecture.

The picture below illustrates the modified datapath of the schoolRISCV core. schoolRISCV

The BBMU supports following instructions:

  • andn, orn, xnor
  • clz, ctz
  • cpop
  • max, maxu, min, minu
  • sext.b, sext.h, zext.h
  • rol, ror, rori
  • orc.b
  • rev8

The benchmarks directory contains a set of small benchmark programs that can be compiled with -march=rv32i_zbb compiler option to demonstrate real world applications of basic bit manipulation instructions.

RARS

The project includes modifications to the RARS open-source Assembler and Runtime Simulator which is used in the schoolRISCV project to convert assembly code to low-level machine code. Modifications include adding Zbb instructions support.

About

CPU microarchitecture, step by step

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 51.2%
  • Verilog 42.6%
  • Assembly 2.7%
  • SystemVerilog 1.7%
  • Python 0.8%
  • C 0.7%
  • Other 0.3%