Skip to content

Add Bitmanipulation Support

Created by: gullahmed1

Introduction

This PR adds support for the zba, zbb, zbc and zbs extensions in CV32E40P core. This support will be enabled by changing parameter ZBITMANIP = 1 in cv32e40p_pkg.sv file and disabled by changing parameter ZBITMANIP = 0

Implementation

Added the support for all the ratified bitmanip extensions as defined under this bitmanip-spec

  • Zba: Address generation Instructions
  • Zbb: Basic Bit-Manipulation
  • Zbc: Carry-less Multiplication
  • Zbs: Single-bit Instructions

Verification

All the implemented instructions are passing riscv-arch tests for B type instructions. I have implemented the CV32E40P core as a DUT and SAIL as a reference model within the RISCOF framework, the successful execution of riscv-arch tests on both the CV32E40P core and the SAIL reference model and the comparison of their signatures provided the desired test results.

web ter

Merge request reports

Loading