torc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
torc::generic::VerilogExporterVisitor Class Referenceabstract

Generic netlist object visitor for output as structural Verilog. More...

#include <VerilogExporterVisitor.hpp>

+ Inheritance diagram for torc::generic::VerilogExporterVisitor:
+ Collaboration diagram for torc::generic::VerilogExporterVisitor:

Public Member Functions

 VerilogExporterVisitor (RootSharedPtr inRootPtr, std::ostream &inStream=std::cout)
 Public constructor. More...
 
virtual ~VerilogExporterVisitor (void) throw ()
 Virtual destructor. More...
 
virtual void visit (_Tp &client)=0 throw (Error)
 

Protected Types

typedef std::string string
 Imported type name. More...
 
typedef std::vector
< PortSharedPtr
PortSharedPtrVector
 Vector of port shared pointers. More...
 
typedef std::vector
< PortReferenceSharedPtr
PortReferenceSharedPtrVector
 Vector of port reference shared pointers. More...
 
typedef std::vector< NetSharedPtrNetSharedPtrVector
 Vector of net shared pointers. More...
 

Protected Member Functions

void visit (Root &inroot) throw (Error)
 Visit the top-level netlist. More...
 
void visit (Design &inDesign) throw (Error)
 
void visit (Library &inLibrary) throw (Error)
 
void visit (Cell &inCell) throw (Error)
 
void visit (View &inView) throw (Error)
 
void visit (ScalarPort &inScalarPort) throw (Error)
 
void visit (VectorPort &inVectorPort) throw (Error)
 
void visit (VectorPortBit &inVectorPortBit) throw (Error)
 
void visit (PortBundle &inPortBundle) throw (Error)
 
void visit (ScalarNet &inScalarNet) throw (Error)
 
void visit (VectorNet &inVectorNet) throw (Error)
 
void visit (VectorNetBit &inVectorNetBit) throw (Error)
 
void visit (NetBundle &inNetBundle) throw (Error)
 
void visit (SingleInstance &inSingleInstance) throw (Error)
 
void visit (InstanceArray &inInstanceArray) throw (Error)
 
void visit (InstanceArrayMember &inInstanceArrayMember) throw (Error)
 
void visit (ScalarPortReference &inScalarPortRef) throw (Error)
 
void visit (VectorPortReference &inVectorPortRef) throw (Error)
 
void visit (VectorPortBitReference &inVectorPortBitRef) throw (Error)
 
void visit (PortBundleReference &inPortBundleRef) throw (Error)
 
void visit (SingleParameter &inSingleParameter) throw (Error)
 
void visit (ParameterArray &inParameterArray) throw (Error)
 
void visit (ParameterArrayElement &inParameterArrayElement) throw (Error)
 
void visit (Property &inProperty) throw (Error)
 
void visit (PortList &inPortList) throw (Error)
 
void visit (PortListAlias &inPortListAlias) throw (Error)
 
void visit (Status &inStatus) throw (Error)
 
void visit (Permutable &inPermutable) throw (Error)
 
void visit (InterfaceJoinedInfo &inInterfaceJoinedInfo) throw (Error)
 
void visit (SimulationInfo &inSimulationInfo) throw (Error)
 
void visit (Simulate &inSimulate) throw (Error)
 
void visit (Apply &inApply) throw (Error)
 
void visit (LogicalResponse &inLogicalResponse) throw (Error)
 
void visit (LogicValue &inLogicValue) throw (Error)
 
void visit (LogicElement &inLogicElement) throw (Error)
 
void visit (WaveValue &inWaveValue) throw (Error)
 
void visit (Timing &inTiming) throw (Error)
 
void visit (Event &inEvent) throw (Error)
 
void visit (ForbiddenEvent &inForbiddenEvent) throw (Error)
 
string getName (Nameable &inNameable)
 Return the original or renamed name of the given netlist object. More...
 
string getDirection (Port &inPort)
 Return a string indicating the direction of a port. More...
 
string getRange (VectorPort &inVectorPort)
 Return a string describing the range of a vector port. The range is expressed in the form "[start:end]". More...
 

Protected Attributes

RootSharedPtr mRootPtr
 The root shared pointer. More...
 
VisitorApplier
< VerilogExporterVisitor
mVisitor
 Generic netlist visitor. More...
 
std::ostream & mOut
 The output stream. More...
 
string mTab
 The tab character. More...
 
string mPropertyContainerName
 The current property container name. More...
 

Friends

class torc::generic::generic::VerilogExporterUnitTest
 The unit test class has access to our internals. More...
 

Detailed Description

Generic netlist object visitor for output as structural Verilog.

Definition at line 32 of file VerilogExporterVisitor.hpp.

Member Typedef Documentation

Vector of net shared pointers.

Definition at line 61 of file VerilogExporterVisitor.hpp.

Vector of port reference shared pointers.

Definition at line 59 of file VerilogExporterVisitor.hpp.

Vector of port shared pointers.

Definition at line 57 of file VerilogExporterVisitor.hpp.

typedef std::string torc::generic::VerilogExporterVisitor::string
protected

Imported type name.

Definition at line 55 of file VerilogExporterVisitor.hpp.

Constructor & Destructor Documentation

torc::generic::VerilogExporterVisitor::VerilogExporterVisitor ( RootSharedPtr  inRootPtr,
std::ostream &  inStream = std::cout 
)
inline

Public constructor.

Definition at line 149 of file VerilogExporterVisitor.hpp.

150  : mRootPtr(inRootPtr), mVisitor(*this), mOut(inStream), mTab("\t"),
string mPropertyContainerName
The current property container name.
std::ostream & mOut
The output stream.
RootSharedPtr mRootPtr
The root shared pointer.
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
virtual torc::generic::VerilogExporterVisitor::~VerilogExporterVisitor ( void  )
throw (
)
inlinevirtual

Virtual destructor.

Definition at line 153 of file VerilogExporterVisitor.hpp.

153 {}

Member Function Documentation

string torc::generic::VerilogExporterVisitor::getDirection ( Port inPort)
inlineprotected

Return a string indicating the direction of a port.

Parameters
inPortThe port of interest.
Returns
"input", "output", or "inout".
Todo:
Throw an exception.

Definition at line 132 of file VerilogExporterVisitor.hpp.

132  {
133  switch(inPort.getDirection()) {
134  case ePortDirectionIn: return "input";
135  case ePortDirectionOut: return "output";
136  case ePortDirectionInOut: return "inout";
137  default: break;
138  }
139  /// \todo Throw an exception.
140  return "";
141  }

+ Here is the call graph for this function:

string torc::generic::VerilogExporterVisitor::getName ( Nameable inNameable)
inlineprotected

Return the original or renamed name of the given netlist object.

Parameters
inNameableA Nameable or Renamable object to obtain the name of.

Definition at line 115 of file VerilogExporterVisitor.hpp.

115  {
116  string name;
117  try {
118  // try to obtain the original name, if appropriate and available
119  Renamable& renamable = dynamic_cast<Renamable&>(inNameable);
120  name = renamable.getOriginalName();
121  // if we found an original name, we're done
122  if(name.length()) return name;
123  } catch(std::bad_cast bc) {
124  /* don't need to do anything here */
125  }
126  // return the object name
127  return inNameable.getName();
128  }

+ Here is the call graph for this function:

string torc::generic::VerilogExporterVisitor::getRange ( VectorPort inVectorPort)
protected

Return a string describing the range of a vector port. The range is expressed in the form "[start:end]".

Parameters
inVectorPortThe vector port of interest.

Definition at line 29 of file VerilogExporterVisitor.cpp.

29  {
30  // first try to look for a range directly in the name
31  string name = inVectorPort.getOriginalName();
32  size_t pos = name.find("[");
33  if(pos != string::npos) return name.substr(pos);
34 
35  // otherwise look up the vector range through its properties
36  PropertySharedPtr msbPtr
37  = inVectorPort.getProperty(VerilogNames::getTorcRangeMSBPropertyName());
38  PropertySharedPtr lsbPtr
39  = inVectorPort.getProperty(VerilogNames::getTorcRangeLSBPropertyName());
40  // hopefully we found the properties
41  if(msbPtr && lsbPtr) {
42  stringstream ss;
43  ss << "[" << msbPtr->getValue().get<Value::Integer>() << ":"
44  << lsbPtr->getValue().get<Value::Integer>() << "]";
45  return ss.str();
46  }
47 
48  // apparently neither the name nor the properties were set
49  return "[]";
50  }
static string getTorcRangeMSBPropertyName(void)
Property name for the vector range MSB.
static string getTorcRangeLSBPropertyName(void)
Property name for the vector range LSB.
boost::shared_ptr< Property > PropertySharedPtr

+ Here is the call graph for this function:

template<typename _Tp >
virtual void torc::generic::VisitorType< _Tp >::visit ( _Tp &  client)
throw (Error
)
pure virtualinherited

Visit the target object. This will typically be a derived leaf type.

Parameters
[in,out]clientA reference to the target object
Exceptions
ErrorException generated by any of the functions called from inside visit()

+ Here is the caller graph for this function:

void torc::generic::VerilogExporterVisitor::visit ( Root inroot)
throw (Error
)
protected

Visit the top-level netlist.

Definition at line 53 of file VerilogExporterVisitor.cpp.

53  {
54 // cerr << "Generic root: " << inRoot.getName() << endl;
55  inRoot.applyOnAllDesigns(mVisitor);
56  inRoot.applyOnAllLibraries(mVisitor);
57  }
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
void torc::generic::VerilogExporterVisitor::visit ( Design inDesign)
throw (Error
)
protected

Definition at line 59 of file VerilogExporterVisitor.cpp.

59  {
60 // cerr << "Generic design: " << inDesign.getName() << endl;
61  }
void torc::generic::VerilogExporterVisitor::visit ( Library inLibrary)
throw (Error
)
protected

Definition at line 63 of file VerilogExporterVisitor.cpp.

63  {
64  // we output nothing for inferred black boxes or cell libraries
65  if(inLibrary.getName() == VerilogNames::getInferredBlackBoxesLibraryName()) return;
66  if(inLibrary.getName() == VerilogNames::getImportedCellLibraryName()) return;
67  // process all other libraries
68 // cerr << "Generic library: " << inLibrary.getName() << endl;
69  inLibrary.applyOnAllCells(mVisitor);
70  }
static string getImportedCellLibraryName(void)
Returns the imported cell library name.
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
static string getInferredBlackBoxesLibraryName(void)
Returns the inferred black box library name.

+ Here is the call graph for this function:

void torc::generic::VerilogExporterVisitor::visit ( Cell inCell)
throw (Error
)
protected

Definition at line 72 of file VerilogExporterVisitor.cpp.

72  {
73  // declare the module
74  string name = getName(inCell);
75  mOut << "module " << name << " ";
76  inCell.applyOnAllViews(mVisitor);
77  mOut << "endmodule" << endl << endl;
78  }
std::ostream & mOut
The output stream.
string getName(Nameable &inNameable)
Return the original or renamed name of the given netlist object.
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
void torc::generic::VerilogExporterVisitor::visit ( View inView)
throw (Error
)
protected

Definition at line 80 of file VerilogExporterVisitor.cpp.

80  {
81  // begin the port declaration
82  mOut << "(" << endl;
83  // look up the ports
84  PortSharedPtrVector ports;
85  inView.getPorts(ports);
86  // iterate through the ports
87  PortSharedPtrVector::const_iterator pp = ports.begin();
88  PortSharedPtrVector::const_iterator pe = ports.end();
89  while(pp < pe) {
90  // process each port
91  PortSharedPtr portPtr = *pp++;
92  mOut << mTab << portPtr->getName();
93  if(pp < pe) mOut << ",";
94  mOut << endl;
95  }
96  // end the port declaration
97  mOut << ");" << endl;
98 
99  inView.applyOnAllPorts(mVisitor);
100  inView.applyOnAllNets(mVisitor);
101  inView.applyOnAllInstances(mVisitor);
102  TemporaryAssignment<string> t(mPropertyContainerName, inView.getName());
103  inView.applyOnAllProperties(mVisitor);
104  }
string mPropertyContainerName
The current property container name.
std::ostream & mOut
The output stream.
std::vector< PortSharedPtr > PortSharedPtrVector
Vector of port shared pointers.
boost::shared_ptr< Port > PortSharedPtr
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
void torc::generic::VerilogExporterVisitor::visit ( ScalarPort inScalarPort)
throw (Error
)
protected

Definition at line 106 of file VerilogExporterVisitor.cpp.

106  {
107  inScalarPort.applyOnAllProperties(mVisitor);
108  mOut << getDirection(inScalarPort) << " " << inScalarPort.getName() << ";" << endl;
109  }
string getDirection(Port &inPort)
Return a string indicating the direction of a port.
std::ostream & mOut
The output stream.
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
void torc::generic::VerilogExporterVisitor::visit ( VectorPort inVectorPort)
throw (Error
)
protected

Definition at line 111 of file VerilogExporterVisitor.cpp.

111  {
112  inVectorPort.applyOnAllProperties(mVisitor);
113  mOut << getDirection(inVectorPort) << " " << getRange(inVectorPort) << " "
114  << inVectorPort.getName() << ";" << endl;
115  }
string getDirection(Port &inPort)
Return a string indicating the direction of a port.
std::ostream & mOut
The output stream.
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
string getRange(VectorPort &inVectorPort)
Return a string describing the range of a vector port. The range is expressed in the form "[start:end...
void torc::generic::VerilogExporterVisitor::visit ( VectorPortBit inVectorPortBit)
throw (Error
)
protected
Todo:
Throw an exception.

Definition at line 117 of file VerilogExporterVisitor.cpp.

117  {
118  /// \todo Throw an exception.
119  }
void torc::generic::VerilogExporterVisitor::visit ( PortBundle inPortBundle)
throw (Error
)
protected
Todo:
Throw an exception.

Definition at line 121 of file VerilogExporterVisitor.cpp.

121  {
122  /// \todo Throw an exception.
123  }
void torc::generic::VerilogExporterVisitor::visit ( ScalarNet inScalarNet)
throw (Error
)
protected
Todo:
Shouldn't we declare a wire unless the net contains an input port?

Definition at line 125 of file VerilogExporterVisitor.cpp.

125  {
126  // declare the net as a wire, unless it connects to a port
127  /// \todo Shouldn't we declare a wire unless the net contains an *input* port?
128  vector<PortSharedPtr> ports;
129  inScalarNet.getConnectedPorts(ports);
130  if(ports.size() == 0) {
131  PropertySharedPtr assignPtr
132  = inScalarNet.getProperty(VerilogNames::getTorcAssignRHSPropertyName());
133  mOut << "wire " << inScalarNet.getName();
134  if(assignPtr) mOut << " = " << assignPtr->getValue().get<Value::String>();
135  mOut << ";" << endl;
136  }
137  inScalarNet.applyOnAllProperties(mVisitor);
138  }
static string getTorcAssignRHSPropertyName(void)
Property name for the wire assignment right-hand-side.
std::ostream & mOut
The output stream.
std::string String
Definition: Value.hpp:61
boost::shared_ptr< Property > PropertySharedPtr
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.

+ Here is the call graph for this function:

void torc::generic::VerilogExporterVisitor::visit ( VectorNet inVectorNet)
throw (Error
)
protected

Definition at line 140 of file VerilogExporterVisitor.cpp.

140 {}
void torc::generic::VerilogExporterVisitor::visit ( VectorNetBit inVectorNetBit)
throw (Error
)
protected

Definition at line 141 of file VerilogExporterVisitor.cpp.

141 {}
void torc::generic::VerilogExporterVisitor::visit ( NetBundle inNetBundle)
throw (Error
)
protected

Definition at line 142 of file VerilogExporterVisitor.cpp.

142 {}
void torc::generic::VerilogExporterVisitor::visit ( SingleInstance inSingleInstance)
throw (Error
)
protected

Definition at line 144 of file VerilogExporterVisitor.cpp.

144  {
145  // look up and export the instance information
146  CellSharedPtr cellPtr = inSingleInstance.getMaster()->getParent();
147  mOut << getName(*cellPtr) << " " << getName(inSingleInstance);
148 
149  // look up the port references
150  PortReferenceSharedPtrVector portReferences;
151  inSingleInstance.getPortReferences(portReferences);
152  bool hasPortReferences = portReferences.size() != 0;
153  PortReferenceSharedPtrVector::const_iterator prp = portReferences.begin();
154  PortReferenceSharedPtrVector::const_iterator pre = portReferences.end();
155  if(hasPortReferences) mOut << "(";
156  while(prp < pre) {
157  // process each port reference
158  PortReferenceSharedPtr portReferencePtr = *prp++;
159  //PortAttributesSharedPtr portAttributesPtr = portReferencePtr->getAttributes();
160  (portReferencePtr)->accept(*this);
161  if(prp < pre) mOut << ", ";
162  }
163  // end the port declaration
164  if(hasPortReferences) mOut << ")";
165  mOut << ";" << endl;
166  TemporaryAssignment<string> t(mPropertyContainerName, inSingleInstance.getName());
167  inSingleInstance.applyOnAllProperties(mVisitor);
168  }
string mPropertyContainerName
The current property container name.
std::ostream & mOut
The output stream.
string getName(Nameable &inNameable)
Return the original or renamed name of the given netlist object.
boost::shared_ptr< PortReference > PortReferenceSharedPtr
boost::shared_ptr< Cell > CellSharedPtr
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
std::vector< PortReferenceSharedPtr > PortReferenceSharedPtrVector
Vector of port reference shared pointers.
void torc::generic::VerilogExporterVisitor::visit ( InstanceArray inInstanceArray)
throw (Error
)
protected
Todo:
Throw an exception.

Definition at line 170 of file VerilogExporterVisitor.cpp.

170  {
171  /// \todo Throw an exception.
172  }
void torc::generic::VerilogExporterVisitor::visit ( InstanceArrayMember inInstanceArrayMember)
throw (Error
)
protected
Todo:
Throw an exception.

Definition at line 174 of file VerilogExporterVisitor.cpp.

174  {
175  /// \todo Throw an exception.
176  }
void torc::generic::VerilogExporterVisitor::visit ( ScalarPortReference inScalarPortRef)
throw (Error
)
protected

Definition at line 178 of file VerilogExporterVisitor.cpp.

178  {
179 //mOut << "@";
180  // look up the master port name
181  string name = getName(*(inScalarPortRef.getMaster()));
182  mOut << "." << name << "(";
183  NetSharedPtrVector nets;
184  inScalarPortRef.getConnectedNets(nets);
185  NetSharedPtrVector::const_iterator np = nets.begin();
186  NetSharedPtrVector::const_iterator ne = nets.end();
187  if(nets.size() > 1) {} ///< \todo Throw an exception.
188  while(np < ne) {
189  NetSharedPtr netPtr = *np++;
190  mOut << getName(*netPtr);
191  break;
192  }
193  mOut << ")";
194  inScalarPortRef.applyOnAllProperties(mVisitor);
195  }
std::ostream & mOut
The output stream.
string getName(Nameable &inNameable)
Return the original or renamed name of the given netlist object.
boost::shared_ptr< Net > NetSharedPtr
std::vector< NetSharedPtr > NetSharedPtrVector
Vector of net shared pointers.
VisitorApplier< VerilogExporterVisitor > mVisitor
Generic netlist visitor.
void torc::generic::VerilogExporterVisitor::visit ( VectorPortReference inVectorPortRef)
throw (Error
)
protected

Definition at line 197 of file VerilogExporterVisitor.cpp.

197  {
198 mOut << "[VECTORPORTREFERENCE]";
199 /*
200  NetSharedPtrVector nets;
201  inVectorPortRef.getConnectedNets(nets);
202  NetSharedPtrVector::const_iterator np = nets.begin();
203  NetSharedPtrVector::const_iterator ne = nets.end();
204  if(nets.size() > 1) {} ///< \todo Throw an exception.
205  while(np < ne) {
206  NetSharedPtr netPtr = *np++;
207  mOut << getName(*netPtr);
208  break;
209  }
210 */
211  }
std::ostream & mOut
The output stream.
void torc::generic::VerilogExporterVisitor::visit ( VectorPortBitReference inVectorPortBitRef)
throw (Error
)
protected

Definition at line 213 of file VerilogExporterVisitor.cpp.

213  {
214 mOut << "[VECTORPORTBITREFERENCE]";
215 /*
216  NetSharedPtrVector nets;
217  inVectorPortBitRef.getConnectedNets(nets);
218  NetSharedPtrVector::const_iterator np = nets.begin();
219  NetSharedPtrVector::const_iterator ne = nets.end();
220  if(nets.size() > 1) {} ///< \todo Throw an exception.
221  while(np < ne) {
222  NetSharedPtr netPtr = *np++;
223  mOut << getName(*netPtr) << "[";
224  copy(inVectorPortBitRef.getIndices().begin(), inVectorPortBitRef.getIndices().end(),
225  ostream_iterator<size_t>(mOut, ","));
226  mOut << "]";
227  break;
228  }
229 */
230  }
std::ostream & mOut
The output stream.
void torc::generic::VerilogExporterVisitor::visit ( PortBundleReference inPortBundleRef)
throw (Error
)
protected
Todo:
Throw an exception.

Definition at line 232 of file VerilogExporterVisitor.cpp.

232  {
233  /// \todo Throw an exception.
234 mOut << "[PORTBUNDLEREFERENCE]";
235  }
std::ostream & mOut
The output stream.
void torc::generic::VerilogExporterVisitor::visit ( SingleParameter inSingleParameter)
throw (Error
)
protected

Definition at line 237 of file VerilogExporterVisitor.cpp.

237 {}
void torc::generic::VerilogExporterVisitor::visit ( ParameterArray inParameterArray)
throw (Error
)
protected

Definition at line 238 of file VerilogExporterVisitor.cpp.

238 {}
void torc::generic::VerilogExporterVisitor::visit ( ParameterArrayElement inParameterArrayElement)
throw (Error
)
protected

Definition at line 239 of file VerilogExporterVisitor.cpp.

239 {}
void torc::generic::VerilogExporterVisitor::visit ( Property inProperty)
throw (Error
)
protected
Todo:
Handle properties.

Definition at line 241 of file VerilogExporterVisitor.cpp.

241  {
242  /// \todo Handle properties.
243  const string& name = inProperty.getName();
244  const string torcPrefix = "torc_";
245  stringstream value;
246  Value propertyValue = inProperty.getValue();
247  switch(propertyValue.getType()) {
249  value << (propertyValue.get<Value::Boolean>() ? "true" : "false");
250  break;
252  value << propertyValue.get<Value::Integer>();
253  break;
255  value << "[MiNoMax]";
256  break;
258  value << propertyValue.get<Value::Number>().eval();
259  break;
261  value << "[point]";
262  break;
264  value << '"' << propertyValue.get<Value::String>() << '"';
265  break;
266  default:
267  value << "[unknown]";
268  break;
269  }
270  if(name.compare(0, torcPrefix.length(), torcPrefix) == 0) {
274  mOut << "// property " << name << endl;
275  } else {
276  mOut << "defparam " << mPropertyContainerName << "." << name << " = "
277  << value.str() << ";" << endl;
278  }
279  }
static string getTorcAssignRHSPropertyName(void)
Property name for the wire assignment right-hand-side.
string mPropertyContainerName
The current property container name.
static string getTorcRangeMSBPropertyName(void)
Property name for the vector range MSB.
std::ostream & mOut
The output stream.
std::string String
Definition: Value.hpp:61
static string getTorcRangeLSBPropertyName(void)
Property name for the vector range LSB.

+ Here is the call graph for this function:

void torc::generic::VerilogExporterVisitor::visit ( PortList inPortList)
throw (Error
)
protected

Definition at line 281 of file VerilogExporterVisitor.cpp.

281 {}
void torc::generic::VerilogExporterVisitor::visit ( PortListAlias inPortListAlias)
throw (Error
)
protected

Definition at line 282 of file VerilogExporterVisitor.cpp.

282 {}
void torc::generic::VerilogExporterVisitor::visit ( Status inStatus)
throw (Error
)
protected

Definition at line 283 of file VerilogExporterVisitor.cpp.

283 {}
void torc::generic::VerilogExporterVisitor::visit ( Permutable inPermutable)
throw (Error
)
protected

Definition at line 284 of file VerilogExporterVisitor.cpp.

284 {}
void torc::generic::VerilogExporterVisitor::visit ( InterfaceJoinedInfo inInterfaceJoinedInfo)
throw (Error
)
protected

Definition at line 285 of file VerilogExporterVisitor.cpp.

285 {}
void torc::generic::VerilogExporterVisitor::visit ( SimulationInfo inSimulationInfo)
throw (Error
)
protected

Definition at line 286 of file VerilogExporterVisitor.cpp.

286 {}
void torc::generic::VerilogExporterVisitor::visit ( Simulate inSimulate)
throw (Error
)
protected

Definition at line 287 of file VerilogExporterVisitor.cpp.

287 {}
void torc::generic::VerilogExporterVisitor::visit ( Apply inApply)
throw (Error
)
protected

Definition at line 288 of file VerilogExporterVisitor.cpp.

288 {}
void torc::generic::VerilogExporterVisitor::visit ( LogicalResponse inLogicalResponse)
throw (Error
)
protected

Definition at line 289 of file VerilogExporterVisitor.cpp.

289 {}
void torc::generic::VerilogExporterVisitor::visit ( LogicValue inLogicValue)
throw (Error
)
protected

Definition at line 290 of file VerilogExporterVisitor.cpp.

290 {}
void torc::generic::VerilogExporterVisitor::visit ( LogicElement inLogicElement)
throw (Error
)
protected

Definition at line 291 of file VerilogExporterVisitor.cpp.

291 {}
void torc::generic::VerilogExporterVisitor::visit ( WaveValue inWaveValue)
throw (Error
)
protected

Definition at line 292 of file VerilogExporterVisitor.cpp.

292 {}
void torc::generic::VerilogExporterVisitor::visit ( Timing inTiming)
throw (Error
)
protected

Definition at line 293 of file VerilogExporterVisitor.cpp.

293 {}
void torc::generic::VerilogExporterVisitor::visit ( Event inEvent)
throw (Error
)
protected

Definition at line 294 of file VerilogExporterVisitor.cpp.

294 {}
void torc::generic::VerilogExporterVisitor::visit ( ForbiddenEvent inForbiddenEvent)
throw (Error
)
protected

Definition at line 295 of file VerilogExporterVisitor.cpp.

295 {}

Friends And Related Function Documentation

friend class torc::generic::generic::VerilogExporterUnitTest
friend

The unit test class has access to our internals.

Definition at line 52 of file VerilogExporterVisitor.hpp.

Field Documentation

std::ostream& torc::generic::VerilogExporterVisitor::mOut
protected

The output stream.

Definition at line 68 of file VerilogExporterVisitor.hpp.

string torc::generic::VerilogExporterVisitor::mPropertyContainerName
protected

The current property container name.

Definition at line 72 of file VerilogExporterVisitor.hpp.

RootSharedPtr torc::generic::VerilogExporterVisitor::mRootPtr
protected

The root shared pointer.

Definition at line 64 of file VerilogExporterVisitor.hpp.

string torc::generic::VerilogExporterVisitor::mTab
protected

The tab character.

Definition at line 70 of file VerilogExporterVisitor.hpp.

VisitorApplier<VerilogExporterVisitor> torc::generic::VerilogExporterVisitor::mVisitor
protected

Generic netlist visitor.

Definition at line 66 of file VerilogExporterVisitor.hpp.


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