Really Fast I/O
Pence128
Posts: 20
I found myself wondering how fast you can get data into and out of the propeller.
I concluded that the fastest possible way to get data out is to have 4 cogs using their video generators as fast as possible. I read somewhere that if the timing is perfect, WAITVID only takes 4 cycles (not true. minimum time is 5. Thanks kuroneko). That's 16Mhz * 4 cogs * 32 bits = 2048 megabits per second. More practical is to use three cogs and output their counter outputs on the remaining pins for strobes, leaving 1536 Mbps
The next part I'm not so sure about. If a cog can read the correct value of a pin changing at 160MHz, then the maximum is 20Mhz * 8 * 32 = 5.12Gbps. If strobes are needed, each cog can synchronize to it's counter and output it on one pin for 20Mhz * 8 * 24 = 3.84Gbps.
Is there any information about the setup and hold times for a mov x, ina instruction?
I concluded that the fastest possible way to get data out is to have 4 cogs using their video generators as fast as possible. I read somewhere that if the timing is perfect, WAITVID only takes 4 cycles (not true. minimum time is 5. Thanks kuroneko). That's 16Mhz * 4 cogs * 32 bits = 2048 megabits per second. More practical is to use three cogs and output their counter outputs on the remaining pins for strobes, leaving 1536 Mbps
The next part I'm not so sure about. If a cog can read the correct value of a pin changing at 160MHz, then the maximum is 20Mhz * 8 * 32 = 5.12Gbps. If strobes are needed, each cog can synchronize to it's counter and output it on one pin for 20Mhz * 8 * 24 = 3.84Gbps.
Is there any information about the setup and hold times for a mov x, ina instruction?
Comments