Open Flians opened 3 months ago
I am getting a different error at the moment:
2024-03-13 21:28:19 tech_util INFO: Loading tech file: ../StdCellLib/Tech.SKY130/librecell_tech.py
Minimum Spacing 270 for pdiff_contact too small because of pdiffusion, minimum should be 390(=270+2*60) Fixing minimum_spacing
Minimum Spacing 270 for ndiff_contact too small because of ndiffusion, minimum should be 390(=270+2*60) Fixing minimum_spacing
Minimum Spacing 390 for pdiff_contact - ndiff_contact too small because of ndiffusion, minimum should be 390(=270+60+60) Fixing minimum_spacing
Minimum Spacing 190 for via1 too small because of metal1, minimum should be 260(=140+2*60) Fixing minimum_spacing
grid_before: [45, 180, 315, 450, 585, 720, 855, 990, 1125, 1260, 1395, 1530, 1665, 1800, 1935, 2070, 2205, 2340, 2475, 2610, 2745, 2880, 3015, 3150, 3285]
grid_after: [0, 425, 450, 585, 720, 855, 990, 1125, 1260, 1395, 1530, 1665, 1800, 1925, 2070, 2205, 2340, 2475, 2610, 2745, 2880, 2905, 3330]
2024-03-13 21:28:19 standalone INFO: Placement algorithm: MetaTransistorPlacer
2024-03-13 21:28:19 standalone INFO: Signal routing algorithm: DijkstraRouter
2024-03-13 21:28:19 standalone INFO: Create layout for cell 'AND4' from '../StdCellLib/Catalog/AND4.sp'.
2024-03-13 21:28:19 standalone INFO: Load netlist: ../StdCellLib/Catalog/AND4.sp
2024-03-13 21:28:19 net_util DEBUG: Loaded cells: 'AND4'
2024-03-13 21:28:19 standalone INFO: Supply net: VDD
2024-03-13 21:28:19 standalone INFO: Ground net: GND
2024-03-13 21:28:19 standalone DEBUG: Rescale transistors.
2024-03-13 21:28:19 standalone INFO: Initialize placer
2024-03-13 21:28:19 meta_placer DEBUG: Estimate placement complexity.
2024-03-13 21:28:19 eulertours DEBUG: Graph is empty.
2024-03-13 21:28:19 standalone ERROR: failed to create layout: ('Connectivity is undefined ', 'for the null graph.')
Traceback (most recent call last):
File "/home/philipp/.local/bin/lclayout", line 33, in <module>
sys.exit(load_entry_point('lclayout', 'console_scripts', 'lclayout')())
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/standalone.py", line 987, in main
raise e
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/standalone.py", line 967, in main
cell, pin_geometries, debug_cell = layouter.create_cell_layout(cell_name, netlist_path, args.placement_file)
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/standalone.py", line 804, in create_cell_layout
self._03_1_init_placer()
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/standalone.py", line 226, in _03_1_init_placer
placements = self.placer.place(self._transistors_abstract)
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/place/meta_placer.py", line 85, in place
placer = self.get_placer(transistors)
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/place/meta_placer.py", line 51, in get_placer
even_degree_graphs_n = eulertours.construct_even_degree_graphs(nmos_graph)
File "/home/philipp/libresilicon/lclayout-philipp/lclayout/place/eulertours.py", line 39, in construct_even_degree_graphs
assert nx.is_connected(graph), Exception("G must be a connected graph.")
File "/home/philipp/.local/lib/python3.10/site-packages/decorator.py", line 232, in fun
return caller(func, *(extras + args), **kw)
File "/usr/local/lib/python3.10/dist-packages/networkx/utils/decorators.py", line 78, in _not_implemented_for
return not_implement_for_func(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/networkx/algorithms/components/connected.py", line 135, in is_connected
raise nx.NetworkXPointlessConcept(
networkx.exception.NetworkXPointlessConcept: ('Connectivity is undefined ', 'for the null graph.')`
Just to give you some ideas, these are the parameters I am usually using to call lclayout:
lclayout --output-dir outputlib --tech ../Tech/librecell_tech.py --netlist $cellname.sp --cell $cellname -v $placer --placement-file $cellname.place --ignore-lvs --debug-routing-graph --route-max-iter 100
When I use lclayout to do P&R for cell AND4, there is an error.
Could you please help me to check it? Thank you.