#773 Run stopping at global placement for blackbox based macro run :
New issue created by
ratul619
Hi ,
I am just running blackbox based run - where one instance in the verilog is blackbox with .lib and .lef.
The XYZ is just connected to the inout pins. So added below on confile file :
* * *
Design
set ::env(DESIGN_NAME) "xyz_wrapper"
set ::env(VERILOG_FILES) [glob ./designs/xyz_wrapper/src/*.v]
set ::env(CLOCK_PERIOD) "10.000"
#set ::env(CLOCK_PORT) "clk"
set ::env(CELL_PAD) 4
#set ::env(FP_PDN_VPITCH) 1
set ::env(DIE_AREA) {0.0 0.0 500 500 }
set ::env(FP_SIZING) "absolute"
set ::env(SYNTH_READ_BLACKBOX_LIB) 1
set ::env(LIB_SYNTH_COMPLETE_NO_PG) "./designs/rram_wrapper/XYZ.lib"
set ::env(EXTRA_LEFS) {./designs/rram_wrapper/XYZ.lef}
set ::env(STA_REPORT_POWER) {0}
#set ::env(TAP_DECAP_INSERTION) {0}
set ::env(QUIT_ON_TR_DRC) {0}
set ::env(ROUTING_OPT_ITERS) {10}
set ::env(FP_PIN_ORDER_CFG) $::env(OPENLANE_ROOT)/designs/counter/pin_order.cfg
*set filename ./designs/$::env(DESIGN_NAME)/$::env(PDK)_$::env(STD_CELL_LIBRARY)_config.tcl
if { [file exists $filename] == 1} {
source $filename
}*
But flow is stopping :
[INFO ODB-0131] Created 3 components and 45 component-terminals.
[INFO ODB-0133] Created 19 nets and 21 connections.
[INFO ODB-0134] Finished DEF file: /openlane/designs/xyz/runs/RUN_2021.12.20_10.40.30/tmp/floorplan/4-io.def
[ERROR]: during executing: "openroad -exit /openlane/scripts/openroad/replace.tcl |& tee >&
@stdout /openlane/designs/xyz/runs/RUN_2021.12.20_10.40.30/logs/placement/5-global.log"
[ERROR]: Exit code: 1
[ERROR]: Last 10 lines:
child killed: segmentation violation
[ERROR]: Please check openroad log file
[ERROR]: Dumping to /openlane/designs/xyz/runs/RUN_2021.12.20_10.40.30/error.log
[INFO]: Calculating Runtime From the Start...
[INFO]: Generating Final Summary Report...
[INFO]: Design Name: xyz
Run Directory: /openlane/designs/xyz/runs/RUN_2021.12.20_10.40.30
Source not found.
* * *
Verilog file :
module xyz( in_X_0_0_top,
in_X_1_0_top,
in_X_2_0_top,
in_X_3_0_top,
in_X_4_0_top,
in_X_5_0_top,
in_X_6_0_top,
in_X_7_0_top,
in_X_0_1_top,
in_X_1_1_top,
in_X_2_1_top,
in_X_3_1_top,
in_X_4_1_top,
in_X_5_1_top,
in_X_6_1_top,
in_X_7_1_top,test,clk);
inout in_X_0_0_top;
inout in_X_1_0_top;
inout in_X_2_0_top;
inout in_X_3_0_top;
inout in_X_4_0_top;
inout in_X_5_0_top;
inout in_X_6_0_top;
inout in_X_7_0_top;
inout in_X_0_1_top;
inout in_X_1_1_top;
inout in_X_2_1_top;
inout in_X_3_1_top;
inout in_X_4_1_top;
inout in_X_5_1_top;
inout in_X_6_1_top;
inout in_X_7_1_top;
input clk;
output test;
XYZ U_sky130_fd_pr___xyz (
.in_X_0_0(in_X_0_0_top),
.in_X_1_0(in_X_1_0_top),
.in_X_2_0(in_X_2_0_top),
.in_X_3_0(in_X_3_0_top),
.in_X_4_0(in_X_4_0_top),
.in_X_5_0(in_X_5_0_top),
.in_X_6_0(in_X_6_0_top),
.in_X_7_0(in_X_7_0_top),
.in_X_0_1(in_X_0_1_top),
.in_X_1_1(in_X_1_1_top),
.in_X_2_1(in_X_2_1_top),
.in_X_3_1(in_X_3_1_top),
.in_X_4_1(in_X_4_1_top),
.in_X_5_1(in_X_5_1_top),
.in_X_6_1(in_X_6_1_top),
.in_X_7_1(in_X_7_1_top));
assign test = in_X_0_0_top & in_X_1_0_top ;
endmodule
* * *
LEF for XYZ bbox :
VERSION 5.4 ;
NAMESCASESENSITIVE ON ;
BUSBITCHARS "[]" ;
DIVIDERCHAR "/" ;
UNITS
DATABASE MICRONS 1000 ;
END UNITS
MACRO XYZ
ORIGIN 0.0 0.0 ;
CLASS BLOCK ;
SIZE 7.4 BY 7.4 ;
SYMMETRY X Y R90 ;
PIN in_Y_0_0
DIRECTION INOUT ;
PORT
LAYER met2 ;
RECT 0 0.65 0.5 1.15 ;
END
END in_Y_0_0
PIN in_Y_1_0
DIRECTION INOUT ;
PORT
LAYER met2 ;
RECT 0 1.45 0.5 1.95 ;
END
END in_Y_1_0
PIN in_Y_2_0
DIRECTION INOUT ;
PORT
LAYER met2 ;
RECT 0 2.25 0.5 2.75 ;
END
END in_Y_2_0
PIN in_Y_3_0
DIRECTION INOUT ;
PORT
LAYER met2 ;
RECT 0 3.05 0.5 3.55 ;
END
* * *
lib for XYZ :
cell ("XYZ") {
area : 54.76;
cell_footprint : "XYZ";
dont_touch : "true";
cell_leakage_power : 2.2805530000;
driver_waveform_fall : "ramp";
driver_waveform_rise : "ramp";
pin ("in_X_0_0") {
capacitance : 0.0024350000;
clock : "false";
direction : "inout";
fall_capacitance : 0.0023640000;
max_transition : 500 ;
rise_capacitance : 0.0025060000;
}
pin ("in_X_1_0") {
capacitance : 0.0024350000;
clock : "false";
direction : "inout";
fall_capacitance : 0.0023640000;
max_transition : 500 ;
rise_capacitance : 0.0025060000;
}
pin ("in_X_2_0") {
capacitance : 0.0024350000;
clock : "false";
direction : "inout";
fall_capacitance : 0.0023640000;
max_transition : 500 ;
rise_capacitance : 0.0025060000;
}
* * *
Any way to send a debug trace ?
The-OpenROAD-Project/OpenLane