Skip to content

Conversation

@alex96295
Copy link

Overview

This PR alignes performance counters in CV32E40P for RTL verification.

Checklist

  • Decouple PULP and COREV toolchain (shield with `ifdefs)
  • Align and remap performance counters

Note

At the moment, each counter has been associated to one event arbitrarily, following the same approach employed in pulp-runtime. This has almost zero-impact from a user-level viewpoint for what concerns APIs.

Further solutions to make performance counters and events more dynamic can be addressed in future PRs

@alex96295 alex96295 requested a review from NBruschi August 4, 2021 16:40
PULP_LDFLAGS +=
PULP_CFLAGS += -D__riscv__ -DARCHI_HAS_COREV -DPLP_NO_BUILTIN
# Define the toolchain under use with CV32E40P. Options are `PULP_TOOLCHAIN` or `COREV_TOOLCHAIN`
TOOLCHAIN = PULP_TOOLCHAIN
Copy link
Contributor

@NBruschi NBruschi Aug 11, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The users should not modify the architecture specific makefile to avoid confusion. I propose something like the following:

PULP_CC      ?= $(shell (basename $(PULP_RISCV_GCC_TOOLCHAIN)/bin/*-gcc))
PULP_LD      ?= $(shell (basename $(PULP_RISCV_GCC_TOOLCHAIN)/bin/*-gcc))
PULP_OBJDUMP ?= $(shell (basename $(PULP_RISCV_GCC_TOOLCHAIN)/bin/*-objdump))
PULP_AR      ?= $(shell (basename $(PULP_RISCV_GCC_TOOLCHAIN)/bin/*-ar))

ifeq ($(PULP_CC), riscv32-corev-elf-gcc)
__COREV_TOOLCHAIN_FLAGS__
else
__PULP_TOOLCHAIN_FLAGS__
endif

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants