mirror of https://github.com/KLayout/klayout.git
Added many Salt templates.
This commit is contained in:
parent
f79b14d0e4
commit
eca08cbd99
|
|
@ -18,6 +18,10 @@
|
|||
<file alias="grain.xml">salt_templates/lib/grain.xml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/lib/libraries">
|
||||
<file alias="new_lib.gds">salt_templates/lib/libraries/new_lib.gds</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/lib/doc">
|
||||
<file alias="readme.html">salt_templates/lib/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- pcell_lib template -->
|
||||
|
|
@ -25,6 +29,10 @@
|
|||
<file alias="grain.xml">salt_templates/pcell_lib/grain.xml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/pcell_lib/macros">
|
||||
<file alias="pcell.lym">salt_templates/pcell_lib/macros/pcell.lym</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/pcell_lib/doc">
|
||||
<file alias="readme.html">salt_templates/pcell_lib/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- macro template -->
|
||||
|
|
@ -38,6 +46,17 @@
|
|||
<file alias="readme.html">salt_templates/macro/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- ruby library template -->
|
||||
<qresource prefix="/salt_templates/ruby_lib">
|
||||
<file alias="grain.xml">salt_templates/ruby_lib/grain.xml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/ruby_lib/macros">
|
||||
<file alias="new_ruby_lib.lym">salt_templates/ruby_lib/macros/new_ruby_lib.lym</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/ruby_lib/doc">
|
||||
<file alias="readme.html">salt_templates/ruby_lib/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- pymacro template -->
|
||||
<qresource prefix="/salt_templates/pymacro">
|
||||
<file alias="grain.xml">salt_templates/pymacro/grain.xml</file>
|
||||
|
|
@ -49,11 +68,45 @@
|
|||
<file alias="readme.html">salt_templates/pymacro/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- python library template -->
|
||||
<qresource prefix="/salt_templates/python_lib">
|
||||
<file alias="grain.xml">salt_templates/python_lib/grain.xml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/python_lib/macros">
|
||||
<file alias="new_python_lib.lym">salt_templates/python_lib/macros/new_python_lib.lym</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/python_lib/doc">
|
||||
<file alias="readme.html">salt_templates/python_lib/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- drc template -->
|
||||
<qresource prefix="/salt_templates/drc">
|
||||
<file alias="grain.xml">salt_templates/drc/grain.xml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/drc/drc">
|
||||
<file alias="new_drc.lym">salt_templates/drc/drc/new_drc.lym</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/drc/doc">
|
||||
<file alias="readme.html">salt_templates/drc/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
<!-- tech template -->
|
||||
<qresource prefix="/salt_templates/tech">
|
||||
<file alias="grain.xml">salt_templates/tech/grain.xml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/tech/tech">
|
||||
<file alias="tech.lyt">salt_templates/tech/tech/tech.lyt</file>
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/tech/tech/libraries">
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/tech/tech/macros">
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/tech/tech/pymacros">
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/tech/tech/drc">
|
||||
</qresource>
|
||||
<qresource prefix="/salt_templates/tech/doc">
|
||||
<file alias="readme.html">salt_templates/tech/doc/readme.html</file>
|
||||
</qresource>
|
||||
|
||||
</RCC>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Your new Package</h1>
|
||||
|
||||
<p>
|
||||
Your new package is there! You can edit the package properties in the package manager.
|
||||
Use the edit button in the upper right corner of the package details panel to
|
||||
open the package editor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is what you should do:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter your author details</li>
|
||||
<li>Choose a license model</li>
|
||||
<li>Provide an icon and optionally a screenshot image</li>
|
||||
<li>Specify dependencies if you plan to use items from other packages</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Of course, the most interesting thing is how to add, edit and develop DRC scripts within
|
||||
your macro package. When the package was initialized, a "drc" folder with a single
|
||||
DRC script has been created. You will find this folder in the macro editor
|
||||
in the DRC category under the name you have given the package. The name of the sample DRC script is "new_drc".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the package details you will find the local path to your package
|
||||
data under "Installation". You can use any versioning system to manage your
|
||||
files there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have finished your package, don't forget to specify the package version
|
||||
so users of you package will be informed of updates. Finally you can publish the
|
||||
package files to a place of your choice and submit the download URL to the
|
||||
Salt Mine server.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<klayout-macro>
|
||||
<description>The New DRC Script</description>
|
||||
<prolog/>
|
||||
<epilog/>
|
||||
<autorun>false</autorun>
|
||||
<autorun-early>false</autorun-early>
|
||||
<shortcut/>
|
||||
<show-in-menu>false</show-in-menu>
|
||||
<group-name/>
|
||||
<menu-path/>
|
||||
<interpreter>ruby</interpreter>
|
||||
<dsl-interpreter-name/>
|
||||
<text># This is the new DRC script created with the sample DRC package
|
||||
|
||||
report("Sample DRC")
|
||||
|
||||
l1 = input(1, 0)
|
||||
l1.width(1.0.um).output("Width (Layer 1) < 1.0 um")
|
||||
</klayout-macro>
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<salt-grain>
|
||||
<name>drc</name>
|
||||
<version>0.0</version>
|
||||
<title>DRC template</title>
|
||||
<doc>This template provides a template for a DRC script</doc>
|
||||
<doc-url>doc/readme.html</doc-url>
|
||||
<url/>
|
||||
<license>GPLv3</license>
|
||||
<author/>
|
||||
<author-contact/>
|
||||
<authored-time/>
|
||||
<installed-time/>
|
||||
<icon/>
|
||||
<screenshot/>
|
||||
</salt-grain>
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,40 @@
|
|||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Your new Package</h1>
|
||||
|
||||
<p>
|
||||
Your new package is there! You can edit the package properties in the package manager.
|
||||
Use the edit button in the upper right corner of the package details panel to
|
||||
open the package editor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is what you should do:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter your author details</li>
|
||||
<li>Choose a license model</li>
|
||||
<li>Provide an icon and optionally a screenshot image</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Of course, the most interesting thing is how to add, edit and develop libraries within
|
||||
your library package. When the package was initialized, a "libraries" folder with a single
|
||||
sample library has been created.
|
||||
In the package details you will find the local path to your package and the library
|
||||
layout file under "Installation".
|
||||
You can use any versioning system to manage your files there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have finished your package, don't forget to specify the package version
|
||||
so users of you package will be informed of updates. Finally you can publish the
|
||||
package files to a place of your choice and submit the download URL to the
|
||||
Salt Mine server.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -19,4 +19,5 @@ RBA::MessageBox::information("Information", "This is the new macro created with
|
|||
# in the dependencies of this package. Provided those packages contain macros
|
||||
# which are marked as "autorun-early", the will be loaded before this package
|
||||
# and their modules and classes will be available.
|
||||
</text>
|
||||
</klayout-macro>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Your new Package</h1>
|
||||
|
||||
<p>
|
||||
Your new package is there! You can edit the package properties in the package manager.
|
||||
Use the edit button in the upper right corner of the package details panel to
|
||||
open the package editor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is what you should do:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter your author details</li>
|
||||
<li>Choose a license model</li>
|
||||
<li>Provide an icon and optionally a screenshot image</li>
|
||||
<li>Specify dependencies if you plan to use items from other packages</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Of course, the most interesting thing is how to add, edit and develop PCell macros within
|
||||
your PCell package. When the package was initialized, a "macros" folder with a single
|
||||
sample PCell has been created. You will find this folder in the macro editor
|
||||
under the name you have given the package. The name of the sample macro is "pcell".
|
||||
You can add more script code, Ruby and other files there or modify the sample script.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the package details you will find the local path to your package
|
||||
data under "Installation". You can use any versioning system to manage your
|
||||
files there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have finished your package, don't forget to specify the package version
|
||||
so users of you package will be informed of updates. Finally you can publish the
|
||||
package files to a place of your choice and submit the download URL to the
|
||||
Salt Mine server.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,99 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<klayout-macro>
|
||||
<description>The New Macro</description>
|
||||
<prolog/>
|
||||
<epilog/>
|
||||
<autorun>false</autorun>
|
||||
<autorun-early>true</autorun-early>
|
||||
<shortcut/>
|
||||
<show-in-menu>false</show-in-menu>
|
||||
<group-name/>
|
||||
<menu-path/>
|
||||
<interpreter>ruby</interpreter>
|
||||
<dsl-interpreter-name/>
|
||||
<text># PCell template
|
||||
|
||||
# It is recommended to put PCell code into namespaces.
|
||||
# TODO: change the module name
|
||||
module PCellPackageModule
|
||||
|
||||
include RBA
|
||||
|
||||
# Remove any definition of our classes (this helps when
|
||||
# reexecuting this code after a change has been applied)
|
||||
# TODO: adjust the names
|
||||
PCellPackageModule.constants.member?(:PCell) && remove_const(:PCell)
|
||||
|
||||
# The PCell declaration
|
||||
# Each PCell must provide a declaration. It is recommended to use the PCell name as the class name.
|
||||
# TODO: change the class name
|
||||
class PCell < PCellDeclarationHelper
|
||||
|
||||
include RBA
|
||||
|
||||
def initialize
|
||||
|
||||
# Important: initialize the super class
|
||||
super
|
||||
|
||||
# declare the parameters
|
||||
# i.e. param(:l, TypeLayer, "Layer", :default => LayerInfo::new(1, 0))
|
||||
# param(:s, TypeShape, "", :default => DPoint::new(0, 0))
|
||||
|
||||
end
|
||||
|
||||
def display_text_impl
|
||||
# Provide a descriptive text for the cell
|
||||
"TODO: create description"
|
||||
end
|
||||
|
||||
def coerce_parameters_impl
|
||||
# TODO: use x to access parameter x and set_x to modify it's value
|
||||
end
|
||||
|
||||
def produce_impl
|
||||
# TODO: produce the cell content
|
||||
# i.e. cell.shapes(l_layer).insert(Polygon.new(...))
|
||||
end
|
||||
|
||||
# optional:
|
||||
# def can_create_from_shape_impl
|
||||
# TODO: determine if we have a shape that we can use to derive the
|
||||
# PCell parameters from and return true in that case
|
||||
# end
|
||||
#
|
||||
# optional:
|
||||
# def parameters_from_shape_impl
|
||||
# TODO: change parameters using set_x to reflect the parameter for the
|
||||
# given shape
|
||||
# end
|
||||
#
|
||||
# optional:
|
||||
# def transformation_from_shape_impl
|
||||
# TODO: return a RBA::Trans object for the initial transformation of
|
||||
# the instance
|
||||
# end
|
||||
|
||||
end
|
||||
|
||||
# TODO: add more PCell classes ..
|
||||
|
||||
# Register a new library with the PCells
|
||||
library = Library::new
|
||||
|
||||
# TODO: change the description
|
||||
library = "My PCell package"
|
||||
|
||||
# register the PCell declarations
|
||||
# TODO: change the names
|
||||
library.layout.register_pcell("PCell", PCell::new)
|
||||
|
||||
# TODO: register more PCell declarations ...
|
||||
|
||||
# register our new library with the name "PCellPackage"
|
||||
# TODO: change the library name
|
||||
library.register("PCellPackage")
|
||||
|
||||
end
|
||||
</text>
|
||||
</klayout-macro>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<salt-grain>
|
||||
<name>macro</name>
|
||||
<name>pymacro</name>
|
||||
<version>0.0</version>
|
||||
<title>Python Macro</title>
|
||||
<doc>This template provides a Python macro.</doc>
|
||||
|
|
|
|||
|
|
@ -9,14 +9,15 @@
|
|||
<show-in-menu>false</show-in-menu>
|
||||
<group-name/>
|
||||
<menu-path/>
|
||||
<interpreter>ruby</interpreter>
|
||||
<interpreter>python</interpreter>
|
||||
<dsl-interpreter-name/>
|
||||
<text># This is the new macro created with the sample macro package
|
||||
|
||||
RBA::MessageBox::information("Information", "This is the new macro created with the sample macro package", RBA::MessageBox::Ok)</text>
|
||||
pya.MessageBox.information("Information", "This is the new macro created with the sample macro package", pya.MessageBox.Ok)</text>
|
||||
|
||||
# In order pull in classes from other packages, just specify these classes
|
||||
# in the dependencies of this package. Provided those packages contain macros
|
||||
# which are marked as "autorun-early", they will be loaded before this package
|
||||
# and their modules and classes will become available.
|
||||
</text>
|
||||
</klayout-macro>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Your new Package</h1>
|
||||
|
||||
<p>
|
||||
Your new package is there! You can edit the package properties in the package manager.
|
||||
Use the edit button in the upper right corner of the package details panel to
|
||||
open the package editor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is what you should do:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter your author details</li>
|
||||
<li>Choose a license model</li>
|
||||
<li>Provide an icon and optionally a screenshot image</li>
|
||||
<li>Specify dependencies if you plan to use items from other packages</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Of course, the most interesting thing is how to add, edit and develop classes within
|
||||
your python library package. When the package was initialized, a "pymacros" folder with a single
|
||||
sample macro has been created. You will find this folder in the macro editor
|
||||
under the name you have given the package. The name of the sample macro is "new_macro".
|
||||
You can add more macros, Python and other files there or modify the sample macro.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the package details you will find the local path to your package
|
||||
data under "Installation". You can use any versioning system to manage your
|
||||
files there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have finished your package, don't forget to specify the package version
|
||||
so users of you package will be informed of updates. Finally you can publish the
|
||||
package files to a place of your choice and submit the download URL to the
|
||||
Salt Mine server.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<klayout-macro>
|
||||
<description>The New Macro</description>
|
||||
<prolog/>
|
||||
<epilog/>
|
||||
<autorun>false</autorun>
|
||||
<autorun-early>true</autorun-early>
|
||||
<shortcut/>
|
||||
<show-in-menu>false</show-in-menu>
|
||||
<group-name/>
|
||||
<menu-path/>
|
||||
<interpreter>python</interpreter>
|
||||
<dsl-interpreter-name/>
|
||||
<text># This is the new macro created with the sample Python library package
|
||||
|
||||
class NewSampleLibraryClass(object):
|
||||
|
||||
def __init__(self):
|
||||
# TODO: add your code here
|
||||
pass
|
||||
|
||||
# In order pull in classes from other packages, just specify these classes
|
||||
# in the dependencies of this package. Provided those packages contain macros
|
||||
# which are marked as "autorun-early", they will be loaded before this package
|
||||
# and their modules and classes will become available.
|
||||
</text>
|
||||
</klayout-macro>
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Your new Package</h1>
|
||||
|
||||
<p>
|
||||
Your new package is there! You can edit the package properties in the package manager.
|
||||
Use the edit button in the upper right corner of the package details panel to
|
||||
open the package editor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is what you should do:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter your author details</li>
|
||||
<li>Choose a license model</li>
|
||||
<li>Provide an icon and optionally a screenshot image</li>
|
||||
<li>Specify dependencies if you plan to use items from other packages</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Of course, the most interesting thing is how to add, edit and develop classes within
|
||||
your python library package. When the package was initialized, a "macros" folder with a single
|
||||
sample macro has been created. You will find this folder in the macro editor
|
||||
under the name you have given the package. The name of the sample macro is "new_macro".
|
||||
You can add more macros, Ruby and other files there or modify the sample macro.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the package details you will find the local path to your package
|
||||
data under "Installation". You can use any versioning system to manage your
|
||||
files there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have finished your package, don't forget to specify the package version
|
||||
so users of you package will be informed of updates. Finally you can publish the
|
||||
package files to a place of your choice and submit the download URL to the
|
||||
Salt Mine server.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,29 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<klayout-macro>
|
||||
<description>The New Macro</description>
|
||||
<prolog/>
|
||||
<epilog/>
|
||||
<autorun>false</autorun>
|
||||
<autorun-early>true</autorun-early>
|
||||
<shortcut/>
|
||||
<show-in-menu>false</show-in-menu>
|
||||
<group-name/>
|
||||
<menu-path/>
|
||||
<interpreter>ruby</interpreter>
|
||||
<dsl-interpreter-name/>
|
||||
<text># This is the new macro created with the sample Ruby library package
|
||||
|
||||
class NewSampleLibraryClass
|
||||
|
||||
def initialize
|
||||
# TODO: add your code here
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# In order pull in classes from other packages, just specify these classes
|
||||
# in the dependencies of this package. Provided those packages contain macros
|
||||
# which are marked as "autorun-early", they will be loaded before this package
|
||||
# and their modules and classes will become available.
|
||||
</text>
|
||||
</klayout-macro>
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Your new Package</h1>
|
||||
|
||||
<p>
|
||||
Your new package is there! You can edit the package properties in the package manager.
|
||||
Use the edit button in the upper right corner of the package details panel to
|
||||
open the package editor.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Here is what you should do:
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li>Enter your author details</li>
|
||||
<li>Choose a license model</li>
|
||||
<li>Provide an icon and optionally a screenshot image</li>
|
||||
<li>Complete the technology definition</li>
|
||||
<li>Specify dependencies if you plan to use items from other packages</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Of course, the most interesting thing is how to edit the technology definition.
|
||||
When the package was initialized, a folder hierarchy consisting of a tech
|
||||
folder containing a technology definition file and empty "libraries", "macros",
|
||||
"pymacros" and "drc" folders was created. You can use these empty folders
|
||||
to put your own files there. The technology definition can be edited in the
|
||||
technology manager where you can find the technology as "new_tech" under the
|
||||
name you had given the package. Initially, the technology definition is
|
||||
without any particular definitions.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
In the package details you will find the local path to your package
|
||||
data under "Installation". You can use any versioning system to manage your
|
||||
files there.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Once you have finished your package, don't forget to specify the package version
|
||||
so users of you package will be informed of updates. Finally you can publish the
|
||||
package files to a place of your choice and submit the download URL to the
|
||||
Salt Mine server.
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<technology>
|
||||
<name>new_tech</name>
|
||||
<description/>
|
||||
<dbu>0.001</dbu>
|
||||
<base-path/>
|
||||
<layer-properties_file/>
|
||||
<add-other-layers>true</add-other-layers>
|
||||
</technology>
|
||||
Loading…
Reference in New Issue