Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Align performance counters for CV32E40P #106

Open
wants to merge 2 commits into
base: gvsoc_corev
Choose a base branch
from

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
Collaborator

@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.

2 participants