Altera_Forum
Honored Contributor
17 years agoAvalon-ST backpressure with SGDMA
Hi,
I have a custom SOPC component with multiple Avalon streaming ports supporting backpressure, using a ready latency of 0. For testing, I've connected a sink port up to an Altera SGDMA component. Using signal tap, I noticed that the SGDMA component will not initially assert "valid" until my component asserts "ready". I would have thought that the SGDMA should assert valid as soon as it wants to source data, then my component would assert ready when it can accept it. This is what the Avalon Interface Specification says (March 2008 version) : "When readyLatency=0, data is transferred only when ready and valid are asserted on the same cycle. In this mode of operation, the source does not receive the sink’s ready signal before it begins sending valid data. the source provides the data and asserts valid whenever it can and waits for the sink to capture the data and assert ready. The sink only captures input data from the source when ready and valid are both asserted." Is this a problem with the SGDMA component, the Avalon-ST specification, or my interpretation of the spec :)? I'm using v7.2, sp3. Any insight is appreciated, thanks. Paul