Support Forum

How to import DEF file

YC

Friday 29th August 2025
I want to open a DEF file which includes several SRAM macros. But, below erros are shown: Errors: 4 Cellref(s) can not be resolved. Empty cell added. (RA1TSNHSMB2048X1X128M4UPG, RA1TSNUHD512X1X128M4LPG, RF2TSNHD512X128X1M2UPG, RF2TSNUHD256X128X1M2LPG) Though I try to attach the 4 related SRAM LEF file first and then read the DEF again, the error still exists. Please help to advice the correct flow to import DEF file. Thanks.
Jürgen
LayoutEditorFull
Friday 29th August 2025
At first loading/attaching all required LEF files and then attach the DEF file is the correct order to load you design. Please check if the missing LEF-cells are loaded before the DEF is attached and exactly spelled in the same way. If not, please check the LEF files if they really contain the required macros. In case the LEF files contains the macros and they are not loaded, please send an example LEF file to our support ( support@layouteditor.com ), we are happy to review it. However, in most case the problem is just related the use of incorrect capital/small letters in the macro names,
YC

Monday 1st September 2025
Thanks a lot. Now the DEF is displayed by attaching LEF first and then attaching DEF file. When I do modification on DEF and want to save it, it shows "no netlist loaded". How could I load the netlist? Thanks.
Jürgen
LayoutEditorFull
Monday 1st September 2025
Attachments:
(only for registered users)

screensho.png

Ok, the error message at that point can be confusing, we will improve that. With any DEF file load the file content is converted to GDS and its netlist is loaded. The netlist can be view inside the netlist dock window. (right click on an empty part of the toolbar to view it or using any netlist feature to do so). Any cell of the LayoutEditor can have 3 netlist: one from the schematic, one extracted and one loaded. When saving to DEF the extracted netlist will be created if not done before. So a correct layer setup of the conductive layers and via layers is important. This can for example be extracted from your technology LEF file or maually entered in the LayerManager. Next to the extracted netlist showing the existing connection a second netlist is needed showing the required connections. This second netlist can be the netlist from the schematic or a loaded netlist. Please choose in the dock the correct netlist you want to save into the DEF: ![screensho.png](/api/img.php?thread=20250829-72d1&file=screensho.png) If the extracted netlist is choosen, the menioned error message show up.
YC

Tuesday 2nd September 2025
Shall I load netlist first and then attach LEF and DEF? Or, shall I attach LEF/DEF first and then load netlist? When I try to import netlist in Netlist dock window, it shows "Unsupported Entry". My netlist is verilog netlist synthesized by CAD tool such as DesignCompiler. Thanks.
Jürgen
LayoutEditorFull
Tuesday 2nd September 2025
A DEF file usually contains the netlist and it is loaded with the DEF file. So no additional loading set is required. Just double check if really the netlist is present in your DEF and the loaded netlist is used for DEF export. In case the extracted netlist or schematic netlist is currently displayed in the subwindow, the DEF export may result in the mentioned error message. If a netlist is loaded you will find all devices and routes under the corresponding tab in that subwindow.
YC

Wednesday 3rd September 2025
There is no netlist included in my DEF file, since it is a large design and DEF file is only used to specify SRAM/macro location in my flow. For such case, how could I load the netlist? Thanks.
Jürgen
LayoutEditorFull
Wednesday 3rd September 2025
Just open the schematic and create a sheet with the same name. So you get an emtpy netlist. If you have macro placement in your DEF, you should also have devices inside the netlist. Even if there are no connections that should be fine as a netlist. Also remember that as mentioned before that in case the DEF export fails it always shows the error message 'no netlist' even if the reason is different. So please also check if there are the conductive and via layer are correctly setup.
YC

Friday 5th September 2025
The DEF export is ok with the "displayed netlist" changed to be "loaded" in dock window. However, in the exported DEF, only SRAM/macro location exists. The I/O pin location in original DEF all disappear. Is it expected?
Jürgen
LayoutEditorFull
Friday 5th September 2025
That is what I have tried to explain before: you need to choose with netlist should be used for the DEF export. If you display schematic it will use the netlist from the schematic and if you choose loaded it uses the loaded one. If the display netlist does not exist the result in the error 'no netlist' The detect if a text element is a label or an io-pin the layer setup is important. Please make sure the layer your pin are located on is a conductive/connective layer in the layer setup of the LayoutEditor. If this is not the case the text element will not be exported as an pin.
YC

Wednesday 10th September 2025
Attachments:
(only for registered users)

螢幕擷取畫面 2025-09-10 093423.png

Do you mean that I need to load another layer setup file in addtion to SRAM LEF and DEF file? In my DEF file, the IO pin section is as shown in the figure.
Jürgen
LayoutEditorFull
Wednesday 10th September 2025
Attachments:
(only for registered users)

Bildschirmfoto 2025-09-10 um 08.22.13.png

Please go to the LayerManager and check if the layers used for I/O pins are marked as conductors. If not these iIO pins are handled as informative text only. ![Bildschirmfoto 2025-09-10 um 08.22.13.png](/api/img.php?thread=20250829-72d1&file=Bildschirmfoto_2025-09-10_um_08.png)
YC

Monday 22nd September 2025
To attach LEF file for hard macro(such as SRAM), how could I do if there are many LEF files to be attached? It is difficult to do it one by one with GUI.
Jürgen
LayoutEditorFull
Monday 22nd September 2025
Any operation within the LayoutEditor can be access via an API by a script/macro. So you can prepare once a macro for all your LEF file. You need one line of code for any LEF file needed: ```cpp int main(){ layout->drawing->importFile("/Users/myfiles/1.lef"); layout->drawing->importFile("/Users/myfiles/2.lef"); layout->drawing->importFile("/Users/myfiles/3.lef"); layout->drawing->importFile("/Users/myfiles/4.lef"); //.... } ```
YC

Tuesday 23rd September 2025
(1)Where could I import such script? (2)My layer setting seems to e OK, since all layers are enabled. However, I even can not see the boundary. It seems odd to me since the boundary should be according to DIEAREA in DEF file, and should be not related to layer setting.
Jürgen
LayoutEditorFull
Wednesday 24th September 2025
(1) the easiest way to create such an macro is macro recording. You will find the menu item for it in the Utilities menu (2) Please also check your settings under Fileformat/LEF&DEF/Boundary layer. The set layer is used to import the cell boundaries. In the LayerManager you can set any layer to a conductive layer or via layer or having none of it. To export a DEF for any shape it must be know to which net it belongs. So an electrical extraction is done. This requires a correct connectivity setup.