bigpulp icon indicating copy to clipboard operation
bigpulp copied to clipboard

bigPULP with private FPU

Open Olivier-Dopeli opened this issue 5 years ago • 2 comments

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.

Olivier-Dopeli avatar Jul 08 '20 13:07 Olivier-Dopeli

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

vogelpi avatar Jul 13 '20 09:07 vogelpi

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

alessandrocapotondi avatar Jul 13 '20 11:07 alessandrocapotondi