This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to deal with the situation in which one DSP connects with muti-DSPs(three or more) via hyperlink?

Other Parts Discussed in Thread: TCI6638K2K

Hi,all
How to solve the problem about hyperlink between muti-DSPs like below?Supposed that DSP is C6678.
 
Supposed that DSP0 connects DSP1,DSP2,DSP3,DSP4 via hyperlink .
Supposed that DSP0 want to access the DDR address range of the four DSPs(DSP1,DSP2.DSP3,DSP4) which is from 0x8000 0000.
 
As I understand,I must do like this:
 
1.
Hyperlink Maps    DSP1’s DDR  address range (0x8000 0000)  to DSP0’s hyperlink data space (supposed it  is  0x4000 0000)
 
2.
Hyperlink  Maps    DSP2’s DDR  address range (0x8000 0000)  to DSP0’s hyperlink data space (supposed it  is  0x4100 0000)
 3.
Hyperlink  Maps    DSP3’s DDR  address range (0x8000 0000)  to DSP0’s hyperlink data space (supposed it  is  0x4200 0000)
4.
Hyperlink  Maps    DSP4’s DDR  address range (0x8000 0000)  to DSP0’s hyperlink data space (supposed it  is  0x4300 0000)
 
But that is out of theory .For practice how can you make sure that the address of 0x4000 0000 is translated to
DSP1’s DDR address range (0x8000 0000) not DSP2,not DSP3 and not DSP4?How would you make sure that ?
The reason I want to ask like above that I meet similarly problem in my system.In my system, DSP0 maybe send data to DSP1 and DSP2 or maybe more (to DSP3 DSP4) via hyperlink.So I must create a address translation table who can tell that which of hyperlink address space (from 0x4000 0000 to 0x4FFF FFFF) can mapped to which of DSP’s DDR space(such as DSP1 DSP2 DSP3 DSP4)?That’s what I want to know.
  • The 6678 only have 1 Hyperlink port, from chip DSP0, you can only connect to another DSP chip, NOT multiples.

    Regards, Eric 

  • Hyperlink is a pt-to-pt.  Even with Keystone II devices that have multiple ports, you can setup a TX memory translation window for each port, but you can't go directly from one port to the other.  You must write to memory somewhere on the device and have the CPU write out the data to the other port in that case.  There are no Hyperlink switches available today, though you could potentially develop one in an FPGA for example.

    Regards,

    Travis

  • Hi,Travis:

    Thanks  for you reply.I am glad that you understand what I want to say.

    But I don't understand your meaning very much.

    Firstly,we just say the situation about two hyperlinks on device,for example tci6638k2k.

    tci6638k2k has two hyperlink interfaces-hyperlink0 and hyperlink1.

    hyperlink0 data space0 :0x2800 0000 to 0x2fff ffff   //128MB

    hyperlink1 data space1: 0x4000 0000 to 0x4fff ffff //256MB

    1.Do you think my solution below is wright?

    I use DSP0's hyperlink0's data space to map DSP1,DSP2,DSP3 and DSP4'DDR memory.

    like this:

    DSP0's 0x2800 0000   maps    DSP1'DDR  0x8000 0000   for    32MB      len=0x0200 0000

    DSP0's (0x2800 0000+len)  maps    DSP2'DDR   0x8000 0000   for 32MB

    DSP0's  (0x2800 0000+2*len)  maps   DSP3'DDR   0x8000 0000  for 32MB

    DSP0's   (0x2800 0000+3*len)   maps    DSP4'DDR   0x8000 0000  for   32MB

    If DSP0 want to connect  more and more  DSPS  ,such as DSP5,DSP6,DSP7.....  continue like this.

    Maybe I can reduce the len(32MB) of remap memory space between DSPs.That will hold more

    DSPs to be mapped.for example. if len = 1MB.I think DSP0's hyperlink0 data space 128MB can hold

    128MB/1MB  = 128  DSPs to be mapped.So DSP0 can connect more and more DSPs via hyperlink.

    The same way as hyperlink1.if you like .you can map like this:

    DSP0's 0x4000 0000   maps    DSP1'DDR  0x8000 0000   for    32MB      len=0x0200 0000

    DSP0's 0x4200 0000   maps    DSP2'DDR  0x8000 0000   for    32MB      len=0x0200 0000

    DSP0's 0x4400 0000   maps    DSP3'DDR  0x8000 0000   for    32MB      len=0x0200 0000

    ....................................and so on.........

    2.

    Supposed that we just talk about tci6638k2k.it has two hyperlink interfaces.hyperlink0 and

    hyperlink1.

    Do you think how many DSPs can be mapped to one tci6638k2k device via hyperlink?

    Also I ask in another way like this.

    Do you think how many DSPs can be accessed on one tci6638k2k device via hyperlink?

    Do you think it is decided by the len which how long memory space you want to map?

    For example I proposal above.

    For hyperlink0 data space 128MB .if the map memory space is 1MB for every DSP.

    then one tci6638k2k can hold 128/1= 128 DSPs.

    The same len = 1MB ,for hyperlink1 data space 256mb,  one tci6638k2k can hold 256/1 = 256 DSPs.

    So, the total number of one tci6638k2k device can hold is 128 + 256 .Isn't wright ?

    3.

    Hi,travis,Do you think my guess is wright or wrong?  

    I just have no idea about how many DSPs with which  one tci6638k2k deivce can connect via hyperlink?

    And how one tci6638k2k connect  to  muti-DSPs  via hyperlink ?

    And  how  one tci6638k2k  can access  the memory  which belongs to other DSPs ?

  • As stated above, you can only connect one DSP Hyperlink port to one other DSP Hyplerlink port.  It is a pt-to-pt connection. 

    If I'm am not understanding your question, please clarify.

    Thanks,

    Travis

  • Hi,Travis:

    If DSP0 has two hyperlink interfaces.such as hyperlink0 and hyperlink1.

    I let hyperlink0 connect with DSP1 and let hyperlink1 connect with DSP2.

    Doesn't it?

    I know you say hyperlink is a point-to-point port.But it stand up because c6678

    just has only one hperlink port.So c6678 only connect with one c6678.

    If one DSP which has N hyperlink port.Does it only connect with one DSP?

    I guess that kind of DSP should connect N DSPs via hyperlink.Isn't it?

    That's what I want to say!

  • Steven,

    C6678 only has 1 Hyperlink port, so you can only connect to another DSP.

    K2H has 2 Hyperlink ports, you can connect port 0 to DSP 1 and port1 to DSP 2.

    Regards, Eric

     

  • steve zhang said:

    If DSP0 has two hyperlink interfaces.such as hyperlink0 and hyperlink1.

    I let hyperlink0 connect with DSP1 and let hyperlink1 connect with DSP2.

    Doesn't it?

    Yes.

    steve zhang said:
    I guess that kind of DSP should connect N DSPs via hyperlink.Isn't it?

    Yes.  Pt-to-Pt just means that each port can only connect to one other device.  No multidrop.  All SerDes based interfaces are like this.

    Regards,

    Travis