gem5
v20.1.0.0
|
#include <pixelpump.hh>
Public Member Functions | |
DisplayTimings (unsigned width, unsigned height, unsigned hbp, unsigned h_sync, unsigned hfp, unsigned vbp, unsigned v_sync, unsigned vfp) | |
Create a display timing configuration struct. More... | |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
Cycles | cyclesPerLine () const |
How many pixel clocks are required for one line? More... | |
Cycles | cyclesPerFrame () const |
How many pixel clocks are required for one frame? More... | |
unsigned | lineVSyncStart () const |
Calculate the first line of the vsync signal. More... | |
unsigned | lineVBackPorchStart () const |
Calculate the first line of the vertical back porch. More... | |
unsigned | lineFirstVisible () const |
Calculate the first line of the visible region. More... | |
unsigned | lineFrontPorchStart () const |
Calculate the first line of the back porch. More... | |
unsigned | linesPerFrame () const |
Calculate the total number of lines in a frame. More... | |
Public Member Functions inherited from Serializable | |
Serializable () | |
virtual | ~Serializable () |
void | serializeSection (CheckpointOut &cp, const char *name) const |
Serialize an object into a new section. More... | |
void | serializeSection (CheckpointOut &cp, const std::string &name) const |
void | unserializeSection (CheckpointIn &cp, const char *name) |
Unserialize an a child object. More... | |
void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Public Attributes | |
unsigned | width |
Display width in pixels. More... | |
unsigned | height |
Display height in pixels. More... | |
unsigned | hBackPorch |
Horizontal back porch in pixels. More... | |
unsigned | hFrontPorch |
Horizontal front porch in pixels. More... | |
unsigned | hSync |
Horizontal sync signal length in pixels. More... | |
unsigned | vBackPorch |
Vertical back porch in lines. More... | |
unsigned | vFrontPorch |
Vertical front porch in lines. More... | |
unsigned | vSync |
Vertical sync signal in lines. More... | |
Static Public Attributes | |
static const DisplayTimings | vga |
Additional Inherited Members | |
Static Public Member Functions inherited from Serializable | |
static const std::string & | currentSection () |
Gets the fully-qualified name of the active section. More... | |
static void | serializeAll (const std::string &cpt_dir) |
Serializes all the SimObjects. More... | |
static void | unserializeGlobals (CheckpointIn &cp) |
Definition at line 46 of file pixelpump.hh.
DisplayTimings::DisplayTimings | ( | unsigned | width, |
unsigned | height, | ||
unsigned | hbp, | ||
unsigned | h_sync, | ||
unsigned | hfp, | ||
unsigned | vbp, | ||
unsigned | v_sync, | ||
unsigned | vfp | ||
) |
Create a display timing configuration struct.
width | Width of the visible area of the screen. |
height | Height of the visible area of the screen. |
hfp | Horizontal front porch in pixel clocks. |
h_sync | Horizontal sync in pixel clocks. |
hbp | Horizontal back porch in pixel clocks. |
vfp | Vertical front porch in scan lines. |
v_sync | Vertical sync in scan lines. |
vbp | Vertical back porch in scan lines. |
Definition at line 46 of file pixelpump.cc.
|
inline |
How many pixel clocks are required for one frame?
Definition at line 73 of file pixelpump.hh.
References cyclesPerLine(), and linesPerFrame().
|
inline |
How many pixel clocks are required for one line?
Definition at line 68 of file pixelpump.hh.
References hBackPorch, hSync, and width.
Referenced by BasePixelPump::beginLine(), and cyclesPerFrame().
|
inline |
Calculate the first line of the visible region.
Definition at line 88 of file pixelpump.hh.
References lineVBackPorchStart(), and vBackPorch.
Referenced by BasePixelPump::beginLine(), lineFrontPorchStart(), BasePixelPump::posY(), BasePixelPump::renderFrame(), and BasePixelPump::visibleLine().
|
inline |
Calculate the first line of the back porch.
Definition at line 93 of file pixelpump.hh.
References height, and lineFirstVisible().
Referenced by BasePixelPump::beginLine(), linesPerFrame(), BasePixelPump::renderFrame(), and BasePixelPump::visibleLine().
|
inline |
Calculate the total number of lines in a frame.
Definition at line 98 of file pixelpump.hh.
References lineFrontPorchStart(), and vFrontPorch.
Referenced by BasePixelPump::beginLine(), cyclesPerFrame(), and BasePixelPump::updateTimings().
|
inline |
Calculate the first line of the vertical back porch.
Definition at line 83 of file pixelpump.hh.
References lineVSyncStart(), and vSync.
Referenced by BasePixelPump::beginLine(), lineFirstVisible(), and BasePixelPump::renderFrame().
|
inline |
Calculate the first line of the vsync signal.
Definition at line 78 of file pixelpump.hh.
Referenced by BasePixelPump::beginLine(), lineVBackPorchStart(), and BasePixelPump::renderFrame().
|
overridevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 56 of file pixelpump.cc.
References hBackPorch, height, hFrontPorch, hSync, SERIALIZE_SCALAR, vBackPorch, vFrontPorch, vSync, and width.
|
overridevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 71 of file pixelpump.cc.
References hBackPorch, height, hFrontPorch, hSync, UNSERIALIZE_SCALAR, vBackPorch, vFrontPorch, vSync, and width.
unsigned DisplayTimings::hBackPorch |
Horizontal back porch in pixels.
Definition at line 108 of file pixelpump.hh.
Referenced by BasePixelPump::beginLine(), cyclesPerLine(), serialize(), and unserialize().
unsigned DisplayTimings::height |
Display height in pixels.
Definition at line 105 of file pixelpump.hh.
Referenced by lineFrontPorchStart(), BasePixelPump::renderPixels(), serialize(), unserialize(), and BasePixelPump::updateTimings().
unsigned DisplayTimings::hFrontPorch |
Horizontal front porch in pixels.
Definition at line 110 of file pixelpump.hh.
Referenced by serialize(), and unserialize().
unsigned DisplayTimings::hSync |
Horizontal sync signal length in pixels.
Definition at line 112 of file pixelpump.hh.
Referenced by BasePixelPump::beginLine(), cyclesPerLine(), serialize(), and unserialize().
unsigned DisplayTimings::vBackPorch |
Vertical back porch in lines.
Definition at line 115 of file pixelpump.hh.
Referenced by lineFirstVisible(), serialize(), and unserialize().
unsigned DisplayTimings::vFrontPorch |
Vertical front porch in lines.
Definition at line 117 of file pixelpump.hh.
Referenced by linesPerFrame(), serialize(), and unserialize().
|
static |
Definition at line 121 of file pixelpump.hh.
unsigned DisplayTimings::vSync |
Vertical sync signal in lines.
Definition at line 119 of file pixelpump.hh.
Referenced by lineVBackPorchStart(), serialize(), and unserialize().
unsigned DisplayTimings::width |
Display width in pixels.
Definition at line 103 of file pixelpump.hh.
Referenced by cyclesPerLine(), BasePixelPump::renderLine(), BasePixelPump::renderPixels(), serialize(), unserialize(), and BasePixelPump::updateTimings().