I am reviewing long FIR options with SHARC.
Usually the maximum length is a function of memory as opposed to MIPs.
Is there support for external memory? If yes, what is possible?
On the 21489, adding external SRAM is one option. This would be its only purpose.
On the 21469, DDR2 makes more sense.
On a sane 21479 (TQFP-100) package, a SPI based memory buffer would be possible.
Al
3:47pm
Hi Al,
The Long FIR module will store the coefficients in the heaps that you determine. I would suggest defining the g_slow_heap in whatever external memory you'd like to allow the Long FIR to store as many coefficients as possible.
-Axel
2:52pm
Hi Axel,
I wanted to follow up on this question given that now I have a target that I am testing with. It is a 21469 with external DDR ram. Now when I want to test a long FIR module, it still wants to use the fast heap which is internal memory and when I right click on the module, there is not tab or option to instruct to use the slow heap which is the external ddr memory. Is there a directive or an item I have to add within the AW firmware/platform to make this work? Please elaborate more on your previous statement about the g_slow_heap.
Thank you
4:20pm
Hi eenrique,
AWE Designer will automatically generate an ordered list of all the object (modules and wires and layouts) that need to be allocated on your target to run that layout. By default, the order things are allocated in are 1. all wires, then 2. all modules in (more or less) the order they appear in the signal flow. Some modules, like Sample Delay, will allow you to choose which heap the memory will be allocated in, but most modules will attempt allocation in the fast heap. If the fast heaps are full, then your target will fallback to the slow heap.
You can adjust the order modules are allocated in, which can affect which heap they are allocated in, by changing the allocationPriority in the Build tab of the module properties of any module in your layout. If you want these Long FIR modules allocated specifically in slow heap so other modules can have access to the fast heaps, then you can set allocationPriority to a negative number so they will allocated last. Positive numbers will make the module be allocated first. You can use the Tools -> Generate Target Files menu to create .aws files, and by looking at the order in which the 'create_module' commands are created you can see how the allocationPriority is affecting the allocation order.
As for the slow heap itself, this is defined in the target BSP by assigning an array to the pSlowHeap member of the AWEInstance structure before calling awe_init (g_slow_heap is just a common global variable name used for the slow heap array in reference examples). You can use linker files or whatever mechanism the target compiler/linker provides for making sure this slow heap buffer is put in the DDR memory of your target.
Hope this info helps you,
-Axel
11:15pm
Yes, the SHARC processors do support external memory, which can be utilized for storing long FIR (Finite Impulse Response) filter coefficients or other data. The amount of external memory that can be used depends on the specific SHARC processor model and the memory interface available.
SHARC processors typically feature on-chip memory, such as internal program and data memory (Harvard architecture), but they also provide external memory interfaces to connect to external memory devices. These external memory interfaces can be configured to support various types of memory, including SDRAM (Synchronous Dynamic Random-Access Memory) or SRAM (Static Random-Access Memory).
By utilizing external memory, you can significantly increase the available memory space for storing long FIR filter coefficients. This allows you to implement FIR filters with larger tap counts and achieve more complex filtering operations.
When working with SHARC processors and external memory, it's important to consider the memory interface specifications, such as data width, clock speed, and timing requirements. Additionally, you may need to configure the memory interface settings and handle memory access appropriately in your software or firmware to ensure proper data transfer between the SHARC processor and the external memory. Candy Crush
Consulting the documentation and resources provided by Analog Devices, the manufacturer of SHARC processors, will provide more specific details regarding the external memory interface capabilities and configuration options for your particular SHARC processor model.