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.
XCore Github Challenge
-
- Respected Member
- Posts: 298
- Joined: Thu May 12, 2011 11:14 am
-
- Respected Member
- Posts: 298
- Joined: Thu May 12, 2011 11:14 am
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!
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!
-
- XCore Expert
- Posts: 956
- Joined: Fri Dec 11, 2009 3:53 am
- Location: Sweden, Eskilstuna
Winner!
November submission
ASM optimized FIR filters for single thread, multi-thread and multicore.
https://github.com/xcore/sc_dsp_filters
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
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
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.
-
- Member++
- Posts: 22
- Joined: Mon Jun 07, 2010 12:50 pm
Hi lilltroll,
Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?
Ali
Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?
Ali
-
- XCore Expert
- Posts: 956
- Joined: Fri Dec 11, 2009 3:53 am
- Location: Sweden, Eskilstuna
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.Ali wrote:Hi lilltroll,
Your post mentions 100MHz device, was there a reason for running at 100Mhz rather than 400 or 500?
Ali
Probably not the most confused programmer anymore on the XCORE forum.