gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
 
- Static Public Attributes inherited from Serializable
static int ckptCount = 0
 
static int ckptMaxCount = 0
 
static int ckptPrevCount = -1
 

Additional Inherited Members

- Static Public Member Functions inherited from Serializable
static const std::string & currentSection ()
 Get the fully-qualified name of the active section. More...
 
static void serializeAll (const std::string &cpt_dir)
 
static void unserializeGlobals (CheckpointIn &cp)
 

Detailed Description

Definition at line 48 of file pixelpump.hh.

Constructor & Destructor Documentation

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 48 of file pixelpump.cc.

Member Function Documentation

Cycles DisplayTimings::cyclesPerFrame ( ) const
inline

How many pixel clocks are required for one frame?

Definition at line 75 of file pixelpump.hh.

References cyclesPerLine(), and linesPerFrame().

Cycles DisplayTimings::cyclesPerLine ( ) const
inline

How many pixel clocks are required for one line?

Definition at line 70 of file pixelpump.hh.

References hBackPorch, and hSync.

Referenced by BasePixelPump::beginLine(), and cyclesPerFrame().

unsigned DisplayTimings::lineFirstVisible ( ) const
inline

Calculate the first line of the visible region.

Definition at line 90 of file pixelpump.hh.

References lineVBackPorchStart(), and vBackPorch.

Referenced by BasePixelPump::beginLine(), lineFrontPorchStart(), BasePixelPump::posY(), BasePixelPump::renderFrame(), and BasePixelPump::visibleLine().

unsigned DisplayTimings::lineFrontPorchStart ( ) const
inline

Calculate the first line of the back porch.

Definition at line 95 of file pixelpump.hh.

References height, and lineFirstVisible().

Referenced by BasePixelPump::beginLine(), linesPerFrame(), BasePixelPump::renderFrame(), and BasePixelPump::visibleLine().

unsigned DisplayTimings::linesPerFrame ( ) const
inline

Calculate the total number of lines in a frame.

Definition at line 100 of file pixelpump.hh.

References lineFrontPorchStart(), and vFrontPorch.

Referenced by BasePixelPump::beginLine(), cyclesPerFrame(), and BasePixelPump::updateTimings().

unsigned DisplayTimings::lineVBackPorchStart ( ) const
inline

Calculate the first line of the vertical back porch.

Definition at line 85 of file pixelpump.hh.

References lineVSyncStart(), and vSync.

Referenced by BasePixelPump::beginLine(), lineFirstVisible(), and BasePixelPump::renderFrame().

unsigned DisplayTimings::lineVSyncStart ( ) const
inline

Calculate the first line of the vsync signal.

Definition at line 80 of file pixelpump.hh.

Referenced by BasePixelPump::beginLine(), lineVBackPorchStart(), and BasePixelPump::renderFrame().

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 58 of file pixelpump.cc.

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

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 73 of file pixelpump.cc.

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

Member Data Documentation

unsigned DisplayTimings::hBackPorch

Horizontal back porch in pixels.

Definition at line 110 of file pixelpump.hh.

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

unsigned DisplayTimings::height
unsigned DisplayTimings::hFrontPorch

Horizontal front porch in pixels.

Definition at line 112 of file pixelpump.hh.

Referenced by HDLcd::PixelPump::dumpSettings(), serialize(), and unserialize().

unsigned DisplayTimings::hSync

Horizontal sync signal length in pixels.

Definition at line 114 of file pixelpump.hh.

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

unsigned DisplayTimings::vBackPorch

Vertical back porch in lines.

Definition at line 117 of file pixelpump.hh.

Referenced by HDLcd::PixelPump::dumpSettings(), lineFirstVisible(), serialize(), and unserialize().

unsigned DisplayTimings::vFrontPorch

Vertical front porch in lines.

Definition at line 119 of file pixelpump.hh.

Referenced by HDLcd::PixelPump::dumpSettings(), linesPerFrame(), serialize(), and unserialize().

const DisplayTimings DisplayTimings::vga
static

Definition at line 123 of file pixelpump.hh.

unsigned DisplayTimings::vSync

Vertical sync signal in lines.

Definition at line 121 of file pixelpump.hh.

Referenced by HDLcd::PixelPump::dumpSettings(), lineVBackPorchStart(), serialize(), and unserialize().

unsigned DisplayTimings::width

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

Generated on Fri Jun 9 2017 13:04:07 for gem5 by doxygen 1.8.6