Boris Murmann
01/15/2024, 1:39 AMMitch Bailey
01/15/2024, 5:16 AMBoris Murmann
01/15/2024, 5:27 AMMitch Bailey
01/15/2024, 5:39 AMBoris Murmann
01/15/2024, 5:40 AMBoris Murmann
01/15/2024, 5:40 AMMitch Bailey
01/15/2024, 5:45 AMformat="@name @@A1 @@A2 @@B1 @VGND @VNB @VPB @VPWR @@X @prefix\\\\a21o_2"
versus
.subckt sg13g2_a21o_1 A1 A2 B1 VDD VSS XStefan Schippers
01/15/2024, 11:37 PMVNB and VPB ports are not drawn as symbol pins but passed as attributes (same as VPWR and VGND power rails) you can remove all references to VNB and VPB in format, extra and template attributes. Also reverse the order of @VPWR and @VGND in format attribute.Mitch Bailey
01/16/2024, 10:59 AMlibs.tech/xschem/sg13g2_stdcells directory, does it resolve the problem?
sed -i -e 's/.VGND .VNB .VPB .VPWR/@VDD @VSS/' -e 's/VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR/VDD=VDD VSS=VSS/' -e 's/VGND VNB VPB VPWR/VDD VSS/' *Boris Murmann
01/16/2024, 5:09 PM.subckt sg13g2_dfrbp_1 CLK D Q Q_N RESET_B VDD VSSBoris Murmann
01/16/2024, 5:10 PMMitch Bailey
01/17/2024, 12:48 AMinput power output order. However, for the standard cells in xschem, the pin order is explicitly defined in the symbol format statement.
format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dfrbp_1"
Rearranging these should probably give you what you want.
This slightly modified command might work.
sed -i \
-e 's/@VGND @VNB @VPB @VPWR/@VDD @VSS/' \
-e 's/VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR/VDD=VDD VSS=VSS/' \
-e 's/VGND VNB VPB VPWR/VDD VSS/' \
-e 's/@VDD @VSS @@Q @@Q_N/@@Q @@Q_N @VDD @VSS/' *Boris Murmann
01/21/2024, 6:12 PM.subckt sg13g2_dfrbp_1 CLK D Q Q_N RESET_B VDD VSS
After running your sed (which fixes most other cells, the flipflop netlists like this:
CLK D RESET_B Q Q_N VDD VSSMitch Bailey
01/22/2024, 2:50 AMsg13g2_dfrbp_1.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dfrbp_1"
sg13g2_dfrbp_2.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dfrbp_2"
sg13g2_dlhq_1.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dlhq_1"
sg13g2_dlhr_1.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dlhr_1"
sg13g2_dlhrq_1.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dlhrq_1"
sg13g2_dllr_1.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dllr_1"
sg13g2_dllrq_1.sym: format="@name @@CLK @@D @@RESET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\dllrq_1"
sg13g2_sdfbbp_1.sym: format="@name @@CLK @@D @@RESET_B @@SCD @@SCE @@SET_B @VGND @VNB @VPB @VPWR @@Q @@Q_N @prefix\\\\sdfbbp_1"
Maybe this will work
sed -i .bak \
-e 's/@VGND @VNB @VPB @VPWR/@VDD @VSS/' \
-e 's/VGND=VGND VNB=VNB VPB=VPB VPWR=VPWR/VDD=VDD VSS=VSS/' \
-e 's/VGND VNB VPB VPWR/VDD VSS/' \
-e 's/@VDD @VSS @@Q @@Q_N/@@Q @@Q_N @VDD @VSS/' \
-e 's/\(@@RESET.*\)@@Q @@Q_N /@@Q @@Q_N \1/' *.symBoris Murmann
01/24/2024, 1:33 AMLinen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.
Powered by