limbo018 / DREAMPlace

Deep learning toolkit-enabled VLSI placement
BSD 3-Clause "New" or "Revised" License
637 stars 196 forks source link

Issue reading LEF file #185

Open IshraqAtUCF opened 4 days ago

IshraqAtUCF commented 4 days ago

Hi,

I was trying to read the NanGate45 lef file by modifying the params.json file. I unfortunately am getting the following error.

image

This is my change for the params.json file

"lef_input" : { "description" : "input LEF file", "default" : "~/DREAMPlace/input_lefdef/NangateOpenCellLibrary.macro.mod.lef", "required" : "required for LEF/DEF" },

limbo018 commented 3 days ago

It complains about not able to open the path. Can you try full path for ~/DREAMPlace/input_lefdef/NangateOpenCellLibrary.macro.mod.lef?

IshraqAtUCF commented 3 days ago

I tried removing the tilde ~ and that gives me a segmentation error. image

Strangely if I change this to a different .lef file (fakeram45_256x16.lef) and give ariane136_fp_placed_macros.def as the def input, it succesfully reads the .lef and gives segmentation error for the .def file.

image

FYI, I am running this inside WSL and the docker container inside the WSL. I have 15gb of memory resource available with 3 gb swap.

image

Also, I am trying to run the TILOS benchmark. Do you have any guidelines or documentation to run that benchmark?

limbo018 commented 3 days ago

How many lef files does Nangate45 have? You need to include all of them by putting the technology lef before the macro lef files like following,

"lef_input" : ["benchmarks/ispd2015/mgc_des_perf_1/tech.lef", "benchmarks/ispd2015/mgc_des_perf_1/cells.lef"]
IshraqAtUCF commented 1 day ago

There are 4 files. I did add them like the way you mentioned. But they seem to still give the segmentation error. Do you have any reasoning why this is happening?

IshraqAtUCF commented 1 day ago

Just to add to this @limbo018, do you have any reference to the TILOS MacroPlacement designs that is working for DREAMPlace? I am asking this because the segmentation error might be due to incompatibility of the .lef and .def files I am using with DREAMPlace.

limbo018 commented 1 day ago

We did try TILOS benchmarks and it looked fine. Let me come back to you about whether any modifications are made.

IshraqAtUCF commented 1 day ago

I'd highly appreciate if you could provide the files you used for the TILOS benchmark or any direction to a branch that has the implementation @limbo018

Constwelve commented 1 day ago

I synthesized the netlist via OpenRoad and imported the design into Innovus to regenerate the .lef def file. The files generated this way work for DREAMPplace.