Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

AEL code to change layer in layout in ADS2013

Status
Not open for further replies.

Xamilla

Newbie level 2
Joined
Sep 15, 2009
Messages
2
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
France
Activity points
1,295
Hi,
I'm trying to figure out how to change the layer on an element in a multilayer design kit.

My test element is a rectangel "cell_1" which was created using the macro tool stretch in ADS layout window.

I have defined two parameters, Length and Layer where Layer is a string. The default layer is called L1_C1.

How can I now get this MS-line to be drawn on the layer as indicated by the user. In the component parameter box I'd also like that the possible layers were listed as choises.

I include the files.

Thanks,
 

Attachments

  • cell_1.zip
    14.4 KB · Views: 53

HELLO
I am using ADS 2011 in my M.SC.research but I need to perform a thermal simulation which is not available in that version, would you please help me to download ADS 2013 ??? if there is any download link ,thank you
 


I have defined two parameters, Length and Layer where Layer is a string. The default layer is called L1_C1.

In your cell, there is only one cell parameter defined for the length. There is no parameter for the drawing layer. At the moment, the polygon is drawn on layer 237 (ads_annotate).

How can I now get this MS-line to be drawn on the layer as indicated by the user.

One simple way to make the drawing layer selectable by the user is to create an integer parameter (layer number) and then use that parameter in the AEL drawing code. Have a look at cell1/layout/artwork.ael. That code is very difficult to read because it was generated by graphical cell compiler, but you can see a variable assignment:
Code:
m_438F812 = db_layerid(237, -1);
and many lines below the actual layer selection command
Code:
db_set_entry_layerid(context, m_438F812);
Here, you want to use your layer number instead of the hard coded layer 237.

Now, instead of selecting the layer by number, you can also pass a string and select the layer by name. Have a look at the online help where the AEL commands are listed: Design Tools > AEL > AEL functions by category. Look for the "Layer and LayerID" functions. The function that you need is db_find_layout_layerid_by_name()

In the component parameter box I'd also like that the possible layers were listed as choises.

This is possible by editing the file cell1>itemdef.ael where cell parameters are defined. If you want to hard-code the layer choices, that is quite easy using function create_form_set().

Also, you should consider switching to hand-written AEL for your layout, because the code from Graphical Cell Compiler isn't nice to modify/edit. It will be easier to start from scratch and code your artwork by hand, so that you have clean code with meaningful variable names. Hand written code will much shorter and cleaner than the complicated code from Graphical Cell Compiler.

For more detailed help, you should contact Agilent support. They also offer an AEL seminar in their Gent (Belgium) office which is exactly what you need for this type of ADS library development work.
 
Last edited:
Hello Volker, and thanks a lot for your elaborate answer. I'll try to implement your advice and get it to work.

Best regards
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top