Thursday, May 2, 2013

Resistance Estimator

This program finds the resistance of copper PCB traces and shapes of given width, thickness, length. It will list out the Net Classes in the design and user can select the classes for which they wish to determine the Resistance.

Electrical Equations:
Resistance = Resistivity*Length/Area*(1 + (Temp_Co*(Temp - 25))
Where, Area = Thickness*Width
A copper Thickness of 1 oz/ft^2 = 0.0035 cm
Copper Resistivity = 1.7E-6 ohm-cm
Copper Temp_Co = 3.9E-3 ohm/ohm/C

Thursday, October 11, 2012

Auto Shape creation

Using SKILL its possible to create any shape on any layer.

Consider a situation where there any many pins in a layout and we need to create circular route keep-outs/via keep-outs for these. If we do it manually it will take a lot of effort and accuracy to place the shapes on xy locations.

Sometime back, I created a program which requires the user to provide a csv file containing a list of pins only(on which to create keep-outs). When you run the program, the circular shapes are added to the pins center automatically in no time.

The code can be adapted to any other user friendly needs.

Input file containing list of pins on which keep-outs need to be created

 The user dialog asking the input text file location

 The user dialog asking the diameter of the keep-outs

Once the information is entered the circular keep-outs are created as shown below

Wednesday, October 10, 2012

Spectra DO File

Spectra uses a DO file which contains constraint information

As shown in the below picture some of the user friendly features of my SKILL program are:
  1. It contains identifications for Net Class as NCls and for Match Groups as MGrp. With this update any Match Groups with GRP_* name, will be displayed in the form.
  2. The net quantity is also displayed alongside.
  3. It will list out the Layers which are defined as type “Conductor” in the Cross-section.
  4. Some custom check boxes for changing the Trace to Trace spacing etc.
  5. If you try to select the corresponding Net class of a Matched group then the program will display a warning under "DO not select NCls:". It means you are not supposed to enable the routing on the corresponding Net Class. This is to be carefully done manually in the form.
  6. The form type is flexible.

Resistance Estimator

The trace resistance on a PCB depends upon the below factors:

  • Trace Width
  • Trace Length
  • Temperature
  • Thickness of the copper
The SKILL program has the below features:
  • It calculates based on different trace widths on the same net.
  • User has the option to enter the Temperature using a input dialog box
  • User has the option to enter the Thickness of Copper using a input dialog box

The report from the skill program generates a Excel CSV file as shown below.

Importing IDF

IDF file contains the Mechanical holes and shapes. Before one can import the Mechanical holes one need to create the part netlist listing all the Reference name and packages for all the holes.

Using SKILL its possible to extract this information from the IDF file. 

I have written a skill program that has the following features:

  • It creates the Netlist file for all the mechanical holes found in the IDF file and then automatically loads this in the current Allegro database.
  • It removes the Board outline from the IDF file(EMN format in my case) as my Allegro database already has Board Outline.
  • There are some other custom text manipulations involved.
  • It then automatically imports the IDF file in the current Allegro database.
Netlist Import syntax is shown below:

Saturday, October 6, 2012

Artwork Films

Setting up Artwork Films can take quite some time depending on your layer cross-section. Using SKILL in Allegro this can be automated. 

The program can have the following features:
  •  Depending on your cross-section, the program setup the artwork film records for any number of electrical layers.
  • It's possible to append any sub-classes either to all electrical layers or to the selected ones.
  • The General Parameters tab can also be predefined within each layer. Some of which are listed below:
  • Undefined line width
  • Shape bounding box
  • Plot mode
  • Device Type (Gerber/Barco type)
  • Film Size limits
  • Format (Integer and decimal places
  • Suppress modes