00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <boost/test/unit_test.hpp>
00020 #include "torc/packer/Virtex2PrimitiveStructure.hpp"
00021 #include "torc/architecture/DDB.hpp"
00022 #include <iostream>
00023
00024 namespace torc {
00025 namespace packer {
00026
00027 BOOST_AUTO_TEST_SUITE(packer)
00028
00029
00030 BOOST_AUTO_TEST_CASE(Virtex2PrimitiveStructureUnitTest) {
00031
00032 using namespace torc::architecture;
00033
00034
00035 DDB ddb("xc2v40");
00036
00037 const Sites& sites = ddb.getSites();
00038
00039 typedef std::map<std::string, PrimitiveStructureSharedPtr> PrimitiveStructuresSharedPtrMap;
00040 PrimitiveStructuresSharedPtrMap primitiveStructures;
00041
00042 typedef const Array<const PrimitiveDef> PrimitiveDefArray;
00043 PrimitiveDefArray& primitiveDefs = sites.getSiteTypes();
00044 PrimitiveDefArray::const_iterator p = primitiveDefs.begin();
00045 PrimitiveDefArray::const_iterator e = primitiveDefs.end();
00046 while(p < e) {
00047
00048 PrimitiveStructureSharedPtr primitiveStructurePtr(new Virtex2PrimitiveStructure(&*p++));
00049 const torc::architecture::PrimitiveDef* primitiveDefPtr
00050 = primitiveStructurePtr->getPrimitiveDefPtr();
00051 const std::string& primitiveDefName = primitiveDefPtr->getName();
00052
00053 primitiveStructures[primitiveDefName] = primitiveStructurePtr;
00054 }
00055
00056
00057
00058 PrimitiveStructuresSharedPtrMap::iterator psp = primitiveStructures.begin();
00059 PrimitiveStructuresSharedPtrMap::iterator pse = primitiveStructures.end();
00060 while(psp != pse) {
00061
00062 std::string primitiveDefName = psp->first;
00063 PrimitiveStructureSharedPtr primitiveStructurePtr = psp->second;
00064 (void) primitiveStructurePtr;
00065
00066
00067
00068 psp++;
00069 }
00070
00071 }
00072
00073 BOOST_AUTO_TEST_SUITE_END()
00074
00075 }
00076 }