Kamyar
11/16/2021, 7:02 PM./compiler/example_configs/riscv_sky130_1kbyte_1rw1r.py
(PS: the 1r1w variants don't work)
magic
segfaults during execution of run_ext.sh
and therefore no spice file is generated:
Extracting sram_1rw1r0w_32_256_sky130 into sram_1rw1r0w_32_256_sky130.ext:
Total of 5 warnings.
Finished extract
./run_ext.sh: line 38: 21392 Segmentation fault: 11 /usr/local/bin/magic -dnull -noconsole <<EOF
I'm trying to debug that, but I'm also getting some error messages which I don't know if they should be of any concern or not.
For example: Error: Asymmetric device with multiple terminals!
Matthew Guthaus
11/16/2021, 7:07 PMKamyar
11/16/2021, 7:07 PMKamyar
11/16/2021, 7:08 PMMatthew Guthaus
11/16/2021, 7:10 PMMatthew Guthaus
11/16/2021, 7:11 PMKamyar
11/16/2021, 7:16 PMMatthew Guthaus
11/16/2021, 7:19 PMMatthew Guthaus
11/16/2021, 7:19 PMKamyar
11/16/2021, 7:20 PMExtracting sram_1rw1r0w_32_256_sky130 into sram_1rw1r0w_32_256_sky130.ext:
Completed 25%
Completed 32%
Completed 39%
Completed 47%
Completed 54%
Completed 61%
Completed 69%
Completed 76%
Completed 84%
Total of 5 warnings.
% Finished extract
I think I found the magic bug!Matthew Guthaus
11/16/2021, 7:20 PMKamyar
11/16/2021, 7:20 PMKamyar
11/16/2021, 7:21 PMMatthew Guthaus
11/16/2021, 7:21 PMKamyar
11/16/2021, 7:21 PMKamyar
11/16/2021, 7:22 PMlldb /usr/local/lib/magic/tcl/magicexec -- -dnull -noconsole
and then I paste the full script in the replMatthew Guthaus
11/16/2021, 7:24 PMKamyar
11/17/2021, 1:19 AMKamyar
11/17/2021, 1:21 AM$OPENRAM_TOP/macro
folder)Matthew Guthaus
11/17/2021, 1:25 AMMatthew Guthaus
11/17/2021, 1:26 AMMitch Bailey
11/17/2021, 1:59 AMKamyar
11/17/2021, 2:11 AMTotal DRC errors found: 19
I'm attaching the LVS report.
Something is really wrong there.
Library setup issue?
edit: re-uploaded the attachment belowKamyar
11/17/2021, 2:16 AMMatthew Guthaus
11/17/2021, 2:26 AMMatthew Guthaus
11/17/2021, 2:32 AMKamyar
11/17/2021, 2:34 AMMitch Bailey
11/17/2021, 2:41 AMInstance: and3_dec_49//pinv_dec_0//nmos_m1 |Instance: and3_decDEC_AND_55/pinv_decpand3
(1,3) = (295,2) | (1,3) = (446,2)
2 = 3 | 2 = 3
4 = 1 | 4 = 446
This is an nmos with the bulk (4) connected to only 1 net in the layout. Since nmos bulk is the p-substrate, there's no way it's not connected to anything else. Fortunately, the bulk connection of the nmos is a unique node name and I can do a global replace in the extracted netlist.
@User I'm using magic 8.6.225
and netgen 1.5.208
extracting from the GDS for device level LVS. I haven't looked at the run_lvs.sh
setup included with openram. On GDS-in, I flatten the *_nmos_m*
and *_pmos_m*
cells which may not be strictly necessary, but it makes the extracted netlist more readable. Currently, besides the nmos bulk connection not being extracted, some of the bit_cell's pwell connection is unconnected at higher levels. These bit cells are physically in the same pwell as connected bit cells, so I'm processing it as an extraction problem.Kamyar
11/17/2021, 2:56 AMError while reading cell "data_dff" (byte position 9371676): Warning: Cell data_dff boundary was redefined.
What does this mean and is it related to the issue? Is the gds input broken?Matthew Guthaus
11/17/2021, 3:40 AMMatthew Guthaus
11/17/2021, 3:41 AMKamyar
11/17/2021, 3:44 AMKamyar
11/17/2021, 5:32 AMvlsida/openram-ubuntu:latest
the recommended docker image?Matthew Guthaus
11/17/2021, 5:57 AMMatthew Guthaus
11/17/2021, 5:58 AMMatthew Guthaus
11/17/2021, 5:59 AMKamyar
11/17/2021, 7:13 PMMatthew Guthaus
11/17/2021, 9:06 PMMatthew Guthaus
11/17/2021, 9:08 PMKamyar
11/18/2021, 1:12 AM