This is not a bug, only information.
I used your CIC filter implementation on the STM32F411 (blackpill) with 100MHz core clock. I was hoping to use it for real time processing of 4,8MHz PDM stream from microphone, to achieve 192kHz 16bit mono PCM (decimation factor 25). But it seems that the procedure is at least 8 times slower than it is needed for real time processing on that MCU.
It is 4800 bits every 1ms for integrate. But whole loop in executeCicFilter for such number of bits takes over 8ms. Processing of one bit of PDM stream takes about 180 cycles of cpu core. For real time it should takes maximum 20 cycles, ignoring the time needed for other activities. Maybe some assembler blocks with dsp instructions would help a bit, but I don't think it's enough to fit it in 20 cycles. Some hardware is needed at least for integration phase, because it works at 4,8MHz.
So it looks like the DFSDM is necessary for real time processing of PDM stream from ultrasonic microphone.
Cheers,
Rafal