- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ladies and Gents! May I introduce the hardware Multiply and Accumulate block!
Gain access to the powerful 24x24 bit multiply and accumulate block inside the DFB! This component transforms the DFB into an easy to use DSP processing engine for FIR filters, IIR filters, PID controllers, convolution, correlation, you name it! This pure hardware block will crunch through massive arrays of data and produce results while your CPU twiddles its thumbs!
Hardware 24x24 bit multiplier with 47 bit accumulator (top 24 bits passed out)
Q23 fixed point input and output (with conversion functions and conversion calculator built in to the customizer)
Zero CPU required for processing massive blocks of data
Simple, easy to use API and interface
18 cycles per multiply and accumulate (includes DMA transfer time for getting data into the MACC)
process blocks of data up to 1023 elements = sum(An*Bn, n=0:1023) (limited by DMA transfer size)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Very interesting 🙂
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Same problem
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So youre saying that the control register component data sheet lies (because it doesn't imply any restriction on using the pulse mode), and the PSoC5 TRM with it (because it also explains the pulse mode in detail)?
Note that I tested this in separation, not within your project. One cannot seem to use a control reg in pulse mode on PSoC5.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The multiply and accumulate component once used consumed uses 50% of SRAM in my case, A and B array are both 512 in length. Is there a way I can free up this space once I am done using Multiply and Accumulate component?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not really. The arrays are defined statically, not dynamically allocated with malloc().
What are you using it for that you only need to run it once? : )
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I want to see the output of this block with my psoc pins what should I do
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DMA the output to a port register. Some ap notes on DMA -
http://www.cypress.com/?rID=37793 AN52705 Getting Started with DMA
http://www.cypress.com/?rID=82680 AN84810 PSoC® 3 and PSoC 5LP Advanced DMA Topics
http://www.cypress.com/?rID=44335 AN61102 PSoC® 3 and PSoC 5LP - ADC Data Buffering Using DMA
http://video.cypress.com/video-library/search/dma/ Videos on DMA
https://www.youtube.com/results?search_query=dma+psoc Videos on DMA (some overlap)
Or use DFB assembler to do the job.
http://www.cypress.com/?rID=60720 DFB Assembler, MAC Topics
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Note if you want to output the filtered signal then DMA the filter
to VDAC, VDAC out to a pin. There is an example project doing just
this in Creator, see Creator start page, example projects.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, I saw that example project but I want to see the digital output of DFB
Is tehre any way to see digital response?
I don't know where I can import inputs,I found coefficients in main.c file but I want to know where this cofficients multiply with input?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is tehre any way to see digital response?
Yes, you could use an ISR and load an array with output using uint16 Filter_Read8/16/24(uint8/16/24 channel)
and uint8 Filter_IsInterruptChannelA(void)
I don't know where I can import inputs,I found coefficients in main.c file but I want to know where this cofficients multiply with input?
The multiplication is done in the DFB.
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I down loaded this from the Validated component site rather than from this post thread. I got a scary sounding message - see the attached - when I tried to open the example project. This is the frst time I've seen this message yet I've downloaded several coponents from this site before. What is different about this one?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There is a C# file that accompanies the component to set the properties. Due to security reasons you need to allow this program to be run by Creator. Nothing that should scare you,
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That post, i tried multiply and accumulate component.
i multiplied 0.3 x 0.3 but the result wasn't true.