Difference between revisions of "Mask Software tools"

From OptoelectronicsWiki
Jump to: navigation, search
(Libmask)
 
(7 intermediate revisions by one other user not shown)
Line 9: Line 9:
  
  
Original Libmask
+
Original Libmask:
  
 
[[media:LibMask_Dist_+_Examples.zip]] You will find detailed installation instructions for Mac and PC here.  The dedicated page is here: [[Libmask]]
 
[[media:LibMask_Dist_+_Examples.zip]] You will find detailed installation instructions for Mac and PC here.  The dedicated page is here: [[Libmask]]
  
 +
Newest version of Libmask:
 +
 +
[[media:LibmaskV6_00.zip]] Newest version of Libmask: allows for direct export to gds format.  Includes installation instructions, documentation, etc.
 +
 +
[[media:LibmaskV6_01_byMike.zip]] Fixed a bug in the return value of the s-bend function. Added whats_pen() function to read the pen state.
  
  
Line 36: Line 41:
  
 
Check out the manual for more information. the old way of doing sublayouts won't work!
 
Check out the manual for more information. the old way of doing sublayouts won't work!
 
[[media:LibmaskV6_00.zip]] Newest version of Libmask: allows for direct export to gds format.  Includes installation instructions, documentation, etc.
 
  
 
== Libmask + python ==
 
== Libmask + python ==
Line 43: Line 46:
 
Steroids for Libmask: [[Mask/pylibMask]], back-compatible with version 6
 
Steroids for Libmask: [[Mask/pylibMask]], back-compatible with version 6
  
== KLayout (with Ruby Script for layer addition, subtraction, rotation and shifting) ==
+
== KLayout (with Ruby scripting for layer addition, subtraction, rotation and shifting) ==
  
For a great free program that you can view you mask file in, use KLayout. It is fast and handles HUGE mask Files with ease. http://www.klayout.de/build.html
+
For a great free program that you can view you mask files in, use KLayout. It is fast and handles HUGE mask files with ease. http://www.klayout.de/build.html
  
If you want to write small scripts that will do the functions that you need to place your masks into a frame for the vendor try using the Ruby script plug-in. Download the link here: http://www.klayout.de/useful_scripts.html#layer_proc.rbm , put the file in the klayout folder and restart klayout. There should be a new option in the "Tools" tab.
+
If you want to write small scripts that will do the functions that you need to place your masks into a frame for the vendor, try using the Ruby script plug-in. Download the link here under "A layer processing framework": http://www.klayout.de/useful_scripts.html#layer_proc.rbm, put the file in the klayout folder and restart klayout. There should be a new option in the "Tools" tab entitled "Processing Scripts".
  
Read the file in a text editor for documentation on the syntax. it work great.
+
Read the download file in a text editor for documentation on the syntax. It works great.

Latest revision as of 20:38, 17 August 2015

L-Edit[edit]

Graphical mask writing, viewing, and conversion tool. [LEdit Download] from Nanofab (PC Only). When you install select typical workstation, network license, then at the last step of the install it will ask where to look where to find the license, use network (and local): "nanofabserver.ece.ucsb.edu" this should create an environment variables called: TANNERHOST = nanfabserver.ece.ucsb.edu and TANNERHOST2 = local


Using L-Edit's DRC to make sure no VCs on waveguides

Libmask[edit]

C++ mask writing program. Produces .CIF and/or .EGS mask files


Original Libmask:

media:LibMask_Dist_+_Examples.zip You will find detailed installation instructions for Mac and PC here. The dedicated page is here: Libmask

Newest version of Libmask:

media:LibmaskV6_00.zip Newest version of Libmask: allows for direct export to gds format. Includes installation instructions, documentation, etc.

media:LibmaskV6_01_byMike.zip Fixed a bug in the return value of the s-bend function. Added whats_pen() function to read the pen state.


Version 6 is quite a leap from the previous version, so compatibility with your old libmask files will be broken. However, there are three features that make the switch worthwhile:

1) You can now output GDSII files directly with libmaskv6.00!!

2) Compilation is now at least two orders of magnitude faster!! (this was an unexpected delight! I never understood why it was previously so slow)

3) The previously painful sublayout interface is upgraded with a much nicer one!!

I have not checked whether the speed increase is due to improved code design or the switch to GDSII format. I have attached the newer version of libmask that Martijn sent out, including a new makefile that makes the GDS (as opposed to CIF) libmask library. I've also attached an example mask, so that you can test everything out.

For easy switching, the mandatory changes to your c++ files are:

1) Change 'void main_layout(void)' to 'int main(void)'

2) add 'msk_header();' to the beginning of the main function (see section 2.2 of new manual)

3) add 'msk_trailer();' to end of the main function

4) there are extensive improvements to the sublayout interface.

Check out the manual for more information. the old way of doing sublayouts won't work!

Libmask + python[edit]

Steroids for Libmask: Mask/pylibMask, back-compatible with version 6

KLayout (with Ruby scripting for layer addition, subtraction, rotation and shifting)[edit]

For a great free program that you can view you mask files in, use KLayout. It is fast and handles HUGE mask files with ease. http://www.klayout.de/build.html

If you want to write small scripts that will do the functions that you need to place your masks into a frame for the vendor, try using the Ruby script plug-in. Download the link here under "A layer processing framework": http://www.klayout.de/useful_scripts.html#layer_proc.rbm, put the file in the klayout folder and restart klayout. There should be a new option in the "Tools" tab entitled "Processing Scripts".

Read the download file in a text editor for documentation on the syntax. It works great.