Krzysztof Herman
08/08/2023, 2:10 PM[ERROR DRT-0307] Net _000_ of signal type SIGNAL cannot be connected to iterm _318_/Y with signal type POWER Error: detail_route.tcl, 59 DRT-0307 I
Here is my pdn.tcl
file content:
####################################
# global connections
####################################
add_global_connection -net {VDD} -pin_pattern {^VDD$} -power
add_global_connection -net {VDD} -pin_pattern {^VDDPE$}
add_global_connection -net {VDD} -pin_pattern {^VDDCE$}
add_global_connection -net {VSS} -pin_pattern {^VSS$} -ground
add_global_connection -net {VSS} -pin_pattern {^VSSE$}
global_connect
####################################
# voltage domains
####################################
set_voltage_domain -name {CORE} -power {VDD} -ground {VSS}
#proc####################################
####################################
define_pdn_grid -name {grid} -voltage_domains {CORE}
add_pdn_ring -grid {grid} -layers {Metal5 TopMetal1} -widths {5.0} -spacings {2.0} -core_offsets {4.5} -connect_to_pads
add_pdn_stripe -grid {grid} -layer {Metal1} -width {0.48} -pitch {7.56} -offset {0} -followpins -extend_to_core_ring
add_pdn_stripe -grid {grid} -layer {Metal5} -width {2.200} -pitch {75.6} -offset {13.600} -extend_to_core_ring
add_pdn_stripe -grid {grid} -layer {TopMetal1} -width {1.800} -pitch {75.6} -offset {13.570} -extend_to_core_ring
add_pdn_connect -grid {grid} -layers {Metal1 Metal5}
add_pdn_connect -grid {grid} -layers {Metal5 TopMetal1}
####################################
It generates the PDN network correctly. My MIN_ROUTING_LAYER ?= Metal1
and MAX_ROUTING_LAYER ?= Metal4
Any idea where the problem is ?Krzysztof Herman
08/08/2023, 2:21 PMArman Avetisyan
08/08/2023, 3:17 PMKrzysztof Herman
08/08/2023, 3:19 PMKrzysztof Herman
08/08/2023, 3:19 PMKrzysztof Herman
08/08/2023, 3:39 PMMatt Liberty
08/08/2023, 4:12 PMiterm _318_/Y with signal type POWER
the question is what is the cell and in LEF what is the type for pin YKrzysztof Herman
08/08/2023, 4:29 PMMACRO sg13g2_o21ai_1
CLASS CORE ;
ORIGIN 0 0 ;
FOREIGN sg13g2_o21ai_1 0 0 ;
SIZE 2.4 BY 3.78 ;
SYMMETRY X Y ;
SITE CoreSite ;
PIN B1
DIRECTION INPUT ;
USE SIGNAL ;
ANTENNAMODEL OXIDE1 ;
ANTENNAGATEAREA 0.279 LAYER Metal1 ;
PORT
LAYER Metal1 ;
RECT 1.24 1.43 1.55 2.06 ;
END
END B1
PIN VDD
DIRECTION INOUT ;
USE POWER ;
PORT
LAYER Metal1 ;
RECT 0 3.56 2.4 4 ;
RECT 1.77 2.64 1.93 4 ;
RECT 0.18 2.3 0.34 4 ;
END
END VDD
PIN Y
DIRECTION OUTPUT ;
USE POWER ;
PORT
LAYER Metal1 ;
RECT 1.24 2.27 1.93 2.43 ;
RECT 1.77 0.55 1.93 2.43 ;
RECT 1.24 2.27 1.4 3.28 ;
END
END Y
PIN VSS
DIRECTION INOUT ;
USE GROUND ;
PORT
LAYER Metal1 ;
RECT 0 -0.22 2.4 0.22 ;
RECT 0.71 -0.22 0.87 0.84 ;
END
END VSS
PIN A1
DIRECTION INPUT ;
USE SIGNAL ;
ANTENNAMODEL OXIDE1 ;
ANTENNAGATEAREA 0.279 LAYER Metal1 ;
PORT
LAYER Metal1 ;
RECT 0.11 1.42 0.46 2.09 ;
END
END A1
PIN A2
DIRECTION INPUT ;
USE SIGNAL ;
ANTENNAMODEL OXIDE1 ;
ANTENNAGATEAREA 0.279 LAYER Metal1 ;
PORT
LAYER Metal1 ;
RECT 0.67 1.43 1.02 2.46 ;
END
END A2
OBS
LAYER Metal1 ;
RECT 0.13 1.06 1.45 1.22 ;
RECT 1.24 0.55 1.4 1.22 ;
RECT 0.18 0.55 0.34 1.22 ;
LAYER Metal1 SPACING 0.18 ;
RECT 0.64 1.02 1.59 1.25 ;
RECT 1.05 0.4 1.59 1.25 ;
RECT 0 1.02 1.59 1.24 ;
RECT 0 0.4 0.53 1.24 ;
RECT 2.11 0.4 2.4 3.38 ;
RECT 0.52 2.64 1.06 3.38 ;
END
END sg13g2_o21ai_1
Krzysztof Herman
08/08/2023, 4:32 PMUSE POWER
for the Y port is generating the issueMatt Liberty
08/08/2023, 6:05 PMKrzysztof Herman
08/08/2023, 6:06 PMIndira Iyer
08/08/2023, 7:11 PMKrzysztof Herman
08/08/2023, 7:27 PMIndira Iyer
08/08/2023, 7:50 PMKrzysztof Herman
08/09/2023, 8:04 AMUSE SIGNAL;
in lef file. Thanks @Matt Liberty and @Arman Avetisyan. However there is another one:
[ERROR DRT-0073] No access point for _442_/CLK.
[ERROR DRT-0073] No access point for _447_/CLK.
[INFO DRT-0076] Complete 100 pins.
Error: detail_route.tcl, 59 DRT-0073
Any clue about that ?Arman Avetisyan
08/09/2023, 10:38 AMArman Avetisyan
08/09/2023, 10:39 AMKrzysztof Herman
08/09/2023, 11:48 AMsg13g2_dfrbp_2
here goes its lef file
MACRO sg13g2_dfrbp_2
CLASS CORE ;
ORIGIN 0 0 ;
FOREIGN sg13g2_dfrbp_2 0 0 ;
SIZE 14.4 BY 3.78 ;
SYMMETRY X Y ;
SITE CoreSite ;
PIN RESET_B
DIRECTION INPUT ;
USE SIGNAL ;
ANTENNAPARTIALCUTAREA 0.0361 LAYER Via1 ;
ANTENNAMODEL OXIDE1 ;
ANTENNAGATEAREA 0.1092 LAYER Metal1 ;
ANTENNAGATEAREA 0.3276 LAYER Metal2 ;
ANTENNAMAXAREACAR 1.142857 LAYER Metal2 ;
ANTENNAMAXCUTCAR 0.330586 LAYER Via1 ;
PORT
LAYER Metal1 ;
RECT 9.595 1.65 9.985 1.97 ;
RECT 2.385 1.61 2.755 1.955 ;
RECT 1.025 1.45 1.315 1.98 ;
LAYER Metal2 ;
RECT 9.64 1.58 9.93 1.965 ;
RECT 1.075 1.58 9.93 1.78 ;
--
END sg13g2_dfrbp_2
Krzysztof Herman
08/09/2023, 11:55 AMKrzysztof Herman
08/09/2023, 12:07 PMMatt Liberty
08/09/2023, 1:48 PMKrzysztof Herman
08/09/2023, 1:53 PMKrzysztof Herman
08/09/2023, 2:03 PMMatt Liberty
08/09/2023, 2:47 PMMichael Strothjohann
08/09/2023, 8:28 PMKrzysztof Herman
08/10/2023, 7:01 AM-script $abc_script
from the following code.
# Technology mapping for cells
# ABC supports multiple liberty files, but the hook from Yosys to ABC doesn't
if {[info exist ::env(ABC_CLOCK_PERIOD_IN_PS)]} {
puts "\[FLOW\] Set ABC_CLOCK_PERIOD_IN_PS to: $::env(ABC_CLOCK_PERIOD_IN_PS)"
abc -D [expr $::env(ABC_CLOCK_PERIOD_IN_PS)] \
-script $abc_script \
-liberty $::env(DONT_USE_SC_LIB) \
-constr $::env(OBJECTS_DIR)/abc.constr
} else {
puts "\[WARN\]\[FLOW\] No clock period constraints detected in design"
abc -liberty $::env(DONT_USE_SC_LIB) \
-constr $::env(OBJECTS_DIR)/abc.constr
}
If no it stops here
[FLOW] Set ABC_CLOCK_PERIOD_IN_PS to: 30400 ./objects/ihp-sg13g2/gcd/base/lib/sg13g2_stdcell_typ_1p20V_25C.lib
8. Executing ABC pass (technology mapping using ABC).
8.1. Extracting gate netlist of module `\gcd' to `<abc-temp-dir>/input.blif'..
8.1.1. Executing ABC.
ERROR: ABC: execution of command "/home/herman/asic/digital/OpenROAD-flow-scripts/tools/install/yosys/bin/yosys-abc -s -f /tmp/yosys-abc-AsNr6w/abc.script 2>&1" failed: return code 1.
Command exited with non-zero status 1
Elapsed time: 0:00.91[h:]min:sec. CPU
The /tmp/yosys-abc-AsNr6w/abc.script
contains the following and seems to point to the valid directories:
echo + read_blif /tmp/yosys-abc-AsNr6w/input.blif;
read_blif /tmp/yosys-abc-AsNr6w/input.blif;
echo + read_lib -w /home/herman/asic/digital/OpenROAD-flow-scripts/flow/./objects/ihp-sg13g2/gcd/base/lib/sg13g2_stdcell_typ_1p20V_25C.lib;
read_lib -w /home/herman/asic/digital/OpenROAD-flow-scripts/flow/./objects/ihp-sg13g2/gcd/base/lib/sg13g2_stdcell_typ_1p20V_25C.lib;
echo + source /home/herman/asic/digital/OpenROAD-flow-scripts/flow/./scripts/abc_speed.script;
source /home/herman/asic/digital/OpenROAD-flow-scripts/flow/./scripts/abc_speed.script;
echo + write_blif /tmp/yosys-abc-AsNr6w/output.blif;
write_blif /tmp/yosys-abc-AsNr6w/output.blif
Michael Strothjohann
08/10/2023, 9:59 AMKrzysztof Herman
08/10/2023, 10:05 AMMichael Strothjohann
08/10/2023, 10:25 AMMichael Strothjohann
08/10/2023, 10:49 AMMatt Liberty
08/10/2023, 3:41 PMMichael Strothjohann
08/10/2023, 9:31 PMKrzysztof Herman
08/11/2023, 5:45 AMwire_load("Large") {
capacitance : 1.42e-05;
resistance : 0.0745;
slope : 8.3631;
fanout_length( 1, 23.2746);
fanout_length( 2, 32.1136);
fanout_length( 3, 48.4862);
fanout_length( 4, 64.0974);
fanout_length( 5, 86.2649);
fanout_length( 6, 84.2649);
}
sg13g2_stdcell_typ_1p20V_25C.lib
wire_load_table ("0_5k") {
fanout_area (1, 0.36);
fanout_area (5, 1.8);
fanout_area (20, 7.22);
fanout_area (10000, 3607.6);
fanout_capacitance (1, 0.0001);
fanout_capacitance (5, 0.0009);
fanout_capacitance (20, 0.0032);
fanout_capacitance (10000, 1.449);
fanout_length (1, 7.89);
fanout_length (5, 47.32);
fanout_length (20, 169.4);
fanout_length (10000, 77204.7);
fanout_resistance (1, 0.0042);
fanout_resistance (5, 0.0254);
fanout_resistance (20, 0.0911);
fanout_resistance (10000, 41.52);
}
Krzysztof Herman
08/11/2023, 5:46 AMError: Cannot find wire load model "0_5k"
Michael Strothjohann
08/11/2023, 4:17 PMwire_load ("1k") {
fanout_length (1, 9.93);
fanout_length (5, 59.59);
fanout_length (20, 215.6);
capacitance: 0.0002;
resistance: 0.0053;
slope: 10.9;
}
default_wire_load : "1k" ;
default_wire_load_mode : "top";
Note 1: The three fanout_lengths, capacitance and resistance are extracted from the original IHP-lib. Slop is also a rough estimate :
slope ~ (215.6 - 9.93)/(20-1) ~ 10.9
Note 2: The 'create_wire_load' command generates the values you should use.Matt Liberty
08/12/2023, 4:23 AMKrzysztof Herman
08/14/2023, 7:22 AM