Hi Mehdi, thanks for Your replies. Lets continue:
1. All changes were made on the architectural level mainly using resours sharing during DSP operation.
2. Let me provide some more information. So, in our IP we derive 24 MHz clock from the Caravel SoC (the 24 MHz can be set using 8 MHz cristal and some custom PLL settings). The uniique device we are going to connect to the physical chip is a digital microphone, which requires a 4.8 Mhz, 50% DC clock and it provides a 1 bit PDM signal. In fact we will connect multiples microphones, one per each channel. On each channel we demodulate the PDM signal at 4.8 pace and process the demodulated sigan at the pace3 480 kHz (thus decimating 10 times the PDM signal). In order to perform the above we generate: (1) a 4.8 MHz 50 % duty cycle clock signal for the microphones
and bond it to the io_out[0], (2) generate clocke enable signal ce_pdm for the PDM demodulator, (3) generate clocke enable signal ce_pcm for the datapath which process the samples at the pace of 480 kHz, All the above signals are synchronous and derived from the main wb_clk_i clock signal of 24 Mhz.
The main issue is to write correct constrains for the STA. Since I use clock enables it implies multiccycle paths. Simply I would like to consult my constrains with some experts.
3. Until now I have no idea about ORFS.
4. No have not tried, I am very glad it is possible.
Once You have some spare time we could make a call.
Regards