doc: IntSequence

This commit is contained in:
Sebastien Bourdeauducq 2012-08-12 17:55:29 +02:00
parent dad4a91793
commit dc241639fd
2 changed files with 21 additions and 3 deletions

View 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.

View 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