HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
clock_set_dialog.cpp
Go to the documentation of this file.
2 #include "hal_core/netlist/net.h"
3 #include <QGridLayout>
4 #include <QLabel>
5 
6 namespace hal {
7 
9  : QDialog(parent)
10  {
11  QGridLayout* layout = new QGridLayout(this);
12  mComboNet = new QComboBox(this);
13  int j = 0;
14  int iclk = -1;
15 
16  for (const Net* n : inputs)
17  {
18  QString netName = QString::fromStdString(n->get_name());
19  QString upcase = netName.toUpper();
20  if (upcase == "CLK" || upcase == "CLOCK")
21  iclk = j;
22  else if ((upcase.contains("CLK") || upcase.contains("CLOCK")) && j<0 )
23  iclk = j;
24  mComboNet->insertItem(j++,QString("%1[%2]").arg(netName).arg(n->get_id()));
25  }
26  if (iclk >= 0) mComboNet->setCurrentIndex(iclk);
27  layout->addWidget(new QLabel("Select clock net:",this),0,0);
28  layout->addWidget(mComboNet,0,1);
29 
30  layout->addWidget(new QLabel("Clock period:",this),1,0);
31  mSpinPeriod = new QSpinBox(this);
32  mSpinPeriod->setMinimum(0);
33  mSpinPeriod->setMaximum(1000000);
34  mSpinPeriod->setValue(10);
35  layout->addWidget(mSpinPeriod,1,1);
36 
37  layout->addWidget(new QLabel("Start value:",this),2,0);
38  mSpinStartValue = new QSpinBox(this);
39  mSpinStartValue->setMinimum(0);
40  mSpinStartValue->setMaximum(1);
41  layout->addWidget(mSpinStartValue,2,1);
42 
43  layout->addWidget(new QLabel("Duration:",this),3,0);
44  mSpinDuration = new QSpinBox(this);
45  mSpinDuration->setMinimum(0);
46  mSpinDuration->setMaximum(1000000);
47  mSpinDuration->setValue(2000);
48  layout->addWidget(mSpinDuration,3,1);
49 
50  mDontUseClock = new QCheckBox("Do not use clock in simulation",this);
51  mDontUseClock->setCheckState(Qt::Unchecked);
52  connect(mDontUseClock,&QCheckBox::stateChanged,this,&ClockSetDialog::dontUseClockChanged);
53  layout->addWidget(mDontUseClock,4,0,1,2);
54 
58  layout->addWidget(mButtonBox,5,1);
59  }
60 
61  void ClockSetDialog::dontUseClockChanged(bool state)
62  {
63  mComboNet->setDisabled(state);
64  mSpinPeriod->setDisabled(state);
65  mSpinStartValue->setDisabled(state);
66  mSpinDuration->setDisabled(state);
67  }
68 }
ClockSetDialog(const QList< const Net * > &inputs, QWidget *parent=nullptr)
Definition: net.h:58
Definition: defines.h:45
void setCheckState(Qt::CheckState state)
void stateChanged(int state)
void setCurrentIndex(int index)
void insertItem(int index, const QString &text, const QVariant &userData)
virtual void accept()
virtual void reject()
void addWidget(QWidget *w)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
void setMaximum(int max)
void setMinimum(int min)
void setValue(int val)
bool contains(QChar ch, Qt::CaseSensitivity cs) const const
QString fromStdString(const std::string &str)
QString toUpper() const const
Unchecked
QLayout * layout() const const
void setDisabled(bool disable)