Added many Salt templates.

This commit is contained in:
Matthias Koefferlein 2017-04-29 01:38:25 +02:00
parent f79b14d0e4
commit eca08cbd99
23 changed files with 572 additions and 12 deletions

View File

@ -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>

View File

@ -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>

View File

@ -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) &lt; 1.0 um")
</klayout-macro>

View File

@ -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

View File

@ -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.

View File

@ -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>

View File

@ -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

View File

@ -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) &amp;&amp; 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 &lt; PCellDeclarationHelper
include RBA
def initialize
# Important: initialize the super class
super
# declare the parameters
# i.e. param(:l, TypeLayer, "Layer", :default =&gt; LayerInfo::new(1, 0))
# param(:s, TypeShape, "", :default =&gt; 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>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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>