Ieee Paper
Ieee Paper
Ieee Paper
K.S.Chari
1
, Senior Member I.E.E.E, Manoj Sharma
2
, Member I.E.E.E.,
Former Registrar, Semiconductor Integrated Circuits Layout Design Registry, Govt. Of India, New Delhi
Formerly at Semiconductor IC Layout Design Registry, New Delhi, Currently at CDAC Noida.
Correspondence mail: chari.ks@gmail.com
Abstract : ICs have become pervasive in practically all electronic
applications and products. Continuous innovation and tailoring
design techniques have spawned several IC designs catering to
distinct uses. The paper highlights the matters of comparison of
Integrated Circuit (IC) Layout Designs (LDs) using industry
standard and custom Electronic Computer Aided Design (ECAD)
tools and reports their performance viz -a- viz some key attributes
for IC layout design comparison. The features of the tools for
Cadence-Virtuoso; Mentor-Caliber;Synopsis-Hercules; Tanner-
LEdit, and the two customized tools Softjin-NxCompare and
ICLDDTv1 are described along with detailed IC layout
comparison example performance runs with Softjin tools. An
assessment on catching potential copying or infringements
between given IC designs was checked through appropriate GDSII
files of the design. From the analysis of the various features and
results reported in this paper , it is concluded that the standard IC
Design tools lack in their efficiency in terms of layout geometric
comparisons and the customized tools demonstrate superior
performances proving their immense value for robust comparison
of any given Integrated Circuit Layout Design geometric patterns
i.e .gds files . The later tools by virtue of their superior functional
attributes and analysis abilities could cater to determination of
distinctiveness of IC LD patterns as well as absence or extent of
copying inherent between two IC LD files ( a new LD filed and a
gold reference LD file in data base) for Intellectual Property (IP)
determinations. The later tools could also aid the IC Designer in
the enhancing the innovation process and tagging the third party
IPs mapped in to the design.
Index TermsIP, IC LD, equivalence check, ECAD tools,
assessment of LDs and piracy
I. INTRODUCTION
IC Layouts faithfully represent the topology of the actual
geometries in the circuit design to be fabricated in silicon
meeting the design rules of implementation technology. The
rules are effective interface between the design and the
fabrication (lambda or micron-based) in producing a working
silicon [1]. In modern times, the processes of fabrication are
virtually implemented in the ECAD tools enabling the
emulation of the physical working silicon IC in terms of its
layout. Due to this successful mapping of fabrication process
on to the layout design process, the layouts are treated as
fingerprint of the physical silicon IC. The correctness and
quality of the fabricated silicon thus directly depends upon the
quality of the layout design. An enormous amount of
investment, effort and cost in terms of highly trained
engineers, financing the developments, creation and use of
sophisticated tools and libraries are employed in realizing IC
Layout Design (IC LD) besides the rigorous testing and
verification before tape-out etc. Preventing the IC layout
design from infringements is thus very important and essential
for preserving the Intellectual Property Right (IPR) of creators
and rewarding the efforts [2][4] . The term intellectual
Property (IPR) refers to the recognition of set of exclusive
rights arising from any distinct creation of human mind. The
distinct creation is taken as intangible asset of the creator [3].
In the case of IC Designs, just as in other IP protections, the
creator by protecting/ registering the ICLD , gets benefited in
two ways:
- Gets right to stop unauthorized use of the created IP
- Get rights to commercially exploit the created IP
Initially, there was no separate IP Act for protection of
Semiconductor Integrated Circuit IC Layout Designs
(SICLDs). The creator of a new IC LD could then protect
the design under the categories of Copy Right or Industry
Property or other provisions of Intellectual property
protection as applicable in their countries. Globally, in late
1990s since the electronic- semiconductor industry is growing
at a very fast pace, it was felt that to protect IC LD there
should be separate IP law and administering set up.
Accordingly under provisions of agreements in Trade Related
Intellectual Property (TRIPs), globally many countries have
legislated the SICLD law and put in place the protection
mechanisms. In India too , the Government had legislated the
SICLD Act in 2000 and recently established SICLD Registry
(SICLDR) specifically for registering the IC LDs . Importance
of IP for IC LD lies in the fact that the layout design of the IC
is the fingerprint of the IC. The fabrication industry uses this
fingerprint information in any graphical data interchange
format (generally GDSII) as input to their fabrication process.
With the continuous scaling down of the device building
blocks, need of new layout design with reduced area along
with more functionality implemented in them is becoming
order of the day. The area occupied by the LD directly affects
the costing of the IC product. The ICs, having permeated
aggressively in all parts of the human ecosystem ranging from
entertainment, education, health, communication ; the
increasing complexity and sophistication of IC products is
getting reflected in the IC LDs generated. With shrinkages in
time to market an electronic product and the fierce
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 798
competition for market share, there is susceptibility of
copying the popular IC products through copying of layout
design in toto i.e copy each layer ( mask layer ) layer by layer
or copy in portions ( i.e parts) or embed the earlier LD with
some cosmetic changes in original LD in efforts to come up
with the same functional or near identical derived product . It
is worth to note that each mask layer consists of different
size(s) polygons of different shape, different distribution at
different co-ordinates arranged in a very systematic manner
that is unique to given design. With the lurking of possibilities
of misuse, the process of screening a LD for many criteria of
originality, distinctiveness, distinguishable from existing
designs or commonly known designs assumes importance both
for the creator of designs ( i.e designer) as well as the statutory
authorities who process the IP of LD submitted for
registrations and accord approval or denial of registrations.
From the foregoing, it can be seen that an effective assessment
and layout comparison is a vital issue ; and can significantly
impact the value for IP, credibility of IP sanctioning or
catching the infringer and preventing registrations for
illegitimate designs. In this paper an attempt is made to study
and report the capabilities in some existing popular and
custom ECDA tools vis--vis matters of assessment and
comparisons of IC LDs.
II. ECAD TOOLS - CAPABILITY FROM STANDARD VENDORS
For comparing the LDs effectively, the user need to have
image comparison tools or graphical data viewers and
comparators because comparing millions of geometries in two
LDs is impossible manually. It will also aid further, if the user
also has capabilities to operate on given LDs to analyze them
with different set of combinations and permutations to
effectively compare the two LDs ( reference or gold LD and
LD on hand). A study of features supported in standard tools
show the following picture.
Synopsys : Synopsys Hercules tool for DRC and LVS
provides some feature to perform geometry comparison on the
IC Layouts. But the features available to the user are not
exclusive, useful and sufficient for validating the IC Layout
Designs. It can perform XOR, AND, NOT, functions on the
geometries. Hercules takes GDS file and layer info as input
and provides the difference in the layout. It also has some
features for selective comparison of the IC LD[8].
QckBool: It performs Boolean functions, OR, AND, XOR,
reversal, Clip, Sizing, Cropping a circuit of an array [5].
VsulalChip300: Provides XOR feature [6].
Cadence: Using Cadence Assura DRC XOR operation can
be performs on IC LD [7].
Mentor Graphics: Calibre-DRC/LVS/XOR/xRc proved
XOR feature to be performed on GDSII file.
Tanner: LEdit provides feature to compare two layouts, but
it accepts only tanner database file (.tdb) as input. Hence this
creates issues of tool dependency. Also does not have interface
to consider transformations. A summarization of the abilities
of the major tools is brought out in Table I.
TABLE I: FEATURES OF STANDARD TOOLS FOR LD
COMPARISON
Vendor-Tool
Operations
XOR
AN
D
OR
Re
ver
sal
Clip
Sizin
g
File
Format
Cadence-
Virtuoso
Yes No No No No No NA
Mentor-Caliber Yes No No No No No GDS
Synopsis-
Hercules
Yes
Ye
s
Yes No No No GDS
Tanner-Ledit Yes No No No No No
Tool
intermid
iate
QckBool Yes
Ye
s
Yes
Ye
s
Yes Yes GDS
VsulalChip300 Yes No No No No No GDS
The features available, at present, with in tools from most
standard vendors are aimed to verify the changes in the design
iterations only ( for primary use of design debug and capturing
design changes between various editions etc) and do not
support the analysis of created LD with another LD reference
or allow different set of transformations (shift, scale, mirror,
rotate, origin set units set) in the LD comparison stages. These
constraints thus restrict the use of standard tools in matters of
assessing and comparing any given IC LD with another LD.
III. DEDICATED CUSTOM LD COMPARISON TOOLS
M/s Softjin, Technologies [9] provides dedicated tools
(NxCompare, ICLDDTv1.0), for comparing the topologies of
the IC design. The tools can import two given GDSII files and
generate a difference GDSII file on run. The tools also provide
a set of additional features that are not available in standard
tools but are of prime importance in matters of IC LD
evaluation. A gist of the capabilities offered by the versions is
as under:
A. NxCompare
NxComapre tool creates a differential GDS file /ASCII file
that can be stored and analyzed . The standard version does
not provide any interface with a GDS viewer. Hence the user
has to manually analyze the generated differential output by
appropriate inferences of the given two GDS input files or
externally interface a GDS viewer to read the differential file
created by NXCompare analysis. In the present study, a public
domain GDS viewer - OwlVision is used . NxCompare is
based on distributed processing applications and tested on Red
Hat ES Linux3.0 and Red Hat ES Linux 4.0.NxCompare, on
run enables comparison of the two input IC design data files
irrespective of their complexity. Layer by layer comparison of
the geometries in the input file is possible. NxComapre
differential file need to be interpreted manually by seeing the
number of geometries in the differential files. Hence analysis
on IC layouts with respect to commonalities in the geometry is
not easy.
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 799
The features and major components of NxCompare are:
1) Supported formats: NxCompare supports cross format
comparison. The input data to be compared can be of any
formats given below.
GDSII; OASIS; OASIS.VSB; MEBES
2) Supported formats for NxCompare results.
GDSII; OASIS; OASIS.VSB;MEBES; CSV
3) NxCompare supports different levels of layout comparison.
They are Full-chip comparison; Window-specific comparison,
Hierarchy-specific comparison and Layer specific comparison
4) NxCompare supports the following transformations on input
data. Scaling; Rotation ; Shift; Mirroring; Tone reversal
5) Operations for comparison of input data.
XOR ; SUB; NOT operations
6) Supports user specific resize on results of comparison.
In this study, the NxCompare tool is tested and verified by
running different GDS II example files.
B. ICLDDT v.1.0
ICLDDT v1.0 consists of two integrated modules:
1) NxCompare tool ( module in (A) enabling
comparison of GDS layout files)
2) Hotscope- a custom commercial GDS viewer
integrated with a Graphical interface. ( allowing easy and
rapid viewing of input GDS files, the difference output GDS
file generated from the NxCompare software tool)
ICLDDTv1.0 is thus an improvised version of NxCompare
with buil-in powerful graphical viewer and a user interface
(GVUI). Table II summarizes the abilities between the
versions.
IV. RUN EXAMPLES
The NxCompare and ICLDDTv1.0 by M/s Softjin
Technologies have been tested on RedHat Linux ES 3.0 (32-
bit/64-bit) and RedHat Linux ES 4.0 (32-bit/64-bit). The
minimum RAM requirement of the NxCompare and
ICLDDTv1.0 is 4 GB where as test run had much enhanced
memory of 16GB RAM . Hardware details are:
Dell Power edge 2100 series
Hard Disk: 3 x 500GBs
Additional Storage Unit: Hitachi Storage Unit
connected to Dell server through fiber cable
Hard Disk in Hitachi Storage unit: 8 x 500GB
As ICLDDTv1.0 is enhanced version of NxCompare
integrated with an additional GDS viewer only, common run
examples are discussed below and summarized in Table III:
TABLE III: SUMMARY OF EXAMPLES RUNS
ExS.
No
Input File
Details
Type of
Comparison
Conclusion
1 The GDS file(s)
inputted to the
tool are the
same in this
example. The
GDS file is
extracted from
the layout of a
4x16 decoder
circuit.
XOR is done
on two same
GDS files.
Layer mapping
information is
given in the
script file. All
layers are
compared by
providing the
compare list.
Here same input GDS file was
given and compared with XOR.
As the geometries match 100%
the tool outputs '0' number of
geometries in the out-put
differential file with a message
'MATCH' by the tool. Hotscope
GDS viewer is automatically
invoked with the two input GDS
files. From the output obtained
it is concluded that the XOR
operation is done successfully on
the given two distinct GDS files.
2 The GDS file(s)
inputted to the
tool are the
same in this
example. The
GDS file is
extracted from
the layout of a
4x16 decoder
circuit.
SUB is done
on two same
GDS files.
Layer mapping
information is
given in the
script file. All
layers are
compared by
providing the
compare list.
Here same input GDS file was
given and compared with SUB.
As the geometries match 100%
the tool put '0' number of
geometries in the out-put
differential file (NxCompare)
with a message 'MATCH' by the
(ICLDDT) tool. From the
observed output it is concluded
that the SUB operation is done
successfully on the given two
distinct GDS file and Hotscope
is invoked automatically by the
ICLDDTv1.0 tool.
3
The GDS file(s)
inputted to the
ICLDDTv1.0
tool are
different in this
example. The
first GDS file
contains
different
polygons in 10
different layers.
XOR is done
on two
different GDS
files. Layer
mapping
information is
given in the
script file. All
layers are
compared by
providing the
Here two different input GDS
file were input and compared
with XOR. As the two GDS file
have some same geometries,
they get canceled and
uncommon geometries in the
two input files are put into the
out-put difference file, with
number of uncommon
geometries and a message
'MISMATCH' by the tool. The
TABLE II: FEATURE COMPARISON OF NXCOMPARE AND
ICLDDT V1.0
Features NxCompare ICLDDTv
1.0
GUI NO NO
Integrated GDS Viewer NO YES
Compare Type XOR YES YES
SUB YES YES
NOT YES YES
AND NO YES
OR NO YES
NAND NO YES
Input File Format GDSII YES YES
OASIS YES YES
MEBES YES YES
OASIS NO NO
MASK NO NO
OASIS.VSB YES YES
VSB-12 NO NO
JEOL NO NO
Output File Format GDSII YES YES
OASIS YES YES
MEBES YES YES
OASIS.VSB YES YES
JEOL NO NO
CSV YES YES
Integration with Layer Map Info YES YES
Potentiality of Layer Map Info NO YES
File Size supported > GB >100 GB
Selective layer Comparison YES YES
Merging of Layers YES YES
Transformations Shift YES YES
Rotate YES YES
Magnify YES YES
Mirror YES YES
Auto-facility to clean work area NO YES
Viewing differential GDS along with input
two GDS files in separate windows
NO YES
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 800
The second
GDS file
contains some
geometries
which are same
to first GDS file
and some
which are
different.
compare list created out-put differential GDS
file is automatically opened in
the Hotscope GDS viewer along
with the two input GDS files.
From the observed outfile it is
concluded that the XOR
operation is done successfully on
the given two distinct GDS file
and Hotscope is invoked
automatically by the
ICLDDTv1.0 tool.
4 The GDS file(s)
inputted to the
ICLDDTv1.0
tool are
different in this
example. The
first GDS file
contains
different
polygons in 10
different layers.
The second
GDS file
contains some
geometry which
are same to fist
GDS file and
some which are
different.
SUB is done
on two
different GDS
files. Layer
mapping
information is
given in the
script file. All
layers are
compared by
providing the
compare list
Here two different input GDS
file were given and compared
with SUB (Subtraction)
operation. The common
geometries between two GDS
files are subtracted from GDS
file one and uncommon
geometries in the first input
file are put into the out-put
difference file, with number of
uncommon geometries and a
message 'MISMATCH' by the
tool. The created out-put
differential GDS file is
automatically opened in the
Hotscope GDS viewer along
with the two input GDS files.
From the observed output , it
is concluded that the SUB
operation is done successfully
on the given two distinct GDS
file .
5 The GDS file(s)
inputted to the
ICLDDTv1.0
tool have same
design but with
different origin.
The GDS file
is of 2x4
decoder in 15
layers. The shift
in the origin is
in such a way
that that the
design have
overlap area of
75% approx.
XOR is done
on the GDS
files. Layer
mapping
information is
given in the
script file. All
layers are
compared by
providing the
compare list.
The shift in the
origin is not
taken care-off.
Here two input GDS file was
given and compared with XOR
operation. Two GDS files have
same design but with different
origins and while comparing
this shift is not taken care off,
hence uncommon geometries in
the two input files are put into
the out-put difference file, with
number of uncommon
geometries and a message
'MISMATCH' by the tool. The
created out-put differential GDS
file is automatically opened in
the Hotscope GDS viewer along
with the two input GDS files.
From this it is concluded that if
the shift is not considered then
the GDS file with same circuit
but different origin would be
considered as different. In this
case, the copying is not caught
in screening step.
6 The GDS file(s)
inputted to the
ICLDDTv1tool
have same
design but with
different origin.
The GDS file
is of 2x4
decoder in 15
layers. The shift
in the origin is
in such a way
that that the
design have
overlap area of
75% approx.
XOR is done
on the GDS
files. Layer
mapping
information is
given in the
script file. All
layers are
compared by
providing the
compare list.
The shift in the
origin is
considered
while
comparing.
Here two input GDS files were
given and compared with XOR.
Two GDS file have same design
but with different origins and
while comparing this shift is
factored in the tool. Hence the
geometries match 100%, the
tool puts '0' number of
geometries in the out-put
differential file with a message
'MATCH' by the tool. From this
it is concluded that if the shift is
considered then the GDS file
with same circuit but different
origin would be considered as
same and is properly caught.
7
The GDS file(s)
inputted to the
ICLDDTv1 tool
have same
design.. The
GDS file is of
an adder in 16
layers.
XOR is done
on the GDS
files. Layer
mapping
information is
given in the
script file.
Selected 4
layers are
compared by
providing the
compare list.
The second
file is shifted
in the origin
by (10000,
10000) while
comparing.
Here two input GDS file were
input and compared with XOR
operation. The GDS files have
same design. Here four layers
out of the total 16 layers are
compared and one input file is
shifted by (10000, 10000). The
uncommon geometries in the
two input files are put into the
out-put difference file, with
number of uncommon
geometries and a message
'MISMATCH' by the tool. The
created out-put differential GDS
file is automatically opened in
the Hotscope GDS viewer along
with the two input GDS files.
From the observed output, it is
concluded that the selective
layer comparison is done
successfully.
8
The GDS file(s)
inputted to the
ICLDDTv1tool
have similar
design with
little difference
in 10 layers
AND is done
on the GDS
files. Layer
mapping
information is
given in the
script file. All
layers are
compared by
providing the
compare list.
Here two input GDS file was
given and compared with AND
operation . Two GDS files had
similar design. . The uncommon
geometries in the two input files
are put into the out-put
difference file, with a message
'MISMATCH' by the tool. The
created out-put differential GDS
file is automatically opened in
the Hotscope GDS viewer along
with the two input GDS files. .
V. RUN OUTPUTS AND INTERPRETATIONS
Example 1: In this example two identical GDSII file are
compared. Using XOR features. As the designs are same, tool
generated a zero difference GDSII file. It states that the two
inputted GDSII files MATCH. Total Number of layers: 9
Conclusion drawn: As same file was given as input to the
tool , the there is 100% matching and hence zero difference
file is created. Hence XOR operation is performed properly.
Example 2: In this example two identical GDSII file are
compared using SUB operation. The geometries from second
GDSII file are subtracted from the first. As the designs are
same, tool generated a zero difference GDSII file. It states that
the two inputted GDSII files MATCH.
Figure 1: Figure shows the input file which is a 4x16 decoder
circuit drawn on 9 layers
Conclusion drawn: As same file was given as input to the
NxCompare, there is 100% matching and hence zero
difference file is created . SUB operation performed properly.
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 801
Example 3: Two GDSII files which have some common part
and some differences are inputted to the tool and compared
using XOR. XOR outputs uncommon part from both the
GDSII files. From the example run the common part of the two
GDSII files are canceled and the differences in the two GDS
files are putted into the difference GDSII file. The tool states
that two GDSII file UNMATCH and provide the number of
differences ( different geometries) found in the two GDSII
files.
Figure 2: As same GDS file is inputted to ICLDDTv1.0 tool
therefore upon comparing the files there is no difference
geometries generated.
Figure 3: As same GDS file is inputted to ICLDDTv1.0 tool
therefore upon comparing the files there is no difference
geometries generated.
Example 4: Two GDSII files which have some common part
and some differences are inputted to the tool and compared
using SUB. The geometries from second GDSII file are
subtracted from the first. From the example run the common
part of the two GDSII files are canceled from the first GDSII
file and the uncommon part is putted into the difference GDSII
file. The tool states that two GDSII file UNMATCH and
provide the number of differences ( different geometries)
found in the two GDSII file.
Type of Comparison: XOR
Details of first and second GDS file :
Total Number of layers: 10, Size of file: 202752 byte
Figure 4: Figures shows the complete view of the input GDS
file in which geometries are drawn on 10 layers.
Figure 5: Shows Zoomed view of first file
Figure 6: Shows full view second file
The complete view of second input GDS file is shown in the
figure. This file is derived from the first input GDS file by
doing some modifications in some part of the design. Zoomed
view of a part of the second input GDS file is shown in the
figure 7. The second column shown in the figure is the part of
modification done in the first input GDS file to create the
second GDS file. Upon run of ICLDDTv1.0 tool with file
script example1.tcl, it compares the two input files and
generate an out-differential GDS file. These three GDS files
are automatically opened in the Hotscope GDS viewer. The
common part of design in two input GDS files is not putted
into the out differential file. A small window in the Hotscope
GDS viewer prompts 'MISMATCH' indicating that the two
inputted GDS files did not match. It is seen in the figure that
the common geometries in the input file '1' and input file '2'
are not put into the out file. The out differential file contains
only those geometries which are not common in the two input
files.
Figure 7: Zoomed view of second file
A more zoomed view is shown for a more clear visualization
of the difference file created.
Conclusion drawn: As seen from the difference output file
the common part between the input files has not come and the
uncommon geometries appear in the difference file, hence the
XOR is working
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 802
Figure 8: Complete view of input file1, inputfile2 and output
difference file
Figure 9: Shows the zoomed view1 to able to see the
comparison of two input GDS file.
Figure 10: Zoomed view 2 to able to see the comparison of
two input GDS file
Example 5: Two GDSII files are take. The second GDSII file
contains same design but with shift in origin.
a) when no shift is applied while comparinghere yet
the design are same but their coordinate position are different
hence these are taken as UNMATCHED LDs.
Type of Comparison: XOR operation is done to compare the
two inputted GDS files
Total Number of layers: 15 Size of file: 14336 bytes
Description of file: The input GDS files have same circuit ie of
a 2x4 decoder circuit. The second GDS input file is shifted in
the origin in such a way that the designs has a overlap of about
75%.
Figure 11: Input GDS files
Output on the nxmdp at console is:
NO of shapes detected : 771 status : MISMATCH
Conclusion drawn: Here the input GDS files contain identical
circuits but the design in the second GDS files is shifted along
x-axis. Hence while compared the inputted GDS files the
common geometries in the input files are removed and only the
uncommon geometries (arising due to shifting of second GDS
file) are given in the output difference GDS files. Hence it is
concluded from this that is the same design/geometries are
shifted then the tool would not recognize their identically and
user have to provide some transformations in terms of the shift
to match the design in the two GDS files.
Figure 12: Complete view of input file1, input file2 and output
file.
Figure 13: Zoomed view to able to see the comparison of two
input GDS file
Example 5: Two GDSII files are taken. The second GDSII
file contains same design but with shift in origin.
b) when shift is applied while comparingas the
coordinate positions are matched and being the same design tool
now is able to MATCH the two LDs.
Type of Comparison: XOR with shift applied on the first input
GDS file.
Details of input file 1 and 2
Total Number of layers: 15 Size of file: 14336 bytes
Description of file: The input GDS files have same circuit ie of
a 2x4 decoder circuit. The second GDS input file is shifted in
the origin in such a way that the deigns has a overlap of about
75%.
Figure 14: Input GDS files
Output on the 'nxmdp' at console is Number of shapes
detected in the output file : 0 status : MATCH
Conclusion drawn: Here the input GDS files contain identical
circuits but the design in the second GDS files is shifted along
x-axes. In this example while comparing the first inputted
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 803
GDS file is shifted before comparison hence the two design in
the two inputted GDS files match 100% and therefore a zero
difference GDS files is created. Hence it is concluded from
this that is the same design/geometries are shifted then the tool
would recognize their identically when the user provide some
transformations in terms of the shift to match the design in the
two GDS files. As in this example the tool responds with Zero
difference between the designs.
Figure 15: View input file1, input file2 and output file.
Example 6: Two GDSII files are inputted to tool containing
identical design. But selected layers are compared. This proves
tools capability to compare geometries on selected layers only.
Here four layers out of the total 16 layers are compared and
one input file is shifted by (10000, 10000)
Type of Comparison: XOR
Size of input file1 : 94208 bit ( 94 MB)
Size of input file2 : 94208 bit ( 94 MB), No of layers: 16
Figure 16: View input file
Figure 17: View input file 1, input file 2 and out diff file
Output on the 'nxmdp' at console is
Number of shapes detected in the output file : 76
status : MISMATCH
Conclusion drawn: Here only four layers out of 16 are
compared . Seeing the output of NXMDP it is concluded that
selective layer comparison is done successfully.
Example 7: Two GDSII files are inputted to tool containing
identical design. But selected layers are merged and
compared. This proves tools capability to compare geometries
on selected layers only which may conatin the merged
geometries
Here different layers are compared and put into one layer
hence merging of layer is done.
Type of Comparison: XOR
Details of input file 1 and input file 2
Size of input file1 : 94208 bit ( 94 MB)
Size of input file2 : 94208 bit ( 94 MB)
Figure 18: View input file
Number of layers: 16
Figure 19: View input file 1, input file 2 and out diff file
Output on the 'nxmdp' at console is
Number of shapes detected in the output file : 157
status : MISMATCH
Conclusion drawn: Here the layer number 44,45,46,47,48, are
merged in the output file. The out difference file from the
NXMDP tool confirms the successful merging of layers after
comparison.
Example 8. Two GDS file having similar deign are compared
Type of Comparison: AND
Size of input file1 : 124928 bit ( 112 MB)
Size of input file2 : 112640 bit ( 112 MB)
Number of layers: 10
Layer description :
{nwell {42:0}}
{active {43:0}}
{pdiffusion {44:0}}
{ndiffusion {45:0}}
{poly {46:0}}
{contact_poly_metal {47:0}}
{contact_metal_diffusion {48:0}}
{metal1 {49:0}}
{contact_metal1_metal2 {50:0}}
{metal2 {51:0}}
Details of the Script file are as follows:
Name of path Script file: ./name1.tcl
script :
set newLayoutDesign ./s2.gds
set registeredLayoutDesign ./s3.gds
set output s4.gds
set fh1 [Nx::InputLayoutHandle $newLayoutDesign GDS -topcell nxboolean-
top ]
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 804
set fh2 [Nx::InputLayoutHandle $registeredLayoutDesign GDS -topcell
nxboolean-top ]
set outfh [Nx::OutputLayoutHandle $output GDS]
set layermap1 {
{nwell {42:0}}
{active {43:0}}
{pdiffusion {44:0}}
{ndiffusion {45:0}}
{poly {46:0}}
{contact_poly_metal {47:0}}
{contact_metal_diffusion {48:0}}
{metal1 {49:0}}
{contact_metal1_metal2 {50:0}}
{metal2 {51:0}}
}
Nx::LayerMap fh1 $layermap1
Nx::LayerMap fh2 $layermap1
set commdbu "1e-09"
Nx::DBU $commdbu -g 1
Nx::SetDPParams -pd 0
Nx::Cleanup -l 0
NxBool::XOR -i $fh1 {nwell} -i $fh2 {nwell} -o "42:0"
NxBool::XOR -i $fh1 {active} -i $fh2 {active} -o "43:0"
NxBool::XOR -i $fh1 {pdiffusion} -i $fh2 {pdiffusion} -o "44:0"
NxBool::XOR -i $fh1 {ndiffusion} -i $fh2 {ndiffusion} -o "45:0"
NxBool::XOR -i $fh1 {poly} -i $fh2 {poly} -o "46:0"
NxBool::XOR -i $fh1 {contact_poly_metal} -i $fh2 {contact_poly_metal} -o
"47:0"
NxBool::XOR -i $fh1 {contact_metal_diffusion} -i $fh2
{contact_metal_diffusion} -o "48:0"
NxBool::XOR -i $fh1 {metal1} -i $fh2 {metal1} -o "49:0"
NxBool::XOR -i $fh1 {contact_metal1_metal2} -i $fh2
{contact_metal1_metal2} -o "50:0"
NxBool::XOR -i $fh1 {metal2} -i $fh2 {metal2} -o "51:0"
set result [Nx::Exec .]
puts $result
Nx::Display $newLayoutDesign $registeredLayoutDesign $output
Figure 20: View input file 1, input file 2 and out diff file
Figure 21: View diff file zoom
Output on the 'nxmdp' at console is Number of shapes
detected in the output file : 93 Status : MISMATCH
Conclusion drawn: The extra part is shown clearly in this out-
diff file.
VI. RESULTS AND DISCUSSION
From the study of standard and custom ECAD tools and
many run examples on shortlisted tool, it has been shown that
the normal standard tools do not provide enough abilities to
analyze effectively the IC design from a LD point of view;
and for the later requirement the custom IC LD comparison
tool from Softjin exhibited several useful features required for
effective geometric comparison of the LD using their GDSII
files. It is seen that for detailed analyses, the LDs are to be
compared with different set of permutations and combinations
of the transformations to rule out the commonalities between
the GDSII files. Of the two custom ECAD tools, NxCompare
does not have interface with any GDS viewer where as
ICLDDT v1.0 has this built-in interface with a commercial
GDS viewer Hotscope offering the user ability to rapidly
analyze the difference GDS files in a more detailed way. Run
data had shown that ICLDDT v1.0 is a sophisticated tool
that could be leveraged for assessing or distinguishing the
given LDs and catching copying or piracy to serve the needs
of a designer/creator and IP assessing/granting institution.
Work experience with the tool has shown potentials of
building further improvements ( eg: quantitative analysis and
statistical data , tagging and identifying dummy LD areas etc)
as value enhancers over the existing version to serve the future
needs of complex IC design evaluations effectively.
VII. CONCLUSION
The paper highlights the importance of IPR for IC LD and
comparison of the IC LDs geometrically. The features
available in present tools for geometric comparisons are not
sufficient. Two dedicatedly designed tools for geometric
comparison of the IC LDs are discussed through example runs.
Data presented showed the ability to the custom tools to
undertake satisfactorily assessment/evaluations of IC Layout
Design files (GDS files) to serve as a valuable diagnostic tool
in the hands of the user.
ACKNOWLEDGMENT
The authors thank the SICLD Registry, Department of
Information Technology , Govt. of India for facilitating the
study reported..
REFERENCES
[1] MOS and BiCMOS circuit design process Basic VLSI Design,
Douglas A Pucknell, Kamran Eshraghian, 3
rd
Edition,Chapter 3., pp 60-
70
[2] Intellectual Property- http://en.wikipedia.cry/wiki/Intellectual_property
24 Feb 201
[3] What is Intellectual Property: - http://www.wipo.int/about_ip/en 24 Feb
2011
[4] Integrated Circuit layout Design Protection
http://en.wikipedia.org/wiki/Integrated_circuit_layout_design_protectio
n
[5] Qckbool http://www.artwork.com/pogon/index.htm
[6] Visualchip3000
http://www.numericalinnovations.com/visualchip3000.html
[7] Product- Virtuso http://www.cadence.com
[8] Tools- Hercules http://www.synopsys.com
[9] EDA Products - Post Layout EDA Products http://www.softjin.com
Proceedings of 2011 International Conference on Signal Processing, Communication, Computing and Networking Technologies (ICSCCN 2011)
978-1-61284-653-8/11/$26.00 2011 IEEE 805