42 lines
1.2 KiB
Ruby
42 lines
1.2 KiB
Ruby
|
# $autorun
|
||
|
#
|
||
|
# This program is distributed in the hope that it will be useful,
|
||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
# LICENSE file for details.
|
||
|
#
|
||
|
# DESCRIPTION: Cadence techfile converter for KLayout - batch mode interface
|
||
|
#
|
||
|
# Run the script with
|
||
|
# klayout -z -rd tf_file=[input] -rd lyp_file=[output] -r import_tf_standalone.lym ...
|
||
|
#
|
||
|
# The script will convert the Cadence techfile [input] to the layer properties file [output].
|
||
|
# It will require a .drf file which must be located where [input] is found. It will also read
|
||
|
# a .layermap file if there is one beside the [input] file.
|
||
|
# It will prompt for a .drf file if it does not find a unique file.
|
||
|
#
|
||
|
# CAUTION: the script uses a simple parsing scheme of the techfile by converting it into a
|
||
|
# Ruby expression. Hence, no Skill code inside the techfile is evaluated.
|
||
|
#
|
||
|
|
||
|
require "import_tf"
|
||
|
|
||
|
module TechfileToKLayout
|
||
|
|
||
|
# If tf_file is given, this script is executed
|
||
|
if $tf_file
|
||
|
|
||
|
$lyp_file || raise(Exception("$lyp_file not given"))
|
||
|
|
||
|
mw = RBA::Application::instance.main_window
|
||
|
mw.create_view
|
||
|
lv = mw.current_view
|
||
|
|
||
|
import_techfile(lv, $tf_file)
|
||
|
lv.save_layer_props($lyp_file)
|
||
|
|
||
|
end
|
||
|
|
||
|
end
|
||
|
|