This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP selection help

Other Parts Discussed in Thread: MATHLIB, OMAP3525

Hi everyone, we are planing to update our system prototype. I've been taking a look into TI Products but its difficult to choose the proper OMAP solution, mostly because of the processing requirements. Here are some bullet points with the requirements we need: 

  • Execution of a calculation algorithm that requires around 600000 root square calculations/second
  • In this point is where I don't know which clock frequency would give the performance needed without saturate the DSP/MCU load. According to the MATHLIB of the DSP, a sqrtsp takes 72 cycles in a single operation and 9 cycles in pipelined execution. 
  • TDM serial audio stream input , minimun 32 inputs. 
  • Demultiplexion of all TDM Sources and execution of a delay buffer for each of the sources of approx. 1s
    32 sources x 48000 samples/s x 24 bits = 36864000 bits /8 = 4500 Kbytes (Here I guess we need to use DRAM)
  • SPI or uPP (universal parallel port) for FPGA communication
  • UART (Universal Asynchronous Receiver/Transmitter) for Bluetooth communication
  • EMAC (Ethernet MAC) for wireless communication (TCP/IP protocol)
  • Timing and clock sync
  • Audio EQ and filtering
  • Touch LCD screen for simple controls
The devices I pre-selected are; OMAP-L1x, OMAP3525 and maybe DaVinci. From the peripheral point of view I think most of the OMAP families fulfil the requirements but the mayor question would be the performance. The processing chain is like follows:
Receive TDM streams -> demultiplex them -> delay them with independent values -> filtering -> put them back in TDM format and going to the output
In parallel  a mathematical calculations algorithm should run, here is where the 600000 sqrt are requested, the result of this algorithm is the DATA needed for the FPGA functioning. 
The system should have real time operation but I think most of the load is going on the DSP shoulders. Is there any Math library for ARM such as MATHLIB for the DSP where I could see the benchmark of sqrt? Which task could the ARM take part of? My doubt is basically whether OMAP-L1x would be enough or should we go for higher speed clock DSP?
Thanks in advance, I really appreciate any hint. 
Greetings!
  • Hello,

    If sqrt computing is the main DSP job, a floating-point core (L13x) is well suited. Moreover, if your algorithm doesn't need full 24-bit floating point precision, C67x+ core has instruction to compute single-cycle reciprocal square-root estimation (8-bit mantissa accurary, ie <1% relative error). L13x cores can work up to 450 MHz so 0.6M sqrt calculations per second is not really the problem.

    Problems usually deal more with (not) proper data transfer management (EDMA imperative), (not) cache-optimized block processing, (not) judicious L1- L2- L3-DDR memory usage, (not) optimized C code (see intrinsics for reciprocal square root),...

    32 sources with 48k 24-bit samples per second (say 32-bit words, which permit more effective processing) mean of bandwidth of 2 x 6 MB/s (input+output), far below DDR bandwidth (a typical 16-bit color VGA 60Hz LCD screen will require more, about 40 MB/s).

    Jakez