Multi-chip support?
Seairth
Posts: 2,474
At one point, there was discussion about the P2 having built-in support for efficient chip-to-chip communication. Does anyone recall the current state of this capability?
Comments
Yeah, I remember the SERDES conversations. The truth is that I am not particularly concerned about bandwidth in this case. With the smart pins, it should be possible to manually implement a high-bandwidth solution when necessary (e.g. dedicate a cog or two on each side for (Q)SPI/HyperBus/etc.). When bandwidth is not necessary, it would be nice to simply enable a smart pin mode that reduce cog resource overhead to just a few instructions, like:
Again, bandwidth isn't the most important thing here. The most important thing (as I see it), is minimizing the impact on cog resources. I still expect that a cog will be dedicate to this communication, but most of it's time should be dedicated to the data/message processing/generation, not the bit-level transfer stuff.
(No, I don't expect this to influence design. Just thinking through some ideas I intend to try out on the P2. And killing some time while we all wait. )
The Video streaming can go both ways (out and in) and has DDS clock control, and that was going to support LCDs of various widths. DDS is also useful for Baud timing.
Logical in that width choice would be 4 bits for QuadSPI (1 wide spi can come from UART)
All of that should give a lot of choices for Multi-chip support.
Agreed! As tantalizing as the current instruction set has been, I'm excited to see what the smart pins will be capable of!
"In other words, do not believe what you are told and what you
immediately perceive until you find out the absolute truth for yourself
from all possible angles. "
I wish you would say more. Your experience is probably not unique and might save someone else from the same misery.
If you start I'll jump in with supporting evidence.
Or maybe we should wait until Parallax has re-opened the playground:)
XMOS chips manage to communicate between each other at pretty high rates with out any of that. Single programs comprising of many parallel tasks can be distributed over networks of such devices and at run time those links provide channels between processes.
XMOS chips manage to communicate between each other at pretty high rates with out any of that. Single programs comprising of many parallel tasks can be distributed over networks of such devices and at run time those links provide channels between processes.
QAM is also how the Colour signal works in Analog TVs'
It needs good DAC and ADC, and is not really the lowest power way to link 2 adjacent chips.
I could see some niche use cases (depending on how the Prop 2 DAC/ADC actually spec out ) for limited bandwidth data transfer.
For local Chip-Chip a SPI/QuadSPI/HyperBUS with Double Edge support would be enough.
All of those are CLK + Data transfers, differing only in the pin-spread and mux.
XMOS links use a transition based signalling scheme. A single transition on a wiretransmits one symbol. XMOS links have two operating modes, 2 wire (serial mode)and 5 wire (fast mode).
A 2-wire (2w) link has two signal wires in each direction. A data byte is transmit-ted as a series of ten transitions on wire 0 and/or 1.
A 5-wire (5w) link has five signal wires in each direction. A data byte is transmit-ted as a sequence of four transitions on the 5 wires.
A 5-wire (5w) link has five signal wires in each direction. A data byte is transmit-ted as a sequence of four transitions on the 5 wires.
Any links to the details ? Seems strangely custom ?
A QuadSPI with Dual Edge/DDR can transfer a Byte in 2 transitions over 5 wires.
[Oh look, yet another way the new forum editor can mangle posts ]
Yes, the XMOS scheme is a one off that I have never heard of before.
I have sometimes wondered why they do that. I did not wonder hard enough to ask though.