gem5  v20.1.0.0
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
DisplayTimings Struct Reference

#include <pixelpump.hh>

Inheritance diagram for DisplayTimings:
Serializable

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)
 

Detailed Description

Definition at line 46 of file pixelpump.hh.

Constructor & Destructor Documentation

◆ DisplayTimings()

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.

Parameters
widthWidth of the visible area of the screen.
heightHeight of the visible area of the screen.
hfpHorizontal front porch in pixel clocks.
h_syncHorizontal sync in pixel clocks.
hbpHorizontal back porch in pixel clocks.
vfpVertical front porch in scan lines.
v_syncVertical sync in scan lines.
vbpVertical back porch in scan lines.

Definition at line 46 of file pixelpump.cc.

Member Function Documentation

◆ cyclesPerFrame()

Cycles DisplayTimings::cyclesPerFrame ( ) const
inline

How many pixel clocks are required for one frame?

Definition at line 73 of file pixelpump.hh.

References cyclesPerLine(), and linesPerFrame().

◆ cyclesPerLine()

Cycles DisplayTimings::cyclesPerLine ( ) const
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().

◆ lineFirstVisible()

unsigned DisplayTimings::lineFirstVisible ( ) const
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().

◆ lineFrontPorchStart()

unsigned DisplayTimings::lineFrontPorchStart ( ) const
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().

◆ linesPerFrame()

unsigned DisplayTimings::linesPerFrame ( ) const
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().

◆ lineVBackPorchStart()

unsigned DisplayTimings::lineVBackPorchStart ( ) const
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().

◆ lineVSyncStart()

unsigned DisplayTimings::lineVSyncStart ( ) const
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().

◆ serialize()

void DisplayTimings::serialize ( CheckpointOut cp) const
overridevirtual

Serialize an object.

Output an object's state into the current checkpoint section.

Parameters
cpCheckpoint state

Implements Serializable.

Definition at line 56 of file pixelpump.cc.

References hBackPorch, height, hFrontPorch, hSync, SERIALIZE_SCALAR, vBackPorch, vFrontPorch, vSync, and width.

◆ unserialize()

void DisplayTimings::unserialize ( CheckpointIn cp)
overridevirtual

Unserialize an object.

Read an object's state from the current checkpoint section.

Parameters
cpCheckpoint state

Implements Serializable.

Definition at line 71 of file pixelpump.cc.

References hBackPorch, height, hFrontPorch, hSync, UNSERIALIZE_SCALAR, vBackPorch, vFrontPorch, vSync, and width.

Member Data Documentation

◆ hBackPorch

unsigned DisplayTimings::hBackPorch

Horizontal back porch in pixels.

Definition at line 108 of file pixelpump.hh.

Referenced by BasePixelPump::beginLine(), cyclesPerLine(), serialize(), and unserialize().

◆ height

unsigned DisplayTimings::height

◆ hFrontPorch

unsigned DisplayTimings::hFrontPorch

Horizontal front porch in pixels.

Definition at line 110 of file pixelpump.hh.

Referenced by serialize(), and unserialize().

◆ hSync

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().

◆ vBackPorch

unsigned DisplayTimings::vBackPorch

Vertical back porch in lines.

Definition at line 115 of file pixelpump.hh.

Referenced by lineFirstVisible(), serialize(), and unserialize().

◆ vFrontPorch

unsigned DisplayTimings::vFrontPorch

Vertical front porch in lines.

Definition at line 117 of file pixelpump.hh.

Referenced by linesPerFrame(), serialize(), and unserialize().

◆ vga

const DisplayTimings DisplayTimings::vga
static

Definition at line 121 of file pixelpump.hh.

◆ vSync

unsigned DisplayTimings::vSync

Vertical sync signal in lines.

Definition at line 119 of file pixelpump.hh.

Referenced by lineVBackPorchStart(), serialize(), and unserialize().

◆ width

unsigned DisplayTimings::width

The documentation for this struct was generated from the following files:

Generated on Wed Sep 30 2020 14:02:23 for gem5 by doxygen 1.8.17