The Error of "LVHEAP memory allocation failure" in Calibre is caused by limitation of your machine's memory. This artist help you to solve the error and propose some method to fast your LVS process and save the memory of your machine.Please make sure you used "Calibre -64 " in your LVS command. This feature enable the calibre to allocation the memory at 2^64 bit.
Step 2:
Please use HCELL to your Calibre process, this will save your lots of time and lots of memory.
You could open "calibredrv" and source below script. to generate HCELL
#------------------SCRIPT. START--------------
set gds <YOUR GDS PATH>
#------------------------------------------------
set top_cell [layout peek $gds -topcell ] set all_cells [layout peek $gds -child $top_cell]
set cells [lindex [lindex $all_cells 0] 1]
set OUT [ open ./hcell w]
foreach e $cells {
puts $OUT "$e $e"
}
close $OUT
#-------------------SCRIPT. END-------------------
Step 3:
If you still got the problem, you could try to blackbox the big block in your design.
Step 4:
If you still got the problem, you could swap the gds of the big block to pin gds and blackbox it to solve the problem.
The pin gds you could got from "LEF" "Milkway" or extract it from full gds.
Below is a test summary for each method, the test case is 28nm, 10mm*10mm design
|
step1 |
step2 |
step3 |
step4 |
runtime |
Abort |
9hours |
3hours |
1hours |