AnsweredAssumed Answered

PROBLEM DURING MERGING GDS FILES

Question asked by luciano.artuso on Aug 26, 2016
Latest reply on Sep 27, 2016 by luciano.artuso

    Hello,

 

I used this tcl script on command line

 

calibredrv  myfile.tcl

 

to merge 3 different gds files.

 

The output gds file, has been created with correct hierarchy but empty layout.

 

What is it wrong in my tcl scritp??

 

   Many thanks

 

         Ciao

 

       Luciano

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# Load file.gds

 

set Lone [layout create file1.gds -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]

set precision [expr int (1/([$Lone units]))]

$Lone units microns $precision

array set peekdata [layout peek file1.gds -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

 

set Ltwo [layout create file2.gds.gz -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]

set precision2 [expr int (1/([$Ltwo units]))]

$Ltwo units microns $precision2

array set peekdata [layout peek file2.gds.gz -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

 

set Lthre [layout create file3.gds.gz -dt_expand -preservePaths -preserveProperties -preserveTextAttributes]

set precision3 [expr int (1/([$Lthre units]))]

$Lthre units microns $precision3

array set peekdata [layout peek file3.gds.gz -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

 

# Create empty cell

set Lnew [layout create]

 

# Create new topcell

$Lnew create cell TOP

 

# Copy patterns on new layout

$Lnew create cell ONE $Lone [$Lone topcell]

$Lnew create cell TWO $Ltwo [$Ltwo topcell]

$Lnew create cell THRE $Lthre [$Lthre topcell]

 

# Place cell reference on new layout

$Lnew create ref TOP ONE 0 -3743.5 0 0 1

$Lnew create ref TOP TWO 4358.5 -3366.5 0 0 1

$Lnew create ref TOP THRE -4546.5 -3282.5 0 0 1

$Lnew units microns $precision

 

# Create final gds file

$Lnew gdsout test.gds.gz TOP

array set peekdata [layout peek test.gds.gz -type -precision -topcell -topcells -layers]

puts $peekdata(layers)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Outcomes