Generates XDLs for various site types. An XDL is generated for each.
488 std::cerr <<
"Invalid arguments. Usage: " << argv[0] <<
489 " <harness_folder> <xdl_generation_folder>" << std::endl;
499 if(!boost::filesystem::exists(harnessFolderPath)) {
500 std::cout <<
"Folder " << harnessFolderPath.string() <<
" does not exist" << std::endl;
521 typedef std::map<std::string, PrimitiveStructureSharedPtr> PrimitiveStructuresSharedPtrMap;
522 PrimitiveStructuresSharedPtrMap primitiveStructures;
525 PrimitiveDefArray& primitiveDefs = sites.
getSiteTypes();
526 PrimitiveDefArray::const_iterator p = primitiveDefs.begin();
527 PrimitiveDefArray::const_iterator e = primitiveDefs.end();
533 primitiveStructurePtr->getPrimitiveDefPtr();
536 primitiveStructures[primitiveDefName] = primitiveStructurePtr;
540 PrimitiveStructuresSharedPtrMap::iterator psp = primitiveStructures.begin();
541 PrimitiveStructuresSharedPtrMap::iterator pse = primitiveStructures.end();
556 primitiveDefName, harnessFolderPath);
559 std::cout <<
"No test harness for site type " << primitiveDefName << std::endl;
563 std::cout <<
"Working on site type " << primitiveDefName << std::endl;
566 std::stringstream ssXdlFileName;
582 primitiveStructurePtr->getPrimitiveDefPtr();
590 while(pElements != eElements) {
593 if(!primitiveStructurePtr->isRoutethrough(elem)) {
598 instancePtr->getConfig(elem.
getName(), harnessConfigName, harnessConfigVal);
602 if(elem.
getCfgs().size() > 0) {
604 std::stringstream ssReferenceXdlFileName;
614 instancePtr->setConfig(elem.
getName(), harnessConfigName, harnessConfigVal);
const std::string kXDLExtension
const const PrimitiveElement * const_iterator
Constant T iterator type.
Device database, including complete wiring and logic support.
bool LibrarySupportForSiteType(const std::string &siteType)
Returns true if the library supports the site type.
void InitializeElementReferenceConfigMap()
Encapsulation of primitive site definition, with associated connections, elements, and pins.
T * end(void)
Returns the non-constant end iterator.
const std::string kArchitectureName
void InitializeCompoundSettingsMap()
const string & getName(void) const
Returns the name of the element.
static boost::filesystem::path gXDLGenerationFolder
const Array< const PrimitiveDef > & getSiteTypes(void) const
Returns the site types for this family.
Site type and population data for the family and the device.
const Array< const Site > & getSites(void) const
Returns the sites for this family.
Encapsulation of filesystem paths that are used by the library.
bool IsRAMBSite(const std::string &siteType)
boost::filesystem::path path
boost::shared_ptr< Instance > InstanceSharedPtr
Shared pointer encapsulation of an Instance.
static const std::string kXDLReferenceFolder
void GenerateRAMBBaseFile(const std::string &primitiveDefName, torc::physical::DesignSharedPtr designPtr)
boost::shared_ptr< Design > DesignSharedPtr
Shared pointer encapsulation of a Design.
const std::string kNameSeparator
const PrimitiveElementArray & getElements(void) const
Returns a constant array of primitive elements.
void GenerateXdlForElement(const PrimitiveElement &elem, PrimitiveStructureSharedPtr const primitiveStructurePtr, const std::string &siteType, DesignSharedPtr designPtr)
Encapsulation of a primitive site element. Primitive elements are subcomponents of logic primitive s...
T * begin(void)
Returns the non-constant begin iterator.
static boost::filesystem::path gXDLReferenceGenerationFolder
boost::shared_ptr< PrimitiveStructure > PrimitiveStructureSharedPtr
Shared pointer encapsulation of a PrimitiveStructure.
const StringSet & getCfgs(void) const
Returns the set of allowable configuration values.
void GenerateXdlForDSPMaskAndPattern(const std::string &elementName, std::string siteType, torc::physical::DesignSharedPtr designPtr)
torc::physical::DesignSharedPtr GetTestHarnessDesignForSiteType(std::string siteType, const boost::filesystem::path &harnessFolderPath)
bool IsDSPSite(const std::string &siteType)
Subclass of PrimitiveStructure for Virtex5.
Encapsulation of a static array.
void GenerateReferenceXDLForTheElement(const std::string &elementName, DesignSharedPtr harnessDesignPtr, const std::string &xdlFileName)
const string & getName(void) const
Returns the name of the primitive.