Skip to content

kngine/checker_ICCAD16-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

==========================================================================
Checker_ICCAD16-C version 1.0

This program is for evaluation for Problem C of ICCAD-2016 CAD Contest
https://cad-contest-2016.el.cycu.edu.tw/Problem_C/default.html
The program mainly checks whether or not the clustering result is valid

For any question, please contact
Jian Kuang
Department of Computer Science and Engineering,
the Chinese University of Hong Kong.
jkuang@cse.cuhk.edu.hk
mr.kngine@gmail.com
=========================================================================



=========================================================================
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
===========================================================================




=========================================================================
File list:
parse: the executable
header.h: header file with data structures
parse.cpp: major source file
lib.a: library file
makefile: make file used to compile
parse.o: binary file compiled from parse.cpp
=========================================================================


You must have boost library to compile the files
http://www.boost.org/users/download/
However, you can run the executable without boost

Tested with gcc version 4.8.4, Ubuntu 4.8.4-2ubuntu1~14.04.3, Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz

To compile:
simply type "make -B"

Usage: ./parse <input_gds_file> <ACC/ECC> <threshold> <clip_width> <clip_height> <overlay_gds_file>

Notes: 
1. This program is general enough to support the case of abutting/overlapping markers/clips.
2. A cluster is valid as long as there is at least one clip in a cluster that can be the representative.
3. The input clip_width and clip_height must match with the size of the clips in overlay_gds_file, otherwise there will be errors.

[Examples for Commands]
./parse ../benchmark/testcase1.gds ECC 4 192 192 ../benchmark/overlay_testcase1e4.gds
./parse ../benchmark/testcase2.gds ACC 0.95 200 200 ../benchmark/overlay_testcase2ap95.gds
./parse ../benchmark/testcase3.gds ACC 0.95 250 250 ../benchmark/overlay_testcase3ap95.gds 

[Sample Output for overlay_testcase1ap95.gds]
parsing cluster file...
extrating clips...
=printing clusters:=
cluster 1: 1 3 7 8 9 13
cluster 2: 0 4 5 6 11 15
cluster 3: 2 10 12
cluster 4: 14
Total clip #: 16
=checking cluster similarity...=
- now checking cluster 1 -
cluster 1 is valid with representative being clip 1
- now checking cluster 2 -
cluster 2 is valid with representative being clip 0
- now checking cluster 3 -
cluster 3 is valid with representative being clip 2
- now checking cluster 4 -
cluster 4 is valid with representative being clip 14
=clusters checking finished=
Solution is valid.
----------Number of cluster: 4------------


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages