TIP - How to Create Large Symbols

By James O. Jackson

Copyright 1999 - Oztronics

After inquiring about how others create large (I.E. greater than 300 pins) symbols in ACCEL Schematic, and finding that there are very few - if any - ways to do so, I decided that I may be able to come up with a way.

What has evolved is a way that allows one to use the tools provided by ACCEL Technologies, and by adding a touch of creativity, coming up with a unique but practical approach to the creation of symbols.

First, to review, the usual approach is to use the ‘Place Pin’ tool, and add pins to the schematic sheet. After the required number of pins are added (all with a default pin number of 0), we add whatever symbol graphics are necessary, and then renumber (either manually selecting each pin and attributing , or using the ‘Renumber’ tool), add a Reference Point, a Reference Designator, and last - but not least, saving as a symbol.

There are shortcuts that one can use, such as the ‘Module Wizard’ tool, to create symbols, but the Module Wizard is limited to 255 pins. One is still left with a lot of manual work (renumbering pins) if creating a symbol for one of the more dense packages (which is becoming the norm) available today.

So, how do we get around these limitations? One way that I recommend, is to place an initial pin on the schematic. Then select this pin with the Left Mouse Button (LMB). Now Right Mouse Button (RMB) click which brings up a menu of options. Select ‘Copy Matrix’. From this window, select the desired Number of Rows (currently, the maximum is 500) and the Row Spacing (I would recommend 100.0mils as a good spacing). If you have placed your pin at the top of your design space (like I usually do), then you will need to enter a ‘-100.0’ value so that the pins will be cloned going down the page (rather than up). Also note that if you are creating a very large number of pins (such as 500), then you will need to make sure that you have a large enough workspace. I would recommend that you set this to the maximum of 60000.0mil x 60000.0mil (60 inches by 60 inches). For this example, let’s only clone 100 pins. After you have finished entering the required information, click ‘OK’.

In a matter of seconds, the Copy Matrix operation will be complete, leaving you with a nice row of 100 pins – all numbered 0. Now you need to renumber them 1 to 100, and I will show you a quicker solution than manually renumbering them.

From the main menu, under Macro, select ‘Record/Stop’. Enter a name for the macro that you are creating (I named this macro ‘renumber’), and click ‘OK’. From this point until you turn it off, the macro recorder is taking notes on almost every activity that you perform in Schematic.

Select the first pin and select ‘Properties’. In the ‘Pin Number’ text box, enter ‘1’ for the first pin, and click ‘OK’. Now move the mouse to the second pin and repeat the process, numbering this pin ‘2’. After you close the pin properties window (by clicking ‘OK’), move the mouse up and select ‘Macro’ from the main menu. Again select ‘Record/Stop’. This time the menu will have three command buttons. Select the ‘Stop’ button to turn off the macro recorder.

Here is where the fun begins. Using an ASCII text editor, open up the macro that you just created. You will see something similar to this

Macro renumber
SelectionTool Select;
Pad SelectionMask=0, PinNumber=1, PinLength="300.0mil", OutsideStyle=None, OutsideEdgeStyle=None, InsideEdgetyle=None, InsideStyle=None, Rotation=900, DisplayPinName=True, DisplayPinDes=True;
MouseMove X="0app", Y="-254000app";
SelectionTool Select;
Pad SelectionMask=0, PinNumber=2, PinLength="300.0mil", OutsideStyle=None, OutsideEdgeStyle=None, InsideEdgetyle=None, InsideStyle=None, Rotation=900, DisplayPinName=True, DisplayPinDes=True;
End

 

First, change the MouseMove dimensions from internal database units (app) to mils. Do this by making them look like this

MouseMove X="0.0mil", Y="-100.0mil";

If in doubt, put quotes around the dimension. The macro will work better with them than without.

Now what you will need to do is add 98 more renumber commands to this macro using Copy and Paste, incrementing the ‘PinNumber=’ each time. Afterwards, you will have from 1 to 100 in this macro. Save it – remember to leave it as an ASCII file.

NOTE: Remember the basic sequence you use to manually renumber the pins. First, you select the Pin. Next you attribute it and edit the Pin Number. Last, you move the mouse -100.0 mils down to the next pin. These three lines should be repeated in the macro one hundred (100) times.

Now, in Schematic, place the cursor over the first pin. Using the keyboard (do not move the mouse), press the ALT-M keys which bring up the ‘Macro’ menu from the main menu. Using the arrow keys, arrow down to the ‘Run’ selection and press enter. A menu will open where you can enter the name of the macro previously created.

After you click ‘OK’, the macro will execute, selecting and renumbering each pin from 1 to 100. Be sure that you are zoomed out at a level where you are able to see all of the pins, or the macro will not work quite right.

As a final step, you need to finish creating this 100-pin symbol. Add a Reference Point and a RefDes attribute. Select all of the symbol pins and from the main menu select ‘Library’, then ‘Symbol Save As’. Put this symbol in your Library that you use for saving all of your company components. Be sure to click ‘Create Component’ and give it the same name as your symbol.

What you now have is a 100-pin generic symbol that you can use for creating other symbols. The way to do this is to place it in your schematic, then explode it. If you only need 76 pins, delete the pins from 77 to 100. If you need pins on two sides of a symbol, select one-half of the pins and rotate them to the other side of the symbol.

Some final notes and thoughts

Remember the macro that you created for renumbering 100-pins? Guess what. If you create a string of less than 100-pins, you can still use this macro – as is. It will renumber the pins that it finds, and just be off in space doing nothing for the balance of the pins that do not exist.

This seems to suggest that one could take this idea one step further. Perhaps editing the macro, adding the capability to renumber some enormous amount of pins – say 500, or even 1000 (What is the maximum number of pins allowed in a symbol?).

Another idea. The above macro renumbers going from top to bottom. There may be a requirement for renumbering from left to right. Locate the coordinates in the macro. Using a global search and replace, change the coordinates to move in the X direction instead of the Y direction. Resave this macro, giving it a different name, so as not to overwrite the original one.

It is also possible to make a toolkit of macros for creating symbols with large numbers of pins. Even symbols with pins on all four sides. This can be accomplished by creating four unique macros. One for renumbering - oh, say, 500 pins - from top to bottom. Another for renumbering the same amount of pins (500) from left to right. A third macro can renumber the same amount of pins from bottom to top, and a fourth and final macro can renumber the same number of pins from right to left. As an example, if it is necessary to create a large 400-pin quad symbol with 100-pins per side, the designer can then generate 400 pins for each side, then run each macro to renumber the pins. It would now be a simple task to selectively delete pins 101 - 400 on the first side (leaving pins 1 - 100), pins 1 - 100 and 201 - 400 from the second side (leaving pins 101 - 200), 1 - 200 and 301 - 400 from the third side (leaving pins 201 - 300) and 1 - 300 from the fourth side (leaving pins 301 - 400). Doing this would leave the correct pins numbered sequentially, ready for placement to create the symbol.

While it may sound like a lot of work to initially create the macros to accomplish the above, once they are created, they may be kept and used over and over again, making you more productive as a designer.

Below is a macro that handles 100 pins. It is named renumber.txt only for download purposes. After you download it, rename it to renumber.mac (or some other name with a .mac suffix) so it will be recognized as a macro.


Renumber - Macro that Renumbers 100 Symbol pins

This document is copyright © 1998 - 2005 by Oztronics

- Return to Tip of the Month Main Menu -
- Return to Main Menu -

FastCounter by bCentral