doc: IntSequence
authorSebastien Bourdeauducq <sebastien@milkymist.org>
Sun, 12 Aug 2012 15:55:29 +0000 (17:55 +0200)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Sun, 12 Aug 2012 15:55:29 +0000 (17:55 +0200)
doc/casestudies.rst
doc/dataflow.rst

index 77e9827434a5f07a66fff1b76c9bf36ff59aa1c3..c82a5a04d762ecbd7f7d46672c57572daa1757ec 100644 (file)
@@ -41,9 +41,7 @@ Pixel fetcher
 
 The pixel fetcher is made up of the address generator, the ASMI reader and the unpacker.
 
-TODO: IntSequence doc
-
-The address generator is a simple counter that takes one token containing the pair ``(base, length)`` and generates ``length`` tokens containing ``base``, ..., ``base+length-1``.
+The address generator is a simple counter that takes one token containing the pair ``(base, length)`` and generates ``length`` tokens containing ``base``, ..., ``base+length-1``. It is implemented using a Migen library component (see :ref:`intsequence`).
 
 Those addresses are fed into the ASMI reader (see :ref:`busactors`) that fetches the corresponding locations from the system memory. The ASMI reader design supports an arbitrary number of outstanding requests (which is equal to the number of slots in its ASMI port), which enables it to sustain a high throughput in spite of memory latency. The ASMI reader also contains a reorder buffer and generates memory word tokens in the order of the supplied address tokens, even if the memory system completes the transactions in a different order (see see :ref:`asmi` for information about reordering). These features make it possible to utilize the available memory bandwidth to the full extent, and reduce the need for on-chip buffering.
 
index 636ab54e945d45c99a6e2192b7122ea6d7dfbc5b..9e6b01b683853e583b58a2e020893f1d9cafafac 100644 (file)
@@ -227,6 +227,26 @@ ASMI writer
 
 TODO
 
+Miscellaneous actors
+====================
+
+.. _intsequence:
+
+Integer sequence generator
+--------------------------
+
+The integer sequence generator either:
+
+* takes a token containing a maximum value N and generates N tokens containing the numbers 0 to N-1.
+* takes a token containing a number of values N and a offset O and generates N-O tokens containing the numbers O to O+N-1.
+
+The actor instantiation takes several parameters:
+
+* the number of bits needed to represent the maximum number of generated values.
+* the number of bits needed to represent the maximum offset. When this value is 0 (default), then offsets are not supported and the sequence generator accepts tokens which contain the maximum value alone.
+
+The integer sequence generator can be used in combination with bus actors to generate addresses and read contiguous blocks of system memory (see :ref:`busactors`).
+
 .. _actornetworks:
 
 Actor networks