On Thu, Jan 11, 2018 at 12:16 AM, adaptiveprocessor
<
adaptive...@gmail.com> wrote:
> On Thursday, January 11, 2018 at 5:10:38 PM UTC+9, adaptiveprocessor wrote:
>>
>> Hi All,
>>
>> I am not familiar with NoC, and have a level of introduction knowledge.
>> I have read specification note of this;
>>
>>
https://static.dev.sifive.com/docs/tilelink/tilelink-spec-1.7-draft.pdf
>>
>> Then rises several questions;
>>
>> 1) Is the TileLink, standard NoC router arhitecture?
>> There is no description about flit buffers, arbitor, xbar, but supports a
>> burst transmission.
>> It is just like a port definision (they call as Master/Slave Agent) with a
>> memory map.
TileLink is designed for a tree topology, not a NoC topology, and
unless I misunderstand the question it has no concept of a flit
buffer. TileLink is a port definition but arbiters, crossbars, and
other miscellany can be found in the rocket-chip repository under
https://github.com/freechipsproject/rocket-chip/tree/master/src/main/scala/tilelink
.
>> 2) There is no explanation about interfacing between the TileLink and
>> Processor/Local Memory
>> Can the agent be the processor core (or its cache memory)?
TileLink is used for communication between caches and between caches
and peripherals; a core or its L1 cache can indeed be a TileLink
agent. Rocket implements TileLink at the L1 level; communication
between the Rocket core and Rocket L1 cache uses a different protocol,
which is called "Hella" and appears to be entirely undocumented.
>> 3) There is no explanation about how memory map affects to the
>> communication.
>> How connected between TileLink and processor/memory is unknown, I need an
>> example.
I don't understand the question.
>> 4) I want NoC router which supports a load from/store to a local memory in
>> a tile, is this supported?
>> If not supported, is alternative NoC available for this style?
TileLink's signal level requires that networks contain no cycles, so
cannot be used for a NoC. You could define a NoC protocol to carry
TileLink messages, but AFAIK there is no existing example.
> In addition,
>
> 5) There is no explanation of example with a software pogram.
> MPI, OpenMP or somthing API su@ported or manually coding is necessary
> (although depending on tile architecture but I want to talk about the rocket
> microprocessor as an example)
I don't understand what OpenMP has to do with a port specification.
> This information is very helpful to understand the TileLink architecture
> based tile.
-s