Saptarshi Ghosh
05/20/2025, 6:44 AMnetgen is only supported in sky130
. This is somewhat fine as first to check the LVS in sky130 and then do DRCs in gf180 but is there a way to check LVS directly in GF180 ? Has anybody else also faced the same?Mitch Bailey
05/20/2025, 11:38 AMSaptarshi Ghosh
05/20/2025, 1:55 PMMitch Bailey
05/20/2025, 9:11 PMnetgen is only supported in sky130
message?Saptarshi Ghosh
05/21/2025, 6:20 AM{}.lvs_netgen
function.Saptarshi Ghosh
05/21/2025, 6:24 AMlvs_netgen
function, It gets the error here for non-sky130
processSaptarshi Ghosh
05/21/2025, 6:25 AMSaptarshi Ghosh
05/21/2025, 6:28 AMSaptarshi Ghosh
05/21/2025, 6:39 AMlvs_schematic_ref_file
and the lvs_setup_tcl_file
files for the gf180. Is that exists?
Seems like what the code is doing is:
The In-build Net-list is extracted by
<http://layout.info['netlist'].generate_netlist()|layout.info['netlist'].generate_netlist()>
and a corresponding spice file is written
write_spice(str(netlist_from_comp), str(spice_path), lvsschemref_file)
On Other hand:
with this magic script , the spice is extracted from the component
magic_script_content = f"""
gds flatglob *\\$\\$*
gds read {gds_path}
load {design_name}
select top cell
ext2resist all
extract all
ext2spice lvs
ext2spice extresist on
ext2spice -o {str(lvsmag_path)}
load {design_name}
ext2sim cthresh 0
ext2sim -o {str(sim_path)}
exit
"""
Saptarshi Ghosh
05/21/2025, 6:42 AMlvs_mag_path
is the magic extracted spice
and spice_path
is the net-list generated spice code
and, both are being compared with help of lvs_setup_tcl_file
netgen -batch lvs "{str(lvsmag_path)} {design_name}" "{str(spice_path)} {design_name}" {lvssetup_file} {str(report_path)}
Saptarshi Ghosh
05/21/2025, 6:42 AMMitch Bailey
05/21/2025, 12:15 PMpdk_root
, lvs_setup_tcl_file
, and magic_drc_file
. If the correct values are passed to the function, I expect it will work.mehdi
05/22/2025, 7:46 PMTim Edwards
05/23/2025, 2:33 PMcaravel-gf180mcu
repository (originally github/efabless, now github/fossi-foundation) the file lvs/run_caravel_lvs.sh
.
There is no reason why any LVS script should not be process-agnostic. Calls to netgen are the same in any case as the process-dependent part is all on the command line (path to the setup file).
Calls to magic for extraction likewise should be process agnostic, which the script posted above is.
I do not know how magic is being called, as the script makes a reference to a command that does not normally exist (ext2resist
is not a magic command). The script appears to have been written by somebody who does not understand Magic very well and did not consider it helpful to consult somebody who does.Juan Sebastian Moya
05/26/2025, 2:40 PMSaptarshi Ghosh
05/30/2025, 8:19 AM