Some questions about clock blocks, ports (and more)
Posted: Fri Feb 19, 2010 6:45 pm
Hi all,
I would appreciate any help, comments or whatever on the following
topics. I am still on day 7 of my XMOS experienece, so I might have
missed the one or other thing in the docs...
Can a serialized port automatically(!) turn a clock signal (attached to
a port) on and off synchronous to the output of data?
The clock output on the pin should only be present if data is shifted
out but the internal clock signal will still be needed for timing,
so it can not be turned off.
Can I read the value of a port clock without making use of the
IN or OUT instructions, like I can do with timers, e.g.: "t1 :> time"?
As far as I read, there are "10 timers" available per core.
A timer can not be written to and there are no dividers available.
Well, in this case they would all contain the same values all the time.
Possibly we are talking about only 1 timer but 10 different capture
registers for using the "AFTER" mode, here?
The bidirectional capabilities of the XMOS architechture seem to be
very weak. As far as I understood, a bidirectional port can not be
buffered and, hence it will lose its powerful (de-) serialization features.
So, obviously there is no other way but coding this all manually and
losing a lot of performance because a clock block can operate up
to 50MHz (assuming 100MHz core clock).
Can a serialized output port be non-blocking, so one can prefetch the
next data?
Is there any documentation about the timing of the instruction set or
memory access?
I guess this is enough for today ;)
Thanks in advance for any answer...
Axel
I would appreciate any help, comments or whatever on the following
topics. I am still on day 7 of my XMOS experienece, so I might have
missed the one or other thing in the docs...
Can a serialized port automatically(!) turn a clock signal (attached to
a port) on and off synchronous to the output of data?
The clock output on the pin should only be present if data is shifted
out but the internal clock signal will still be needed for timing,
so it can not be turned off.
Can I read the value of a port clock without making use of the
IN or OUT instructions, like I can do with timers, e.g.: "t1 :> time"?
As far as I read, there are "10 timers" available per core.
A timer can not be written to and there are no dividers available.
Well, in this case they would all contain the same values all the time.
Possibly we are talking about only 1 timer but 10 different capture
registers for using the "AFTER" mode, here?
The bidirectional capabilities of the XMOS architechture seem to be
very weak. As far as I understood, a bidirectional port can not be
buffered and, hence it will lose its powerful (de-) serialization features.
So, obviously there is no other way but coding this all manually and
losing a lot of performance because a clock block can operate up
to 50MHz (assuming 100MHz core clock).
Can a serialized output port be non-blocking, so one can prefetch the
next data?
Is there any documentation about the timing of the instruction set or
memory access?
I guess this is enough for today ;)
Thanks in advance for any answer...
Axel