XCore Github Challenge

All the latest news and announcements from XCore and XMOS.
User avatar
phalt
Respected Member
Posts: 298
Joined: Thu May 12, 2011 11:14 am
Contact:

Post by phalt »

My submission this month will be a broken down demonstration of i2c aimed at teaching people how i2c works, using the XMOS i2x module as it's basis.

It will be a simple, commented example on a separate project.


User avatar
phalt
Respected Member
Posts: 298
Joined: Thu May 12, 2011 11:14 am
Contact:

Post by phalt »

November submission

https://www.xcore.com/wiki/index.php/Si ... c_tutorial

My submission is a short tutorial and basic example of the i2c which is easier to read and understand compared to the current one in the i2c package.

It isn't completely finished because I encountered a fairly substantial error with the i2c module (which I have let XMOS know about and they are working on) but I thought I'd submit it anyway!
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Winner!
November submission

ASM optimized FIR filters for single thread, multi-thread and multicore.

https://github.com/xcore/sc_dsp_filters
  • app_example_multicore_fir
    app_example_multithreaded_fir
    app_example_single_thread_fir
The multicore still needs some more fix before it is generic and produces the correct result.

Some performance data on a 100 MHz device.
1 Thread:
Testing performance, Running FIR-filter for 1 sec on a single thread with
3000 filter taps
Filtered 6660 samples during 1 second
19980 kTaps per sec. 0.1% overhead

2 Threads: (1500 taps per thread)
Filtered 13315 samples during 1 second
39945 kTaps per sec. 0.13% overhead

3 Threads: (1000 taps per thread)
Filtered 19954 samples during 1 second
59862 kTaps per sec. 0.23% overhead

4 Threads: (750 taps per thread)
Filtered 26345 samples during 1 second
79035 kTaps per sec. 1.22 % overhead

8 Threads: (375 taps per thread)
Filtered 52098 samples during 1 second
156294 kTaps per sec. 2.37 % overhead

12 Threads:
3000 filter taps (250 taps per thread)
Filtered 77251 samples during 1 second
231753 kTaps per sec. 3.56% overhead
Probably not the most confused programmer anymore on the XCORE forum.
Ali
Member++
Posts: 22
Joined: Mon Jun 07, 2010 12:50 pm

Post by Ali »

Hi lilltroll,

Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?

Ali
User avatar
lilltroll
XCore Expert
Posts: 956
Joined: Fri Dec 11, 2009 3:53 am
Location: Sweden, Eskilstuna

Post by lilltroll »

Ali wrote:Hi lilltroll,

Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?

Ali
The reason was to scale it up to 3 or 4 cores, I'm working on a 15 threads solution as well, and that the number 100 is very easy to calculate with. Just multiply with 5/4 for a 500 MHz device.
Probably not the most confused programmer anymore on the XCORE forum.
Post Reply