diff --git a/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/wave_data.h b/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/wave_data.h index 341450ac5d4..23a900514b0 100644 --- a/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/wave_data.h +++ b/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/wave_data.h @@ -93,7 +93,7 @@ namespace hal { WaveData(u32 id_, const QString& nam, NetType tp = RegularNet, const QMap& dat = QMap() ); WaveData(const Net* n, NetType tp = RegularNet); - virtual ~WaveData(); + virtual ~WaveData() {;} u32 id() const { return mId; } QString name() const { return mName; } NetType netType() const { return mNetType; } @@ -170,6 +170,7 @@ namespace hal { u32 mMaxBooleanId; u32 mMaxTriggerid; QList mTrashCan; + QSet mNotInNetlist; void testDoubleCount(); void restoreIndex(); void updateMaxTime(); diff --git a/plugins/simulator/netlist_simulator_controller/src/wave_data.cpp b/plugins/simulator/netlist_simulator_controller/src/wave_data.cpp index 419cf69a9fc..4ef4a602f1b 100644 --- a/plugins/simulator/netlist_simulator_controller/src/wave_data.cpp +++ b/plugins/simulator/netlist_simulator_controller/src/wave_data.cpp @@ -11,7 +11,6 @@ #include #include #include -#include namespace hal { @@ -62,11 +61,6 @@ namespace hal { mNetType(tp), mBits(1), mValueBase(16), mDirty(true) {;} - WaveData::~WaveData() - { - // qDebug() << "~WaveData" << mId << mName; - } - void WaveData::resetWave() { mData.clear(); @@ -1290,20 +1284,17 @@ namespace hal { mTimeframe.setSceneMaxTime(tmax); if (mustUpdateClocks) updateClocks(); - // qDebug() << "setMaxTime-Tfc" << mTimeframe.sceneMaxTime(); Q_EMIT timeframeChanged(&mTimeframe); } void WaveDataList::emitTimeframeChanged() { - // qDebug() << "emitTimeframeChanged-Tfc" << mTimeframe.sceneMaxTime(); Q_EMIT timeframeChanged(&mTimeframe); } void WaveDataList::incrementSimulTime(u64 deltaT) { mTimeframe.mSimulateMaxTime += deltaT; - // qDebug() << "incrementSimulTime-Tfc" << mTimeframe.mSimulateMaxTime << ">" << mTimeframe.mSceneMaxTime; if (mTimeframe.mSimulateMaxTime > mTimeframe.mSceneMaxTime) setMaxTime(mTimeframe.mSimulateMaxTime); } @@ -1323,7 +1314,6 @@ namespace hal { wd->clear(); } } - // qDebug() << "setUserTimeframe-Tfc" << mTimeframe.sceneMaxTime(); Q_EMIT timeframeChanged(&mTimeframe); } @@ -1689,14 +1679,31 @@ namespace hal { void WaveDataList::testDoubleCount() { QMap doubleCount; + QSet notInNetlist; for (const WaveData* wd : *this) - ++doubleCount[wd->id()]; + { + if (!wd->id()) + { + if (!mNotInNetlist.contains(wd->name())) + notInNetlist.insert(wd->name()); + } + else + ++doubleCount[wd->id()]; + } for (auto it=doubleCount.constBegin(); it!=doubleCount.constEnd(); ++it) { if (it.value() > 1) { - qDebug() << "duplicate net" << it.value() << at(mIds.value(it.key()))->name(); + log_warning("simulation_plugin", "Duplicate waveform ({}x) found : '{}'", it.value(), at(mIds.value(it.key()))->name().toStdString()); + } + } + if (!notInNetlist.isEmpty()) + { + for (const QString& name : notInNetlist) + { + log_warning("simulation_plugin", "Waveform not in (partial) netlist : '{}'", name.toStdString()); } + mNotInNetlist += notInNetlist; } }