Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion docs/source/Configuration/Routers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@ Payload Width

A router can specify its internal ``payloadWidth``. When routers with different payload
widths are connected by a channel, Constellation will autogenerate width-adapters
on the channels if the widths are multiples of each other.
on the channels if the widths are multiples of each other. A width-adapter either segments
a packet into more flits or merge several flits of a packet into one.



Expand All @@ -99,6 +100,10 @@ on the channels if the widths are multiples of each other.
| | |
+-------------------------------------------------------------------------+--------------------+

.. Note:: When merging, the width adapter requires each packet to contain a number of flits
that is a multiple of the merging ratio. For example, when up-scaling from 64 bits to
128 bits, the width adapter expects the packet to consist of a multiple of 2 flits.


Virtual Channel Allocator
^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
8 changes: 2 additions & 6 deletions docs/source/Configuration/Terminals.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,10 @@ will auto-generate width converters to either further segment or merge flits.
+-------------------------------------------------------------------------+--------------------+
| .. code:: scala | |terminal_width| |
| | |
| ingresses = Seq(UserIngressParams(0), payloadBits=128)), | |
| egresses = Seq( UserEgressParams(0), payloadBits=128)), | |
| ingresses = Seq(UserIngressParams(0, payloadBits=128)), | |
| egresses = Seq( UserEgressParams(1, payloadBits=128)), | |
| routers = (i) => UserRouterParams(payloadBits=64), | |
| | |
+-------------------------------------------------------------------------+--------------------+

.. Note:: The common use case for ``payloadWidth`` is to set the same width for all terminals.

.. Warning:: Be wary of using payload width converters liberally. For example, a 3-flit packet of
64 bits per flit, if up-scaled to a 2-flit packet of 128 bits per flit, will be
down-scaled into a 4-flit packet of 64 bits per flit.