torc-master
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
XdlDiffMain.cpp
Go to the documentation of this file.
1
// Torc - Copyright 2011-2013 University of Southern California. All Rights Reserved.
2
// $HeadURL$
3
// $Id$
4
5
// This program is free software: you can redistribute it and/or modify it under the terms of the
6
// GNU General Public License as published by the Free Software Foundation, either version 3 of the
7
// License, or (at your option) any later version.
8
//
9
// This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
11
// the GNU General Public License for more details.
12
//
13
// You should have received a copy of the GNU General Public License along with this program. If
14
// not, see <http://www.gnu.org/licenses/>.
15
16
/// \file
17
/// \brief Source for a PhysicalDiff command line utility.
18
/// \details Opens up two designs with the XDLImporter and then compares them with PhysicalDiff.
19
20
#include <fstream>
21
#include "
PhysicalDiff.hpp
"
22
#include "
torc/common/DirectoryTree.hpp
"
23
#include "
torc/physical/XdlImporter.hpp
"
24
25
/// \brief Main entry point for the xdldiff tool.
26
int
main
(
int
argc,
char
*argv[]) {
27
typedef
std::string
string
;
28
torc::common::DirectoryTree
directoryTree(argv[0]);
29
30
if
(argc != 3) {
31
std::cout <<
"Usage: "
<< argv[0] <<
" <xdlfile1> <xdlfile2>"
<< std::endl;
32
return
1;
33
}
34
string
argleft = argv[1];
35
string
argright = argv[2];
36
37
// create the appropriate file paths
38
boost::filesystem::path
leftPath = directoryTree.
getExecutablePath
() / argleft;
39
boost::filesystem::path
rightPath = directoryTree.
getExecutablePath
() / argright;
40
41
std::fstream fileLeft(leftPath.string().c_str());
42
std::fstream fileRight(rightPath.string().c_str());
43
44
// import the designs
45
torc::physical::XdlImporter
importer;
46
47
importer(fileLeft, leftPath.string());
48
torc::physical::DesignSharedPtr
designPtrLeft = importer.
getDesignPtr
();
49
50
importer(fileRight, rightPath.string());
51
torc::physical::DesignSharedPtr
designPtrRight = importer.getDesignPtr();
52
53
// create the physical diff object and perform the diff.
54
torc::PhysicalDiff
diff(std::cout);
55
bool
result = diff.
diff
(designPtrLeft, designPtrRight);
56
57
if
(result) std::cout <<
"No differences found."
<< std::endl;
58
59
return
0;
60
}
61
torc::physical::XdlImporter::getDesignPtr
DesignSharedPtr getDesignPtr(void)
Returns a shared pointer for the design.
Definition:
physical/XdlImporter.hpp:143
DirectoryTree.hpp
Header for the DirectoryTree class.
PhysicalDiff.hpp
PhysicalDiff class for comparing physical netlists.
torc::bitstream::string
std::string string
Definition:
LibGenFactory.hpp:35
XdlImporter.hpp
Header for the XdlImporter class.
torc::common::DirectoryTree
Encapsulation of filesystem paths that are used by the library.
Definition:
DirectoryTree.hpp:28
torc::bitstream::path
boost::filesystem::path path
Definition:
LibGenFactory.hpp:36
torc::physical::DesignSharedPtr
boost::shared_ptr< Design > DesignSharedPtr
Shared pointer encapsulation of a Design.
Definition:
physical/Design.hpp:134
main
int main(int argc, char *argv[])
Main entry point for the xdldiff tool.
Definition:
XdlDiffMain.cpp:26
torc::physical::XdlImporter
Importer from XDL format into a physical design.
Definition:
physical/XdlImporter.hpp:48
torc::PhysicalDiff
Diff utility class for comparing physical netlists.
Definition:
PhysicalDiff.hpp:42
torc::PhysicalDiff::diff
bool diff(const DesignSharedPtr &left, const DesignSharedPtr &right)
Top level call to diff two designs.
Definition:
PhysicalDiff.hpp:120
torc::common::DirectoryTree::getExecutablePath
static const boost::filesystem::path & getExecutablePath(void)
Returns the absolute path to the executable directory.
Definition:
DirectoryTree.hpp:58
src
torc
utils
XdlDiffMain.cpp
Generated on Thu Dec 18 2014 16:30:42 for torc-master by
1.8.6