Giter Club home page Giter Club logo

rf-gds's Introduction

RF-GDS

RF-GDS is a MATLAB library to enable RF analog integrated-circuit designers to convert and manipulate GDS structures and then export them to Cadence layout without DRC errors. I needed a tool during my PhD to move designs from HFSS to Cadence layout without drawing the designs manually again in Cadence. Refere to the RF-GDS.pdf file for a quick overview. Although, I made this library for this specific application, I have created many general functions for GDS files that you might find useful.

Note: This library depends on the work of Ulf Griesmann in his gdsii-toolbox. This repository includes his source code together with any copyright notice therein.

Disclaimer: The library is not professionally written. I wrote it along the way as I needed. So always be aware if I missed anything in my descriptions. Make sure that it is doing what you intend and don't count on me taking care of everything for you !

How to use

Clone or download the library.

On Windows MATLAB,

  1. Install mex compiler by running the file mingw.mlpkginstall here or google it for other methods if you dont have that file.
  2. Set path in Matlab to include all subfolders in your location of the library. You can do that from HOME --> Set Path.
  3. Compile the library by running makemex.m here. You need to do this only once.

On Linux MATLAB,

Set path in Matlab to include all subfolders in your location of the library. You can do that from HOME --> Set Path.

What you can do with this library

General use:

  • Import GDS files from HFSS, Cadence or create your own GDS elements/structures
  • Perform operations such as Merge, Split, Mosaic, find intersections, Math operations (and, or, diff)...etc (List of functions).
  • plot and visualize the designs in Matlab before exporting.
  • Assign layer and datatype numbers to your elements - layer mapping.
  • Rename your structures and gds libraries or change properties.
  • Export GDS files.
  • Check also gdsii-toolbox.

Specific use:

  • Discretize a structure so that all vertices fit in the minimum assigned grid (minGrid) as specified in the PDK.
  • Make all transitions with horizontal and vertical angles comply with the DRC of your technology.
  • Fix/Distort your structures for minimum width and minimum spacing as needed. This works for RF passives since minor chanages won't affect the EM performance of the design if the distortion is much smaller than your minimum wavelength.
  • Generate vias between metal structures.
  • Fill empty spaces in your design by any basic grid block you want so that it can pass density requirements in DRC. Otherwise, leave it open for auto generated fillings in Cadence later on.

Examples

I included my latest project codes as a demo. I cannot include full details nor GDS files. However, you can see the procedure flow and corrosponding images in RF-GDS.pdf file.

List of functions

List of functions.

Notes

  • Some of my functions can lose the identifier values for layer number and datatype number. It is a good practice to call GDS_reset to remap before exporting.
  • Most functions deal with boundry data type only rather than path, text or others.
  • Some of my functions do not deal with elements that have more than one boundry.
  • Call help for details about the functions. Check out my codes for how to use them.
  • I kept the Graveyard which contains my previous and failed codes. It can help if you want to develop new codes.
  • I did not optimise the codes for the fastest simulation time but I prioritize usability since I dont have very complicated desings.

rf-gds's People

Contributors

zainkhalifa avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

zhangjq933

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.