HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::WaveDataGroup Class Reference

#include </home/runner/work/hal/hal/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/wave_data.h>

Inheritance diagram for hal::WaveDataGroup:
Inheritance graph
Collaboration diagram for hal::WaveDataGroup:
Collaboration graph

Public Member Functions

 WaveDataGroup (WaveDataList *wdList, int grpId, const QString &nam)
 
 WaveDataGroup (WaveDataList *wdList, const QString &nam=QString())
 
 WaveDataGroup (WaveDataList *wdList, const WaveData *wdGrp)
 
virtual ~WaveDataGroup ()
 
virtual int bits () const override
 
virtual int size () const
 
void addNet (const Net *n)
 
virtual void insert (int inx, WaveData *wd)
 
virtual void addWaves (const QVector< WaveData * > &wds)
 
void restoreIndex ()
 
virtual void recalcData ()
 
virtual bool hasNetId (u32 id) const
 
virtual QList< WaveData * > children () const
 
QList< int > childrenWaveIndex () const
 
virtual WaveDatachildAt (int inx) const
 
virtual WaveDataremoveAt (int inx)
 
virtual bool isEmpty () const
 
virtual void updateWaveData (WaveData *wd)
 
virtual int childIndex (WaveData *wd) const
 
virtual int netIndex (u32 id) const
 
virtual void replaceChild (WaveData *wd)
 
virtual LoadPolicy loadPolicy () const override
 
void add_waveform (WaveData *wd)
 
void remove_waveform (WaveData *wd)
 
std::vector< WaveData * > get_waveforms () const
 
virtual int intValue (double t) const override
 
- Public Member Functions inherited from hal::WaveData
 WaveData (const WaveData &other)
 
 WaveData (u32 id_, const QString &nam, NetType tp=RegularNet, const QMap< u64, int > &dat=QMap< u64, int >())
 
 WaveData (const Net *n, NetType tp=RegularNet)
 
virtual ~WaveData ()
 
u32 id () const
 
QString name () const
 
NetType netType () const
 
bool isDirty () const
 
const QMap< u64, int > & data () const
 
int fileIndex () const
 
u64 fileSize () const
 
int valueBase () const
 
std::string fileName () const
 
SaleaeDirectoryNetEntry::Type composedType () const
 
void setId (u32 id_)
 
bool rename (const QString &nam)
 
void setBits (int bts)
 
void setDirty (bool dty)
 
void setFileIndex (int saleaIndex)
 
void setFileSize (u64 siz)
 
void setTimeframeSize (u64 siz)
 
void setWaveDataList (WaveDataList *wdList)
 
int dataIndex () const
 
virtual u64 neighborTransition (double t, bool next) const
 
void loadDataUnlessAlreadyLoaded ()
 
bool loadSaleae (const WaveDataTimeframe &tframe=WaveDataTimeframe())
 
void saveSaleae ()
 
void setData (const QMap< u64, int > &dat)
 
int get_value_at (u64 t)
 
std::string get_name () const
 
std::vector< std::pair< u64, int > > get_events (u64 t0=0) const
 
std::vector< std::pair< u64, int > > get_triggered_events (const WaveDataTrigger *wdTrig, u64 t0=0)
 
u64 maxTime () const
 
void clear ()
 
void insert (u64 t, int val)
 
void insertBooleanValueWithoutSync (u64 t, BooleanFunction::Value bval)
 
QString strValue (int val) const
 
QString strValue (double t) const
 
QString strValue (const QMap< u64, int >::const_iterator &it) const
 
void setValueBase (int bas)
 
bool isEqual (const WaveData &other, int tolerance=0) const
 
bool hasSubscriber () const
 
void addSubscriber ()
 
void removeSubscriber ()
 

Protected Attributes

QList< WaveData * > mGroupList
 
QHash< WaveDataGroupIndex, int > mIndex
 
- Protected Attributes inherited from hal::WaveData
int mValueBase
 
QMap< u64, int > mData
 
bool mDirty
 
WaveDataListmWaveDataList
 

Additional Inherited Members

- Public Types inherited from hal::WaveData
enum  NetType {
  RegularNet , InputNet , OutputNet , ClockNet ,
  BooleanNet , TriggerTime , NetGroup
}
 
enum  LoadPolicy { TooBigToLoad , LoadTimeframe , LoadAllData }
 
- Static Public Member Functions inherited from hal::WaveData
static QString stringValue (int val, int bits, int base)
 
- Protected Member Functions inherited from hal::WaveData
QMap< u64, int >::const_iterator timeIterator (double t) const
 
void resetWave ()
 

Detailed Description

A group of waveforms that are displayed together and whose values form a single multi-bit value.

Definition at line 326 of file wave_data.h.

Constructor & Destructor Documentation

◆ WaveDataGroup() [1/3]

hal::WaveDataGroup::WaveDataGroup ( WaveDataList wdList,
int  grpId,
const QString nam 
)

Definition at line 925 of file wave_data.cpp.

References hal::WaveData::mWaveDataList.

◆ WaveDataGroup() [2/3]

hal::WaveDataGroup::WaveDataGroup ( WaveDataList wdList,
const QString nam = QString() 
)

◆ WaveDataGroup() [3/3]

◆ ~WaveDataGroup()

hal::WaveDataGroup::~WaveDataGroup ( )
virtual

Definition at line 979 of file wave_data.cpp.

References hal::WaveDataList::mDataGroups, and hal::WaveData::mWaveDataList.

Member Function Documentation

◆ add_waveform()

void hal::WaveDataGroup::add_waveform ( WaveData wd)

◆ addNet()

◆ addWaves()

void hal::WaveDataGroup::addWaves ( const QVector< WaveData * > &  wds)
virtual

◆ bits()

int hal::WaveDataGroup::bits ( ) const
overridevirtual

Reimplemented from hal::WaveData.

Definition at line 1083 of file wave_data.cpp.

References mGroupList, and QList::size().

Referenced by addNet(), and hal::WaveFormPainted::generateGroup().

◆ childAt()

◆ childIndex()

int hal::WaveDataGroup::childIndex ( WaveData wd) const
virtual

◆ children()

◆ childrenWaveIndex()

QList< int > hal::WaveDataGroup::childrenWaveIndex ( ) const

◆ get_waveforms()

std::vector< WaveData * > hal::WaveDataGroup::get_waveforms ( ) const

Definition at line 1004 of file wave_data.cpp.

References mGroupList.

Referenced by hal::PYBIND11_PLUGIN(), and hal::NetlistSimulatorController::set_input().

◆ hasNetId()

bool hal::WaveDataGroup::hasNetId ( u32  id) const
virtual

Definition at line 1078 of file wave_data.cpp.

References mIndex.

◆ insert()

void hal::WaveDataGroup::insert ( int  inx,
WaveData wd 
)
virtual

◆ intValue()

int hal::WaveDataGroup::intValue ( double  t) const
overridevirtual

Reimplemented from hal::WaveData.

Definition at line 1205 of file wave_data.cpp.

References mGroupList, and QList::size().

◆ isEmpty()

virtual bool hal::WaveDataGroup::isEmpty ( ) const
inlinevirtual

Definition at line 350 of file wave_data.h.

References QList::isEmpty(), and mGroupList.

Referenced by hal::WaveTreeModel::handleGroupAboutToBeRemoved().

◆ loadPolicy()

WaveData::LoadPolicy hal::WaveDataGroup::loadPolicy ( ) const
overridevirtual

◆ netIndex()

int hal::WaveDataGroup::netIndex ( u32  id) const
virtual

Definition at line 1073 of file wave_data.cpp.

References mIndex.

Referenced by hal::WaveTreeModel::handleWaveAddedToGroup().

◆ recalcData()

◆ remove_waveform()

◆ removeAt()

◆ replaceChild()

void hal::WaveDataGroup::replaceChild ( WaveData wd)
virtual

Definition at line 1011 of file wave_data.cpp.

References childIndex(), mGroupList, and recalcData().

◆ restoreIndex()

◆ size()

◆ updateWaveData()

void hal::WaveDataGroup::updateWaveData ( WaveData wd)
virtual

Definition at line 1117 of file wave_data.cpp.

References childIndex(), mGroupList, and recalcData().

Member Data Documentation

◆ mGroupList

◆ mIndex

QHash<WaveDataGroupIndex,int> hal::WaveDataGroup::mIndex
protected

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