Belle II Software  release-05-02-19
JSignal.h
1 //-----------------------------------------------------------------------------
2 // $Id$
3 //-----------------------------------------------------------------------------
4 // Filename : JSignal.h
5 // Section : TRG CDC
6 // Owner : Jaebak KIM (K.U.)
7 // Email : jbkim@hep.korea.ac.kr
8 //-----------------------------------------------------------------------------
9 // Description : A class for Signals in CDC Trigger for 3D tracker.
10 //-----------------------------------------------------------------------------
11 // $Log$
12 //-----------------------------------------------------------------------------
13 
14 #ifndef TRGCDCJSignal_FLAG_
15 #define TRGCDCJSignal_FLAG_
16 
17 #include <string>
18 #include <vector>
19 #include <utility>
20 #include <map>
21 #include <tuple>
22 
23 #ifdef TRGCDC_SHORT_NAMES
24 #define JSignal TRGCDCJSignal
25 #endif
26 
27 namespace Belle2 {
33  class TRGCDCJSignalData;
34 
36  class TRGCDCJSignal {
37 
38  public:
39 
41  TRGCDCJSignal();
45  TRGCDCJSignal(int const& bitwidth, double const& value, double const& min, double const& max, int const& clock, TRGCDCJSignalData*);
47  TRGCDCJSignal(int const& bitwidth, double const& value, double const& min, double const& max, TRGCDCJSignalData*);
49  TRGCDCJSignal(signed long long const& intValue, double const& toReal, signed long long const& minInt,
50  signed long long const& maxInt, double const& actual, double const& minActual, double const& maxActual, int const& finishClock,
51  TRGCDCJSignalData*, bool b_slv = 0);
53  TRGCDCJSignal(double const& value, double const& toReal, TRGCDCJSignalData*);
55  TRGCDCJSignal(std::vector<bool> const& slvValue, int const& finishClock, TRGCDCJSignalData*);
56 
59 
61  TRGCDCJSignal& assignTo(TRGCDCJSignal const& rhs, int targetClock, std::string& finalCode);
63  TRGCDCJSignal& assignTo(TRGCDCJSignal const& rhs, int targetClock);
67  TRGCDCJSignal const operator- () const;
69  TRGCDCJSignal const operator+ (TRGCDCJSignal const& rhs) const;
71  TRGCDCJSignal const operator- (TRGCDCJSignal const& rhs) const;
73  TRGCDCJSignal const operator* (TRGCDCJSignal const& rhs) const;
74 
76  void dump() const;
78  TRGCDCJSignal const shift(int nBits, int operate = 1) const;
80  TRGCDCJSignal const offset(TRGCDCJSignal const& valueMin) const;
82  TRGCDCJSignal const invOffset(TRGCDCJSignal const& valueMin) const;
85  static void choose(TRGCDCJSignal& target, TRGCDCJSignal const& targetMin, TRGCDCJSignal const& targetMax,
86  TRGCDCJSignal const& reference, std::vector<std::vector<TRGCDCJSignal> > data, int targetClock);
88  static void choose(TRGCDCJSignal& target, TRGCDCJSignal const& targetMin, TRGCDCJSignal const& targetMax,
89  TRGCDCJSignal const& reference, std::vector<std::vector<TRGCDCJSignal> >& data);
91  static void choose(TRGCDCJSignal& target, TRGCDCJSignal const& reference, std::vector<std::vector<TRGCDCJSignal> > data,
92  int targetClock);
94  static void choose(TRGCDCJSignal& target, TRGCDCJSignal const& reference, std::vector<std::vector<TRGCDCJSignal> >& data);
96  static void ifElse(std::vector<std::pair<TRGCDCJSignal, std::vector<std::pair<TRGCDCJSignal*, TRGCDCJSignal> > > >& data,
97  int targetClock);
99  static void ifElse(std::vector<std::pair<TRGCDCJSignal, std::vector<std::pair<TRGCDCJSignal*, TRGCDCJSignal> > > >& data);
101  TRGCDCJSignal const limit(signed long long minInt, signed long long maxInt, double minActual, double maxActual) const;
103  TRGCDCJSignal const limit(TRGCDCJSignal const& min, TRGCDCJSignal const& max) const;
105  TRGCDCJSignal const resize(int bitwidth) const;
107  //TRGCDCJSignal const toSigned() const;
109  //TRGCDCJSignal const toUnsigned() const;
111  static TRGCDCJSignal const toSlv(TRGCDCJSignal const& in, int test);
113  static TRGCDCJSignal const toSlv(TRGCDCJSignal const&);
114 
116  static TRGCDCJSignal const slvToSigned(TRGCDCJSignal const& in, double const& toReal, signed long long const& minInt,
117  signed long long const& maxInt, double const& actual, double const& minActual, double const& maxActual, int const& finishClock);
119  static TRGCDCJSignal const slvToSigned(TRGCDCJSignal const& in);
121  static TRGCDCJSignal const slvToUnsigned(TRGCDCJSignal const& in, double const& toReal, signed long long const& minInt,
122  signed long long const& maxInt, double const& actual, double const& minActual, double const& maxActual, int const& finishClock);
124  static TRGCDCJSignal const slvToUnsigned(TRGCDCJSignal const& in);
126  static TRGCDCJSignal const signedToSlv(TRGCDCJSignal const& in);
128  static TRGCDCJSignal const unsignedToSlv(TRGCDCJSignal const& in);
129 
131  static TRGCDCJSignal comp(TRGCDCJSignal const& lhs, std::string operate, TRGCDCJSignal const& rhs);
132 
133 
136  void setName(std::string name);
138  void setInt(signed long long value);
140  void setActual(double value);
142  void setToReal(double value);
144  void setType(int type);
146  void setBitsize(int bitsize);
148  void setFinishClock(int finishClock);
150  void setDebug(bool debug);
152  void setPrintVhdl(bool printVhdl);
154  void setVhdlOutputFile(std::string filename);
158  std::string getName() const;
160  int getType() const;
162  double getBitsize() const;
164  signed long long getInt() const;
166  signed long long getMinInt() const;
168  signed long long getMaxInt() const;
170  double getActual() const;
172  double getMinActual() const;
174  double getMaxActual() const;
176  double getRealInt() const;
178  double getRealMinInt() const;
180  double getRealMaxInt() const;
182  double getToReal() const;
184  int getFinishClock() const;
186  std::vector<std::pair<std::string, std::vector<int> > > const getArgumentSignals() const;
190  int calType() const;
192  int calType(double minValue) const;
194  int calBitwidth() const;
196  int calBitwidth(int type, signed long long minInt, signed long long maxInt);
198  int calFinishClock() const;
200  std::string getVhdlCode() const;
202  bool getPrintVhdl() const;
204  std::string getVhdlOutputFile() const;
205 
208  void matchUnit(TRGCDCJSignal& first, TRGCDCJSignal& second) const;
210  void swap(TRGCDCJSignal& first, TRGCDCJSignal& second) const;
212  bool orderLargestBitsize(TRGCDCJSignal& large, TRGCDCJSignal& small) const;
214  signed long long calMaxInteger() const;
216  signed long long calMinInteger() const;
218  static TRGCDCJSignal const absolute(TRGCDCJSignal const& first);
220  //void calTypeBitwidth(TRGCDCJSignal const & first, std::string operation, TRGCDCJSignal const & second, int & type, int & bitwidth) const;
222  static signed long long calInt(double value, TRGCDCJSignal const& mother);
224  static void calVhdlTypeBitwidth(TRGCDCJSignal const& first, std::string& operation, TRGCDCJSignal const& second, int& type,
225  int& bitwidth);
227  void initArgumentSignals();
229  static void combineArguments(TRGCDCJSignal const& first, TRGCDCJSignal const& second, TRGCDCJSignal& result) ;
231  void initVhdlCode();
233  void toSignedVhdlCode();
235  void toUnsignedVhdlCode();
237  static void vhdlCode(TRGCDCJSignal const& first, std::string operation, TRGCDCJSignal const& second, TRGCDCJSignal const& result,
238  std::string& targtVhdlCode);
240  static void vhdlCode(std::string operation, TRGCDCJSignal const& first, TRGCDCJSignal const& result, std::string& targetVhdlCode);
242  static std::string replaceWithSignalNames(std::string const& fromVhdlCode,
243  std::vector<std::pair<std::string, std::vector<int> > > const& fromVhdlSignals, int const& finishClock,
244  std::map<std::string, std::vector<int> >& buffers);
246  static std::string assignVhdlCode(TRGCDCJSignal const& target, TRGCDCJSignal const& from);
248  static std::string chooseVhdlCode(TRGCDCJSignal const& target, TRGCDCJSignal const& reference,
249  std::vector<std::vector<TRGCDCJSignal> > const& data);
251  static std::string ifElseVhdlCode(std::vector<std::pair<TRGCDCJSignal, std::vector<std::pair<TRGCDCJSignal*, TRGCDCJSignal> > > >
252  const& data);
254  void printVhdl(std::string& vhdlCode);
256  void checkInt(std::string name) const;
258  static bool isSameSignal(TRGCDCJSignal const& lhs, TRGCDCJSignal const& rhs);
261  static void valuesToMapSignals(std::vector<std::tuple<std::string, double, int, double, double, int> > const& inValues,
262  Belle2::TRGCDCJSignalData* inCommonData, std::map<std::string, Belle2::TRGCDCJSignal>& outMap);
266  static void mapSignalsToValues(std::map<std::string, Belle2::TRGCDCJSignal>const& inMap,
267  std::vector<std::pair<std::string, int> > const& inChoose,
268  std::vector<std::tuple<std::string, double, int, double, double, int> >& outValues);
269 
270  private:
271 
274  std::string m_name;
276  int m_type;
277  int m_bitsize;
280  signed long long m_int;
282  std::vector<bool> m_slv;
284  signed long long m_minInt;
286  signed long long m_maxInt;
288  double m_actual;
290  double m_minActual;
292  double m_maxActual;
294  double m_toReal;
296  bool m_debug;
298  std::string m_vhdlCode;
301  std::vector<std::pair<std::string, std::vector<int> > > m_argumentSignals;
304  //bool m_printVhdl;
307 
308  };
309 
311 }
312 
313 #endif /* TRGCDCJSignal_FLAG_ */
Belle2::TRGCDCJSignal::setVhdlOutputFile
void setVhdlOutputFile(std::string filename)
Sets ouptut VHDL filename.
Definition: JSignal.cc:1353
Belle2::TRGCDCJSignal::getInt
signed long long getInt() const
Get integer value of signal.
Definition: JSignal.cc:1381
Belle2::TRGCDCJSignal::calFinishClock
int calFinishClock() const
Claculates the clock tick where the signal is valid.
Definition: JSignal.cc:1481
Belle2::TRGCDCJSignal::checkInt
void checkInt(std::string name) const
Checks underflow or overflow for TRGCDCJSignal.
Definition: JSignal.cc:2172
Belle2::TRGCDCJSignal::replaceWithSignalNames
static std::string replaceWithSignalNames(std::string const &fromVhdlCode, std::vector< std::pair< std::string, std::vector< int > > > const &fromVhdlSignals, int const &finishClock, std::map< std::string, std::vector< int > > &buffers)
Writes final vhdl code.
Definition: JSignal.cc:1899
Belle2::TRGCDCJSignal::m_name
std::string m_name
Memebers.
Definition: JSignal.h:274
Belle2::TRGCDCJSignal::m_commonData
TRGCDCJSignalData * m_commonData
The common JSignalData.
Definition: JSignal.h:306
Belle2::TRGCDCJSignal::m_minInt
signed long long m_minInt
The minimum integer value.
Definition: JSignal.h:284
Belle2::TRGCDCJSignal::calInt
static signed long long calInt(double value, TRGCDCJSignal const &mother)
Calculates integer value with unit of a TRGCDCJSignal.
Definition: JSignal.cc:1666
Belle2::TRGCDCJSignal::setName
void setName(std::string name)
Setters, Getters Sets name of signal.
Definition: JSignal.cc:1302
Belle2::TRGCDCJSignal::setPrintVhdl
void setPrintVhdl(bool printVhdl)
Sets print flag for signal.
Definition: JSignal.cc:1345
Belle2::TRGCDCJSignal::operator-
const TRGCDCJSignal operator-() const
Unary operator.
Definition: JSignal.cc:280
Belle2::TRGCDCJSignal::chooseVhdlCode
static std::string chooseVhdlCode(TRGCDCJSignal const &target, TRGCDCJSignal const &reference, std::vector< std::vector< TRGCDCJSignal > > const &data)
Writes the choose vhdl code.
Definition: JSignal.cc:2003
Belle2::TRGCDCJSignal::initArgumentSignals
void initArgumentSignals()
Initializes the argument signals for the signal.
Definition: JSignal.cc:1708
Belle2::TRGCDCJSignal::choose
static void choose(TRGCDCJSignal &target, TRGCDCJSignal const &targetMin, TRGCDCJSignal const &targetMax, TRGCDCJSignal const &reference, std::vector< std::vector< TRGCDCJSignal > > data, int targetClock)
Case method.
Definition: JSignal.cc:622
Belle2::TRGCDCJSignal::slvToSigned
static const TRGCDCJSignal slvToSigned(TRGCDCJSignal const &in, double const &toReal, signed long long const &minInt, signed long long const &maxInt, double const &actual, double const &minActual, double const &maxActual, int const &finishClock)
Change slv to signed with target clock.
Definition: JSignal.cc:1044
Belle2::TRGCDCJSignal::getCommonData
TRGCDCJSignalData * getCommonData() const
Get the sharged JSignalData.
Definition: JSignal.cc:1441
Belle2::TRGCDCJSignal::toUnsignedVhdlCode
void toUnsignedVhdlCode()
Changes signal type to unsigned type in VHDL.
Definition: JSignal.cc:1769
Belle2::TRGCDCJSignal::getType
int getType() const
Get type of signal.
Definition: JSignal.cc:1371
Belle2::TRGCDCJSignal::setCommonData
void setCommonData(TRGCDCJSignalData *)
Sets JSignalData to signal.
Definition: JSignal.cc:1361
Belle2::TRGCDCJSignal::initVhdlCode
void initVhdlCode()
Initializes the vhdl code.
Definition: JSignal.cc:1742
Belle2::TRGCDCJSignal::m_minActual
double m_minActual
The minimum float value.
Definition: JSignal.h:290
Belle2::TRGCDCJSignal::getActual
double getActual() const
Get float value of signal.
Definition: JSignal.cc:1396
Belle2::TRGCDCJSignal::operator+
const TRGCDCJSignal operator+(TRGCDCJSignal const &rhs) const
Arithmetic add operator.
Definition: JSignal.cc:311
Belle2::TRGCDCJSignal
A class to use Signals for TRGCDC 3D tracker.
Definition: JSignal.h:36
Belle2::TRGCDCJSignal::getFinishClock
int getFinishClock() const
Gets clock tick where signal is make.
Definition: JSignal.cc:1431
Belle2::TRGCDCJSignal::comp
static TRGCDCJSignal comp(TRGCDCJSignal const &lhs, std::string operate, TRGCDCJSignal const &rhs)
Compare two signals.
Definition: JSignal.cc:1173
Belle2::TRGCDCJSignal::m_type
int m_type
Type of signal.
Definition: JSignal.h:276
Belle2::TRGCDCJSignal::operator<=
TRGCDCJSignal & operator<=(TRGCDCJSignal const &rhs)
Assign operator.
Definition: JSignal.cc:273
Belle2::TRGCDCJSignal::calType
int calType() const
Calculated what type the signal is.
Definition: JSignal.cc:1451
Belle2::TRGCDCJSignal::m_bitsize
int m_bitsize
+1: unsigned.
Definition: JSignal.h:278
Belle2::TRGCDCJSignal::getRealMinInt
double getRealMinInt() const
Get converted float value of minimum integer.
Definition: JSignal.cc:1416
Belle2::TRGCDCJSignal::calMinInteger
signed long long calMinInteger() const
Calculate min value for a binary number.
Definition: JSignal.cc:1552
Belle2::TRGCDCJSignal::m_slv
std::vector< bool > m_slv
storage for std_logic_vector. (Will be deprecated.)
Definition: JSignal.h:282
Belle2::TRGCDCJSignal::getMinActual
double getMinActual() const
Get minimum float value of signal.
Definition: JSignal.cc:1401
Belle2::TRGCDCJSignal::getRealMaxInt
double getRealMaxInt() const
Get converted float value of maximum integer.
Definition: JSignal.cc:1421
Belle2::TRGCDCJSignal::invOffset
const TRGCDCJSignal invOffset(TRGCDCJSignal const &valueMin) const
Outputs a signal that is not offset.
Definition: JSignal.cc:607
Belle2::TRGCDCJSignal::getVhdlOutputFile
std::string getVhdlOutputFile() const
Gets the vhdl output file name.
Definition: JSignal.cc:1510
Belle2::TRGCDCJSignalData
A class to hold common data for JSignals.
Definition: JSignalData.h:34
Belle2::TRGCDCJSignal::m_debug
bool m_debug
The debug flag.
Definition: JSignal.h:296
Belle2::TRGCDCJSignal::toSignedVhdlCode
void toSignedVhdlCode()
Changes signal type to signed type in VHDL.
Definition: JSignal.cc:1751
Belle2::TRGCDCJSignal::vhdlCode
static void vhdlCode(TRGCDCJSignal const &first, std::string operation, TRGCDCJSignal const &second, TRGCDCJSignal const &result, std::string &targtVhdlCode)
Writes vhdl code using two signals.
Definition: JSignal.cc:1782
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGCDCJSignal::m_toReal
double m_toReal
The toReal value.
Definition: JSignal.h:294
Belle2::TRGCDCJSignal::getBitsize
double getBitsize() const
Get bitwidth of signal.
Definition: JSignal.cc:1376
Belle2::TRGCDCJSignal::orderLargestBitsize
bool orderLargestBitsize(TRGCDCJSignal &large, TRGCDCJSignal &small) const
Orders the TRGCDCJSignals by bitsize. Next priority is unsigned, signed, minus unsigned....
Definition: JSignal.cc:1519
Belle2::TRGCDCJSignal::getToReal
double getToReal() const
Get toReal value of signal.
Definition: JSignal.cc:1426
Belle2::TRGCDCJSignal::shift
const TRGCDCJSignal shift(int nBits, int operate=1) const
Shift signal. Shift direction is right. operate=0 to change m_toReal(unit).
Definition: JSignal.cc:562
Belle2::TRGCDCJSignal::calBitwidth
int calBitwidth() const
Calculates the bit width.
Definition: JSignal.cc:1465
Belle2::TRGCDCJSignal::setFinishClock
void setFinishClock(int finishClock)
Sets finish clock of signal.
Definition: JSignal.cc:1335
Belle2::TRGCDCJSignal::unsignedToSlv
static const TRGCDCJSignal unsignedToSlv(TRGCDCJSignal const &in)
Change unsigned to slv.
Belle2::TRGCDCJSignal::mapSignalsToValues
static void mapSignalsToValues(std::map< std::string, Belle2::TRGCDCJSignal >const &inMap, std::vector< std::pair< std::string, int > > const &inChoose, std::vector< std::tuple< std::string, double, int, double, double, int > > &outValues)
Choose => [signalName, FpgaEffects(=1)/NoFpgaEffects(=0)] Values => [name, value, bitwidth,...
Definition: JSignal.cc:2224
Belle2::TRGCDCJSignal::m_finishClock
int m_finishClock
Holds the clock tick when the signal is valid.
Definition: JSignal.h:303
Belle2::TRGCDCJSignal::matchUnit
void matchUnit(TRGCDCJSignal &first, TRGCDCJSignal &second) const
Utilities.
Definition: JSignal.cc:1264
Belle2::TRGCDCJSignal::combineArguments
static void combineArguments(TRGCDCJSignal const &first, TRGCDCJSignal const &second, TRGCDCJSignal &result)
Combines arguments of signals.
Definition: JSignal.cc:1735
Belle2::TRGCDCJSignal::offset
const TRGCDCJSignal offset(TRGCDCJSignal const &valueMin) const
Outputs an offset signal which is an unsigned signal.
Definition: JSignal.cc:593
Belle2::TRGCDCJSignal::getRealInt
double getRealInt() const
Get converted float value of integer.
Definition: JSignal.cc:1411
Belle2::TRGCDCJSignal::operator*
const TRGCDCJSignal operator*(TRGCDCJSignal const &rhs) const
Arithmetic multiply operator.
Definition: JSignal.cc:433
Belle2::TRGCDCJSignal::calVhdlTypeBitwidth
static void calVhdlTypeBitwidth(TRGCDCJSignal const &first, std::string &operation, TRGCDCJSignal const &second, int &type, int &bitwidth)
Calculates vhdl bitwidth and type for operation.
Definition: JSignal.cc:1671
Belle2::TRGCDCJSignal::signedToSlv
static const TRGCDCJSignal signedToSlv(TRGCDCJSignal const &in)
Change signed to slv.
Belle2::TRGCDCJSignal::getPrintVhdl
bool getPrintVhdl() const
Gets the print vhdl flag from common JSignalData class.
Definition: JSignal.cc:1501
Belle2::TRGCDCJSignal::limit
const TRGCDCJSignal limit(signed long long minInt, signed long long maxInt, double minActual, double maxActual) const
Limits min and max values using specific integers. Use only for ifElse. Doesn't check overflow,...
Definition: JSignal.cc:961
Belle2::TRGCDCJSignal::ifElse
static void ifElse(std::vector< std::pair< TRGCDCJSignal, std::vector< std::pair< TRGCDCJSignal *, TRGCDCJSignal > > > > &data, int targetClock)
If else implementation with target clock.
Definition: JSignal.cc:804
Belle2::TRGCDCJSignal::setDebug
void setDebug(bool debug)
Sets debug flag for signal.
Definition: JSignal.cc:1340
Belle2::TRGCDCJSignal::~TRGCDCJSignal
~TRGCDCJSignal()
Destructor.
Definition: JSignal.h:58
Belle2::TRGCDCJSignal::toSlv
static const TRGCDCJSignal toSlv(TRGCDCJSignal const &in, int test)
Change signal to std_logic_vector using vector<bool>. (Will be deprecated.)
Definition: JSignal.cc:1125
Belle2::TRGCDCJSignal::valuesToMapSignals
static void valuesToMapSignals(std::vector< std::tuple< std::string, double, int, double, double, int > > const &inValues, Belle2::TRGCDCJSignalData *inCommonData, std::map< std::string, Belle2::TRGCDCJSignal > &outMap)
Values => [name, value, bitwidth, min, max, clock] Changes values to signals.
Definition: JSignal.cc:2207
Belle2::TRGCDCJSignal::dump
void dump() const
Methods.
Definition: JSignal.cc:540
Belle2::TRGCDCJSignal::getArgumentSignals
const std::vector< std::pair< std::string, std::vector< int > > > getArgumentSignals() const
Gets the signal names and values that made this signal.
Definition: JSignal.cc:1436
Belle2::TRGCDCJSignal::slvToUnsigned
static const TRGCDCJSignal slvToUnsigned(TRGCDCJSignal const &in, double const &toReal, signed long long const &minInt, signed long long const &maxInt, double const &actual, double const &minActual, double const &maxActual, int const &finishClock)
Change slv to unsigned with target clock.
Definition: JSignal.cc:1085
Belle2::TRGCDCJSignal::resize
const TRGCDCJSignal resize(int bitwidth) const
Resizes signal.
Definition: JSignal.cc:993
Belle2::TRGCDCJSignal::setInt
void setInt(signed long long value)
Sets integer value of signal.
Definition: JSignal.cc:1307
Belle2::TRGCDCJSignal::printVhdl
void printVhdl(std::string &vhdlCode)
Prints vhdl code.
Definition: JSignal.cc:2158
Belle2::TRGCDCJSignal::getMaxActual
double getMaxActual() const
Get maximum float value of signal.
Definition: JSignal.cc:1406
Belle2::TRGCDCJSignal::getMaxInt
signed long long getMaxInt() const
Get maximum integer value of signal.
Definition: JSignal.cc:1391
Belle2::TRGCDCJSignal::getName
std::string getName() const
Get name of signal.
Definition: JSignal.cc:1366
Belle2::TRGCDCJSignal::absolute
static const TRGCDCJSignal absolute(TRGCDCJSignal const &first)
Absolute TRGCDCJSignal. Removes 1 bit if signed or minus unsigned.
Definition: JSignal.cc:1566
Belle2::TRGCDCJSignal::m_maxInt
signed long long m_maxInt
The maximum integer value.
Definition: JSignal.h:286
Belle2::TRGCDCJSignal::setToReal
void setToReal(double value)
Sets toReal factor of signal.
Definition: JSignal.cc:1317
Belle2::TRGCDCJSignal::m_maxActual
double m_maxActual
The maximum float value.
Definition: JSignal.h:292
Belle2::TRGCDCJSignal::m_argumentSignals
std::vector< std::pair< std::string, std::vector< int > > > m_argumentSignals
vector<int> is {type, bitwidth, clock} Holds the arguments that made the signal.
Definition: JSignal.h:301
Belle2::TRGCDCJSignal::setBitsize
void setBitsize(int bitsize)
Sets bitwidth of signal.
Definition: JSignal.cc:1327
Belle2::TRGCDCJSignal::calMaxInteger
signed long long calMaxInteger() const
Calculate max value for a binary number.
Definition: JSignal.cc:1539
Belle2::TRGCDCJSignal::setActual
void setActual(double value)
Sets float value of signal.
Definition: JSignal.cc:1312
Belle2::TRGCDCJSignal::assignTo
TRGCDCJSignal & assignTo(TRGCDCJSignal const &rhs, int targetClock, std::string &finalCode)
Assign operator with setting target clock with outputing final code.
Definition: JSignal.cc:173
Belle2::TRGCDCJSignal::m_actual
double m_actual
The float value.
Definition: JSignal.h:288
Belle2::TRGCDCJSignal::getMinInt
signed long long getMinInt() const
Get minimum integer value of signal.
Definition: JSignal.cc:1386
Belle2::TRGCDCJSignal::swap
void swap(TRGCDCJSignal &first, TRGCDCJSignal &second) const
Swaps the TRGCDCJSignals.
Definition: JSignal.cc:1245
Belle2::TRGCDCJSignal::setType
void setType(int type)
Sets type of signal.
Definition: JSignal.cc:1322
Belle2::TRGCDCJSignal::ifElseVhdlCode
static std::string ifElseVhdlCode(std::vector< std::pair< TRGCDCJSignal, std::vector< std::pair< TRGCDCJSignal *, TRGCDCJSignal > > > > const &data)
Writes the ifElse vhdl code.
Definition: JSignal.cc:2114
Belle2::TRGCDCJSignal::isSameSignal
static bool isSameSignal(TRGCDCJSignal const &lhs, TRGCDCJSignal const &rhs)
Checks if signal is same signal.
Definition: JSignal.cc:2200
Belle2::TRGCDCJSignal::getVhdlCode
std::string getVhdlCode() const
Gets the vhdl code for the signal.
Definition: JSignal.cc:1496
Belle2::TRGCDCJSignal::m_int
signed long long m_int
integer value of signal.
Definition: JSignal.h:280
Belle2::TRGCDCJSignal::TRGCDCJSignal
TRGCDCJSignal()
Constructor.
Definition: JSignal.cc:56
Belle2::TRGCDCJSignal::assignVhdlCode
static std::string assignVhdlCode(TRGCDCJSignal const &target, TRGCDCJSignal const &from)
Writes the assign vhdl code.
Definition: JSignal.cc:1948
Belle2::TRGCDCJSignal::m_vhdlCode
std::string m_vhdlCode
Holds the vhdl code.
Definition: JSignal.h:298