|
degate 0.1.1
|
00001 /* -*-c++-*- 00002 00003 This file is part of the IC reverse engineering tool degate. 00004 00005 Copyright 2008, 2009, 2010 by Martin Schobert 00006 00007 Degate is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 any later version. 00011 00012 Degate is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with degate. If not, see <http://www.gnu.org/licenses/>. 00019 00020 */ 00021 00022 #ifndef __DEGATE_H__ 00023 #define __DEGATE_H__ 00024 00025 /*! @mainpage libdegate 00026 * 00027 * @section intro_degate_sec What is degate? 00028 * 00029 * Degates' purpose is to aid reverse engineering of integrated circuits (ICs). 00030 * Degate helps you to explore images from ICs. It matches logic gates on the 00031 * imagery given by graphical templates and it assists you in tracing circuit paths. 00032 * 00033 * Degate is not a completely automatic analyzing tool. Degate helps you with 00034 * some automation in your manual reverse engineering process. 00035 * 00036 * Please have a look on the project website to learn more about degate. 00037 * @see http://www.degate.org 00038 * 00039 * 00040 * @section intro_libdegate_sec What is libdegate? 00041 * 00042 * Libdegate is a part of the degate project. It is a shared library, that implements 00043 * the core functionality of degate. The core functionality is basically working with 00044 * degate projects, with the logic model and with images. This library is documented 00045 * here. 00046 * 00047 * @ref example_page The example section explains how you can program with libdegate. 00048 */ 00049 00050 /*! @page example_page Examples 00051 * 00052 * @section howto_sec How to use libdegate? 00053 * 00054 * This section describes how to use libdegate in order to access logic model related 00055 * data and images from project files. The example presented here is taken from the 00056 * directory \p examples. You can find further examples below the 'tools' directory. 00057 * 00058 * @subsection example1 Example 1: Use the project importer. 00059 * 00060 * In the following example we will load a degate project and print the logic model. 00061 * 00062 * @include read_a_project.cc 00063 * 00064 * @subsection example2 Example 2: Load project and export the project as LaTeX code. 00065 * 00066 * This example shows code to iterate over project data, especially the cell library. 00067 * Cell library images are exported using the tool 'convert' from the ImageMagick tool 00068 * suite. 00069 * 00070 * @include gate_lib_doc.cc 00071 * 00072 */ 00073 00074 00075 #include "globals.h" 00076 #include "degate_exceptions.h" 00077 00078 /* 00079 These include for logic model related structures have 00080 to be in the correct order. 00081 */ 00082 00083 #include <LogicModelObjectBase.h> 00084 #include <Net.h> 00085 #include <Layer.h> 00086 #include <LogicModel.h> 00087 #include <ConnectedLogicModelObject.h> 00088 #include <PlacedLogicModelObject.h> 00089 #include <GateTemplate.h> 00090 00091 #include "BoundingBox.h" 00092 #include "RegularGrid.h" 00093 #include "IrregularGrid.h" 00094 00095 #include <PortColorManager.h> 00096 #include <Image.h> 00097 00098 //#include <PluginBase.h> 00099 00100 #endif
1.7.4