Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++

dev board CF interface speed

Altera_Forum
Honored Contributor II
2,350 Views

doing some speed tests on my altera 1c20 deb board. Ive done the following. 

 

mount a CF thats been formatted FAT and has a 1MiB file on it called speed 

 

cat speed > /dev/null and time the results. 

 

1:43 seconds for the blazing rate of 10KiB/s. 

 

Why Is this so slow? Because of the ide interface in the demo kernel? I know its not the CF which can do much faster on USB adapters.  

 

I've got custom code (no OS) on a NIOS1 that reads a CF at several MiB/s and thats just using PIO. Dosen't this setup use DMA? 

 

Would the opencores IDE interface or the one in Public IP do any better?  

 

IDE access this slow basically makes uClinux worthless for our product. Which sucks because I _really_ want to use it so I don't have to write VFAT and USB driver code.
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
443 Views

smithbone, 

 

What is the max. sustained read transfer rate specified by the Compact Flash manufacturer?  

 

I realized that this is probably not your bottleneck, but once your initial problem is repaired it would good to know what rates are theoretically possible given the CF itself is the limiting factor.
0 Kudos
Altera_Forum
Honored Contributor II
443 Views

Sustained of 5 MiB/second.  

 

It can burst up to 16MiB/s but I've not tested that.
0 Kudos
Altera_Forum
Honored Contributor II
443 Views

Hi smithbone, 

 

Sounds like your CF is plenty fast enough. We have a Nios II CF interface working on an Altera DSP Development Kit board. On Monday, I will try the replicate the same type of test you mentioned in your orginal post and let you know the results. 

 

cat speed > /dev/null and time the results. 

 

Also, based on the calculations made in your orginal post, I'm assuming that "MiB" = mebibyte = 2^20 = 1024 ^2 = 1,048,576 bytes? Is that correct?  

 

I wasn't familiar with the "MiB" acronym until I looked it up. I find it interesting that the "mebi" prefix was created to avoid the confusion between what the "mega" prefix meant (1,000,000, 1,048,5467, or even 1,024,000 bytes). You learn something new everyday.
0 Kudos
Altera_Forum
Honored Contributor II
443 Views

<div class='quotetop'>QUOTE </div> 

--- Quote Start ---  

Also, based on the calculations made in your orginal post, I&#39;m assuming that "MiB" = mebibyte = 2^20 = 1024 ^2 = 1,048,576 bytes? Is that correct?[/b] 

--- Quote End ---  

 

 

Correct. I rounded the result of the calculation. I created the file with: 

 

dd if=/dev/zero of=speed bs=1M count=1 

 

But any large size file will do. Just see if its fast or slow. Are you using the stock IDE CF interface provided in the example code or a different one?
0 Kudos
Altera_Forum
Honored Contributor II
443 Views

Are you using the stock IDE CF interface provided in the example code or a different one? 

I haven&#39;t had a chance to run that test yet. Hopefully, I will find some time tomorrow.  

 

I will be using the stock CF interface that is available from the "Downloads -> Tested IP" section of this forum with the 16 MB Sandisk CF card that is included with the DSP Development Kit.
0 Kudos
Altera_Forum
Honored Contributor II
443 Views

<div class='quotetop'>QUOTE </div> 

--- Quote Start ---  

I will be using the stock CF interface that is available from the "Downloads -> Tested IP" section of this forum with the 16 MB Sandisk CF card that is included with the DSP Development Kit.[/b] 

--- Quote End ---  

 

 

Is that the same one that is in the kits/nios2/examples/verilog/<board>/linux?  

 

Its not clear from the docs if the dev kit contains that version of the IDE interface.
0 Kudos
Reply