Skip to content
This repository has been archived by the owner on Jan 6, 2022. It is now read-only.

bigPULP with private FPU #17

Open
Olivier-Dopeli opened this issue Jul 8, 2020 · 2 comments
Open

bigPULP with private FPU #17

Olivier-Dopeli opened this issue Jul 8, 2020 · 2 comments

Comments

@Olivier-Dopeli
Copy link

Hello,

I am looking at the possibilities offered by the HERO platform with my ZC706 board.
I'm trying to configure the architecture to have a private FPU at each core. I modified the files fe/rtl/includes/pulp_soc_defines.sv and fe/ips/pulp_cluster/packages/apu_package.sv.

When I use the make synth-pulp_cluster command I get on vivado ERROR: [Synth8-439] module 'fpu_private'not found [.../fe/ips/riscv/riscv_ex_stage.sv:392].

My question is: does bigPULP support the the private FPU at each core? Or is it through a shared fpu?

Thanks in advance.

@vogelpi
Copy link
Contributor

vogelpi commented Jul 13, 2020

Hi @Olivier-Dopeli ,
thanks for opening this issue.

It's a long time ago, but if I remember correctly, the private FPU can't be used insdie bigPULP. The bigPULP cluster is based on Mr. Wolf which has 8 cores in the cluster and 2 FPUs (each shared by 4 cores).

Best,
Pirmin

@alessandrocapotondi
Copy link

Ciao @Olivier-Dopeli,

@vogelpi is right, we did not support "officially" the private FPU. You can emulate a private FPU increasing the number of shared FPUs up to the number of cores. Unfortunately, I do not have right now the list of changes that are required to achieve it, I will tell you soon about.

Otherwise, you can find here the FPU IP that contains also the private FPU, but I cannot guarantee if it will work as a black box:
https://github.com/pulp-platform/fpu/blob/master/hdl/fpu_v0.1/fpu_private.sv

Alessandro

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants