Ahmed Reda
11/22/2022, 1:10 AMMitch Bailey
11/22/2022, 1:28 AMsky130_fd_pr__pnp_05v5 (2) |(no matching element)
...
(no matching element) |sky130_fd_pr__pnp_05v5_W0p68L0p68 (2)
This can probably be done with
sed -i.bak 's/sky130_fd_pr__pnp_05v5_W0p68L0p68/sky130_fd_pr__pnp_05v5 W=0.68 L=0.68/' bandgap_xschem.spice
Stefan Schippers
11/22/2022, 12:05 PMsky130_fd_pr__pnp_05v5_W0p68L0p68
, while for layout matching sky130_fd_pr__pnp_05v5
is the correct symbol name. What should the best way to go to avoid users dealing with these errors? with this difference either LVS or ngspice simulation will fail.Mitch Bailey
11/22/2022, 2:04 PMsky130_fd_pr__pnp_05v5
model with W
and L
?Stefan Schippers
11/22/2022, 2:10 PMsky130_fd_pr__pnp_05v5_W0p68L0p68.model.spice
sky130_fd_pr__pnp_05v5_W3p40L3p40.model.spice
Mitch Bailey
11/23/2022, 12:45 AMproperty "-circuit2 sky130_fd_pr__res_xhigh_po_0p69" add w 0.69
equate classes "-circuit1 sky130_fd_pr__res_xhigh_po" "-circuit2 sky130_fd_pr__res_xhigh_po_0p69"
It gives me a topology match with size errors
sky130_fd_pr__res_xhigh_po:24 vs. sky130_fd_pr__res_xhigh_po_0p69:R1:
Property w in circuit1 has no matching property in circuit2
Tim Edwards
11/23/2022, 2:04 AMproperty ... add
doesn't mean to add a property, it means that the specified property is additive.
There are definite complications with getting these fixed-width devices to extract right from magic. I made the resistors work reasonably well by defining various marker layers at different sizes. I never did that with the bipolars since there are only a couple of valid modeled device sizes. Magic will extract a PNP device marked with a pnp
layer as sky130_fd_pr__pnp_05v5
without the fixed-size suffix. It should work to use the sky130_fd_pr__pnp_05v0_W0p68L0p68
layout cell from the library and give it a property called primitive
that indicates that the subcircuit is supposed to be treated as a device and therefore extracted as a black-box. But if all else fails, I prefer your solution of just hacking one netlist to produce the right output with a sed
script.Mitch Bailey
11/23/2022, 2:10 AMproperty "-circuit1 $dev" series {l add}
which specifies adding property when merging, but in the code, there’s
char *options[] = {
"add", "create", "remove", "delete", "tolerance", "merge", "serial",
"series", "parallel", NULL
};
enum OptionIdx {
ADD_IDX, CREATE_IDX, REMOVE_IDX, DELETE_IDX, TOLERANCE_IDX, MERGE_IDX,
SERIAL_IDX, SERIES_IDX, PARALLEL_IDX
};
...
case ADD_IDX:
case CREATE_IDX:
Looks like there’s also an add
or create
command used in the same place as series
.Ahmed Reda
11/23/2022, 7:43 PMLinen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by