... | ... | @@ -16,6 +16,28 @@ inside. |
|
|
|
|
|
-----
|
|
|
|
|
|
## Streamers principles of data transfer
|
|
|
|
|
|
- Streamers transfer **data words** that are of width of n \* 16 bits.
|
|
|
The width is defined by generic g\_data\_width that must be the same
|
|
|
for Tx and Rx Steamer.
|
|
|
- **Data words** can be grouped in **blocks** of any size with upper
|
|
|
limit defined by g\_tx\_max\_words\_per\_frame, each **block** has
|
|
|
independent sequence number and CRC.
|
|
|
- A stream of **data words** arranged in one or more **blocks** is
|
|
|
encapsulated into a single Ethernet Frame
|
|
|
- Ethernet Frame is sent when one of the following is true:
|
|
|
- a complete **block** was written to the Tx Streamer, and the
|
|
|
number of **data words** waiting in the Tx Buffer exceeds number
|
|
|
defined by generic g\_tx\_threshold
|
|
|
- there are **data words** in the Tx Buffer, and the time elapsed
|
|
|
from the latest write to Tx Streamer exceeded timeout defined by
|
|
|
generic g\_tx\_timeout
|
|
|
- the user explicitly requested sending frame with the data
|
|
|
currently in the Tx Buffer by asserting tx\_flush\_i
|
|
|
|
|
|
-----
|
|
|
|
|
|
## Interface of Tx and Rx Streamer modules
|
|
|
|
|
|
/4216
|
... | ... | @@ -96,15 +118,6 @@ inside. |
|
|
|
|
|
-----
|
|
|
|
|
|
## Streamers principles
|
|
|
|
|
|
- Streamers transfer **data words** and transparently encapsulate them
|
|
|
into Ethernet frames
|
|
|
- **Data words** can have width of n \* 16 bits (generic:
|
|
|
g\_data\_width)
|
|
|
- **Data words** can be grouped in blocks of arbitrary size
|
|
|
- Each **block** has independent sequence number and CRC
|
|
|
|
|
|
|
|
|
|
|
|
### Files
|
... | ... | |