forked from chipforge/StdCellLib
-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
When I use lclayout to do P&R for cell AND4, there is an error.
lclayout --output-dir ../Tech.SKY130/test/ --tech ../Tech.SKY130/librecell_tech.py --netlist ../Catalog/AND4.sp --cell AND4 --verbose
2024-03-12 13:00:51 tech_util INFO: Loading tech file: tools/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-12 13:00:51 standalone INFO: Placement algorithm: MetaTransistorPlacer
2024-03-12 13:00:51 standalone INFO: Signal routing algorithm: DijkstraRouter
2024-03-12 13:00:51 standalone INFO: Create layout for cell 'AND4' from 'tools/StdCellLib/Catalog/AND4.sp'.
2024-03-12 13:00:51 standalone INFO: Load netlist: tools/StdCellLib/Catalog/AND4.sp
2024-03-12 13:00:51 net_util DEBUG: Loaded cells: 'AND4'
2024-03-12 13:00:51 standalone INFO: Supply net: VDD
2024-03-12 13:00:51 standalone INFO: Ground net: GND
2024-03-12 13:00:51 standalone DEBUG: Rescale transistors.
2024-03-12 13:00:51 standalone DEBUG: Setup layout.
2024-03-12 13:00:51 standalone INFO: Find transistor placement
2024-03-12 13:00:51 meta_placer DEBUG: Estimate placement complexity.
2024-03-12 13:00:51 meta_placer DEBUG: Number of even-degree graphs (NMOS): 1
2024-03-12 13:00:51 meta_placer DEBUG: Number of even-degree graphs (PMOS): 1
2024-03-12 13:00:51 meta_placer DEBUG: Find eulerian tours.
2024-03-12 13:00:51 meta_placer DEBUG: Estimated placement complexity: 288
2024-03-12 13:00:51 meta_placer INFO: Placement engine: EulerPlacer
2024-03-12 13:00:51 euler_placer DEBUG: Find eulerian tours.
2024-03-12 13:00:51 euler_placer DEBUG: Number of even-degree graphs: 1
2024-03-12 13:00:51 euler_placer DEBUG: Number of eulertours: 2
2024-03-12 13:00:51 euler_placer DEBUG: Number of deduplicated eulertours: 2
2024-03-12 13:00:51 euler_placer DEBUG: Number of even-degree graphs: 1
2024-03-12 13:00:51 euler_placer DEBUG: Number of eulertours: 144
2024-03-12 13:00:51 euler_placer DEBUG: Number of deduplicated eulertours: 144
2024-03-12 13:00:51 euler_placer DEBUG: Number of NMOS placements with cyclic shifts: 2
2024-03-12 13:00:51 euler_placer DEBUG: Number of PMOS placements with cyclic shifts: 48
2024-03-12 13:00:51 standalone INFO: Cell placement:
(VDD, A, Y) | (Y, B, VDD) | (VDD, C, Y) | (Y, D, VDD) | (VDD, Y, Z)
(Y, A, 1) | (1, B, 2) | (2, C, 3) | (3, D, GND) | (GND, Y, Z)
2024-03-12 13:00:51 standalone DEBUG: Draw transistors.
2024-03-12 13:00:51 standalone DEBUG: Draw cell template.
2024-03-12 13:00:51 lvs DEBUG: Extracting netlist from layout
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net C: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net D: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net Y: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net B: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net A: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net VDD: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net GND: 1
2024-03-12 13:00:51 router DEBUG: Number of pin shapes of net : 12
2024-03-12 13:00:51 routing_graph DEBUG: Create routing graph.
2024-03-12 13:00:51 routing_graph WARNING: No via weight specified from layer 'metal1' to 'pplus'.
2024-03-12 13:00:51 routing_graph WARNING: No via weight specified from layer 'metal1' to 'nplus'.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `C` of transistor 2.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `D` of transistor 3.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `Y` of transistor 9.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `B` of transistor 6.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `D` of transistor 8.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `B` of transistor 1.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `A` of transistor 0.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `Y` of transistor 4.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `C` of transistor 7.
2024-03-12 13:00:52 routing_graph DEBUG: No neighbour node for terminal with net `A` of transistor 5.
2024-03-12 13:00:52 router ERROR: Net 'A' has no routing terminal.
2024-03-12 13:00:52 router ERROR: Net 'C' has no routing terminal.
2024-03-12 13:00:52 router ERROR: Net 'D' has no routing terminal.
2024-03-12 13:00:52 router ERROR: Net 'B' has no routing terminal.
Traceback (most recent call last):
File "/home/flynn/.local/bin/lclayout", line 8, in <module>
sys.exit(main())
File "/home/flynn/.local/lib/python3.10/site-packages/lclayout/standalone.py", line 873, in main
cell, pin_geometries = layouter.create_cell_layout(cell_name, netlist_path, args.placement_file)
File "/home/flynn/.local/lib/python3.10/site-packages/lclayout/standalone.py", line 756, in create_cell_layout
self._06_route()
File "/home/flynn/.local/lib/python3.10/site-packages/lclayout/standalone.py", line 289, in _06_route
self._routing_trees = router.route(self.shapes, io_pins=self.io_pins,
File "/home/flynn/.local/lib/python3.10/site-packages/lclayout/router.py", line 220, in route
routing_trees = self._06_route(shapes, io_pins, transistor_layouts,
File "/home/flynn/.local/lib/python3.10/site-packages/lclayout/router.py", line 417, in _06_route
assert not error, "Nets without terminals. Check the routing graph (--debug-routing-graph)!"
AssertionError: Nets without terminals. Check the routing graph (--debug-routing-graph)!Could you please help me to check it? Thank you.
Metadata
Metadata
Assignees
Labels
No labels