the pixels domain, used to read the line buffer for each pixel to send to the video link
the memory domain, used to write each pixel of the next line into the line buffer
There is a buffer of 2×Width pixels (24bpp), i.e. large enough to store 2 lines of video data.
One line is fed to the video link
The other line is writable by the client project to feed the next line to display,
When the line being written is completed, the client send a signal to switch the lines.
The switching is effective on the next horizontal blank.
Signals
Input
Output
DataIn[0:23]
DataStrobe
SwitchStrobe
SwitchAcknowledge
HSync
VideoDisplayEnable
DataOut[0:23]
DataIn[0:24] : the next 24bpp to store in the line being written
DataStrobe : when becoming 1, latches DataIn and store it into the line being written ; ~no effect if the line has been completed~
SwitchStrobe : when becoming 1, prepare to switch lines on the next hsync strobe.
HSync : Horizontal synchronisation, when becoming 1 while prepared to switch line, the switch is effective ; reset the cursor to feed the data output port.
SwitchAcknowledge : when becoming one, the switch of line has been performed, and the feeding of data can be resumed
VideoDisplayEnable : when asserted, advance the cursor to feed the data output port.
DataOut[0:23] : the next 24bpp pixel feeded into the TMDS encoders
Line doubling/tripling/...
The client project MAY delay the switching signal so that the line seems to have a double height or more, resulting in reducing the vertical resolution.
User story
As a project based on the cradle
I want to feed the video content to the cradle
In order to display something
Technical details
Signals
DataIn[0:24]
: the next 24bpp to store in the line being writtenDataStrobe
: when becoming 1, latchesDataIn
and store it into the line being written ; ~no effect if the line has been completed~SwitchStrobe
: when becoming 1, prepare to switch lines on the next hsync strobe.HSync
: Horizontal synchronisation, when becoming 1 while prepared to switch line, the switch is effective ; reset the cursor to feed the data output port.SwitchAcknowledge
: when becoming one, the switch of line has been performed, and the feeding of data can be resumedVideoDisplayEnable
: when asserted, advance the cursor to feed the data output port.DataOut[0:23]
: the next 24bpp pixel feeded into the TMDS encodersLine doubling/tripling/...
The client project MAY delay the switching signal so that the line seems to have a double height or more, resulting in reducing the vertical resolution.
Automated tests