35 const Design& design = *designPtr;
45 while(pi < ei)
write(**pi++);
50 while(pn < en)
write(**pn++);
58 {
mStream <<
", ";
write(static_cast<const ConfigMap&>(design)); }
63 while(p < e)
write(**p++);
65 write(static_cast<Circuit>(design));
73 {
mStream <<
", ";
write(static_cast<const ConfigMap&>(module)); }
80 while(p < e)
write(**p++);
82 write(static_cast<Circuit>(module));
87 mStream <<
"endmodule \"" << module.
getName() <<
"\";" << std::endl;
94 mStream <<
"port \"" << port.
getName() <<
"\" \"" << instanceName <<
"\" \""
108 const Config& config = p->second;
131 if(tile.empty()) tile =
"unknown";
132 mStream <<
"placed " << tile <<
" " << site;
135 if(instanceReferencePtr.get() != 0) {
138 ?
"[expired module]" : instanceReference.
getModulePtr().lock()->getName();
140 ?
"[expired instance]" : instanceReference.
getInstancePtr().lock()->getName();
142 << moduleName <<
"\" \"" << instanceName <<
"\"";
145 {
mStream <<
", ";
write(static_cast<const ConfigMap&>(instance)); }
160 bool empty = (left == 0);
161 mStream << (empty ?
"" :
",") << std::endl;
173 while(pip < pie)
write(*pip++, --left > 0);
178 write(static_cast<const ConfigMap&>(net));
190 ?
"[expired instance]" : instancePin.
getInstancePtr().lock()->getName();
192 <<
" \"" << instanceName <<
"\" " << instancePin.
getPinName() << (comma ?
"," :
"")
201 << (comma ?
"," :
"");
208 ?
"[expired instance]" : routethrough.
getInstancePtr().lock()->getName();
210 << routethrough.
getValue() <<
" \"" << instanceName <<
"\" "
InstancePinSharedPtrConstIterator sinksBegin(void) const
Returns the begin constant iterator for sink instance pins.
const WireName & getSinkWireName(void) const
Returns the instance sink wire name.
size_t getPipCount(void) const
Returns the number of pips on the net.
InstancePinSharedPtrConstIterator sourcesEnd(void) const
Returns the end constant iterator for source instance pins.
EInstanceBonding
Enumeration of pad bonding types.
PortSharedPtrConstIterator portsEnd(void) const
Returns the end constant iterator for ports.
const string & getSetting(void) const
Returns the _ROUTETHROUGH setting.
InstanceReferenceSharedPtr getInstanceReferencePtr(void) const
Returns the instance reference for this instance, if any.
const string & getPackage(void) const
Returns the device package for this design.
ENetType getNetType(void) const
Returns the net power type. See ENetPowerType.
InstancePinSharedPtrConstIterator sinksEnd(void) const
Returns the end constant iterator for sink instance pins.
const string & getType(void) const
Returns the logic type for this instance.
PortSharedPtrVector::const_iterator PortSharedPtrConstIterator
Constant iterator to Port shared pointers.
const PinName & getPinName(void) const
Returns the pin name.
void write(const Circuit &circuit)
Writes the given Circuit.
std::ostream & mStream
The output stream.
PipVector::const_iterator PipConstIterator
Constant iterator to Pip objects.
InstanceSharedPtrVector::const_iterator InstanceSharedPtrConstIterator
Constant iterator to Instance shared pointers.
const string & getSite(void) const
Returns the placement site for this instance.
PortSharedPtrConstIterator portsBegin(void) const
Returns the begin constant iterator for ports.
const string & getAnchor(void) const
Returns the anchor instance name for this module.
ModuleSharedPtrVector::const_iterator ModuleSharedPtrConstIterator
Constant iterator for Module shared pointers.
const PinName & getPinName(void) const
Returns the pin name.
size_t getSinkCount(void) const
Returns the number of sinks on the net.
const ModuleWeakPtr & getModulePtr(void) const
Returns the weak module pointer.
ModuleSharedPtrConstIterator modulesEnd(void) const
Returns the end constant iterator for modules.
InstancePinSharedPtrConstIterator sourcesBegin(void) const
Returns the begin constant iterator for source instance pins.
const InstanceWeakPtr & getInstancePtr(void) const
Returns the weak instance pointer.
const_iterator const_iterator
Constant iterator to {setting,Config} pairs.
ModuleSharedPtrConstIterator modulesBegin(void) const
Returns the begin constant iterator for modules.
const_iterator configBegin(void) const
Returns the begin constant iterator for configurations.
const WireName & getSinkWireName(void) const
Returns the pip sink wire.
Header for the XdlExport class.
Physical design instance.
Configuration. A {name:value} pair.
PipConstIterator pipsBegin(void) const
Returns the begin constant iterator for pips.
NetSharedPtrConstIterator netsEnd(void) const
Returns the end constant iterator for nets.
RoutethroughSharedPtr getRoutethroughPtr(void) const
Returns the pip's routethrough pointer.
void operator()(const DesignSharedPtr &inDesignPtr)
Top level design exporter operator.
size_t getSourceCount(void) const
Returns the number of sources on the net.
const string & getName(void) const
Returns the object name.
const WireName & getSourceWireName(void) const
Returns the instance source wire name.
Physical design instance-pin pair, suitable for specifying a net endpoint.
const string & getValue(void) const
Return the configuration value.
void indent(void) const
Indent the current line.
boost::shared_ptr< Design > DesignSharedPtr
Shared pointer encapsulation of a Design.
InstancePinSharedPtrVector::const_iterator InstancePinSharedPtrConstIterator
Constant iterator to InstancePin shared pointer objects.
const TileName & getTileName(void) const
Returns the pip tile.
const string & getTile(void) const
Returns the placement tile for this instance.
int mIndentCount
The indent count.
Physical design programmable interconnect point.
const WireName & getSourceWireName(void) const
Returns the pip source wire.
Configuration setting map.
const string & getXdlVersion(void) const
Returns the XDL version for this design.
bool configIsEmpty(void) const
Returns true if the configuration map is empty.
PipConstIterator pipsEnd(void) const
Returns the end constant iterator for pips.
Module input or output port.
const InstanceWeakPtr & getInstancePtr(void) const
Returns the weak instance pointer.
const string & getSpeedGrade(void) const
Returns the device speed grade for this design.
const InstanceWeakPtr & getInstancePtr(void) const
Returns a weak instance pointer.
const string & getDevice(void) const
Returns the target device for this design.
Instantiation of a module instance.
EInstanceBonding getBonding(void) const
Returns the IO bonding for this instance.
Circuit composed of instances and nets.
const_iterator configEnd(void) const
Returns the end constant iterator for configurations.
InstanceSharedPtrConstIterator instancesBegin(void) const
Returns the begin constant iterator for instances.
boost::shared_ptr< InstanceReference > InstanceReferenceSharedPtr
Shared pointer encapsulation of an InstanceReference.
EPinDirection
Enumeration of instance pin directionality.
static const char * getDirectionString(EPipDirection inPipDirection)
Returns the pip directionality as a string.
NetSharedPtrVector::const_iterator NetSharedPtrConstIterator
Constant iterator to Net shared pointers.
bool isRoutethrough(void) const
Indicates whether or not the pip has an associated routethrough.
std::string mIndentString
The indent string.
const string & getInstantiationName(void) const
Returns the instantiation name.
NetSharedPtrConstIterator netsBegin(void) const
Returns the begin constant iterator for nets.
const InstanceWeakPtr & getInstancePtr(void) const
Returns the instance weak pointer.
InstanceSharedPtrConstIterator instancesEnd(void) const
Returns the end constant iterator for instances.