Array
(
    [content] => 
    [params] => Array
        (
            [0] => /forum/index.php?threads/l-edit-library-replacement.7203/
        )

    [addOns] => Array
        (
            [DL6/MLTP] => 13
            [Hampel/TimeZoneDebug] => 1000070
            [SV/ChangePostDate] => 2010200
            [SemiWiki/Newsletter] => 1000010
            [SemiWiki/WPMenu] => 1000010
            [SemiWiki/XPressExtend] => 1000010
            [ThemeHouse/XLink] => 1000970
            [ThemeHouse/XPress] => 1010570
            [XF] => 2021370
            [XFI] => 1050270
        )

    [wordpress] => /var/www/html
)

L-Edit library replacement

bnilsson

New member
Hi!

I am new to L-Edit and I have a task that I would think would be simple and straightforward, but it seems not.
Probably I misunderstand the user manual.

I have a layout with devices where the gate design may be in two variants.
So I keep the general layout in "layout.tdb" file and the two gate designs in "gate_t1.tdb" and "gate_t2.tdb", where the cells in "gate_t1" and "gate_t2" have the same names.
In "layout" I add "gate_t1" and "gate_t2" as libraries, and refer to one of the libraries in the gate instances in the layout.

Now I want to change "layout" using "gate_t1" to use "gate_t2" instead.
I could do this by "replace instance" device by device but the devices are too many for this to be practical.
How can I do this library change as a simple operation?

I can do this by putting "layout.tdb" and a library file "gate.tdb" in the same folder, and overwrite "gate.tdb" with either "gate_t1.tdb" or "gate_t2.tdb".
This does exactly what I want, the devices shows up in "layout.tdb" with one or the other gate designs as they should, dependent of the content of "gate.tdb".
But it is awkward and dangerous, inviting mistakes, since the file names nor the library names inside are not showing what design is actually used. I would like to avoid this.

I was trying to use "retarget library" but this is not doing anything useful.

Any hint on how to do this in a efficient way is greatly appreciated.


BN
 
If you instance all the cells you want to replace in a single cell (let's call it "common") that exists in all 3 TDB files, you can simple replace "common" by copying it from one of the 2 side files into the master file. L-Edit will ask you if you want to rename or overwrite for each instance, just select "Overwrite all with new", then the "Make all selections the same as first", and that's it (apologies, this is from the top of my head, I don't have a working copy of the tool in front of me to check; holler if you need details).
 
If you instance all the cells you want to replace in a single cell (let's call it "common") that exists in all 3 TDB files, you can simple replace "common" by copying it from one of the 2 side files into the master file. L-Edit will ask you if you want to rename or overwrite for each instance, just select "Overwrite all with new", then the "Make all selections the same as first", and that's it (apologies, this is from the top of my head, I don't have a working copy of the tool in front of me to check; holler if you need details).

Maybe I don't understand your advice completely, but the way I tried your suggestion, it did not work.

If I have the "common" cell in the main design in parallel to the real "layout" in the same main file, the gate design in "common" is not shared with "layout" even though the gate cell name are the same, since the complete cell name is "cell_name:lib_name". The two variants will co-exist in the same main design, and replacing the "common" will not affect "layout". Unless "common" contains the real active design, which I don't want.

To recapitulate the problem:
I want to work and edit the "layout" once, and just replace the gate design as a single step by replacing the gate library when needed.
Since I have about 20 gate configurations in the gate library, I do not want to do "replace instance" for each transistor individually.
 
Finally I found out what was wrong with my approach.
I did not realize that Library name and File name could be different. By default, when I created the two variants, they got the lib name same as the file name.
Once I set up the two gate library files (different file names) with the same internal Lib name, everything worked.
With "Add/remove libraries" I can change the library file path, and if the internal libname in the alternative file is the same as the previously used, my gates will change everywhere in my design, as intended.

Case closed and SOLVED.
 
Finally I found out what was wrong with my approach.
I did not realize that Library name and File name could be different. By default, when I created the two variants, they got the lib name same as the file name.
Once I set up the two gate library files (different file names) with the same internal Lib name, everything worked.
With "Add/remove libraries" I can change the library file path, and if the internal libname in the alternative file is the same as the previously used, my gates will change everywhere in my design, as intended.

Case closed and SOLVED.

Sorry, I misunderstood LEdit again.
Library name is always the same as the file name for the file containing the library.
However, in "Add/remove libraries" the referred library can be renamed, so that the same lib name can be referring to different file paths.
 
Back
Top