Skip to content

Commit 777d157

Browse files
committed
Merge remote-tracking branch 'private/master' into dpl-cell-height
2 parents 8004a0e + a3f5204 commit 777d157

101 files changed

Lines changed: 33426 additions & 5553 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/github-actions-check-bazel-lock.yml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,16 @@ jobs:
1212
- name: Check out repository code
1313
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1414

15-
- name: Verify lock file is up to date
16-
run: bazelisk mod deps --lockfile_mode=error
15+
- name: Update lock file to check for differences
16+
run: |
17+
cp MODULE.bazel MODULE.bazel.before
18+
bazelisk mod deps --lockfile_mode=update
19+
20+
- name: Differences to be adressed
21+
run: |
22+
if ! diff MODULE.bazel.before MODULE.bazel ; then
23+
echo "Run"
24+
echo "bazelisk mod deps --lockfile_mode=update"
25+
echo "and update pull request"
26+
exit 1
27+
fi

CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,6 @@ cmake_policy(SET CMP0074 NEW)
2121
# critical for builds in non-standard environments.
2222
cmake_policy(SET CMP0144 NEW)
2323

24-
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.27")
25-
# Disallows <PACKAGENAME>_ROOT in find_package.
26-
# TODO: resolve absl/or-tools issue and switch to NEW
27-
cmake_policy(SET CMP0144 OLD)
28-
endif()
29-
3024
# Allow AUTOUIC on generated source
3125
cmake_policy(SET CMP0071 NEW)
3226

etc/DependencyInstaller.sh

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ LEMON_VERSION="1.3.1"
6363
SPDLOG_VERSION="1.15.0"
6464
GTEST_VERSION="1.17.0"
6565
GTEST_CHECKSUM="3471f5011afc37b6555f6619c14169cf"
66-
ABSL_VERSION="20260107.0"
67-
ABSL_CHECKSUM="2a7add2ee848dd4591f41b0f6339d624"
66+
# Match the Abseil version bundled in prebuilt or-tools ${OR_TOOLS_VERSION_BIG}.
67+
ABSL_VERSION="20250512.0"
68+
ABSL_CHECKSUM="ecd64c3c38b20335c48e1ede28a8db90"
6869
BISON_VERSION="3.8.2"
6970
BISON_CHECKSUM="1e541a097cda9eca675d29dd2832921f"
7071
FLEX_VERSION="2.6.4"
@@ -674,20 +675,28 @@ _install_abseil() {
674675
local absl_prefix_found=""
675676
local absl_version_file=""
676677

677-
# Check in default/user-specified prefix first
678-
local absl_version_file_default="${absl_prefix_install}/lib/cmake/absl/abslConfigVersion.cmake"
679-
if [[ -f "${absl_version_file_default}" ]]; then
680-
absl_prefix_found="${absl_prefix_install}"
681-
absl_version_file="${absl_version_file_default}"
682-
fi
678+
# Check in default/user-specified prefix first (lib64 on RHEL, lib elsewhere).
679+
for absl_version_file_default in \
680+
"${absl_prefix_install}/lib64/cmake/absl/abslConfigVersion.cmake" \
681+
"${absl_prefix_install}/lib/cmake/absl/abslConfigVersion.cmake"; do
682+
if [[ -f "${absl_version_file_default}" ]]; then
683+
absl_prefix_found="${absl_prefix_install}"
684+
absl_version_file="${absl_version_file_default}"
685+
break
686+
fi
687+
done
683688

684689
# If not found, check in or-tools path
685690
if [[ -z "${absl_prefix_found}" && -n "${OR_TOOLS_PATH}" ]]; then
686-
local absl_version_file_or_tools="${OR_TOOLS_PATH}/lib/cmake/absl/abslConfigVersion.cmake"
687-
if [[ -f "${absl_version_file_or_tools}" ]]; then
688-
absl_prefix_found="${OR_TOOLS_PATH}"
689-
absl_version_file="${absl_version_file_or_tools}"
690-
fi
691+
for absl_version_file_or_tools in \
692+
"${OR_TOOLS_PATH}/lib64/cmake/absl/abslConfigVersion.cmake" \
693+
"${OR_TOOLS_PATH}/lib/cmake/absl/abslConfigVersion.cmake"; do
694+
if [[ -f "${absl_version_file_or_tools}" ]]; then
695+
absl_prefix_found="${OR_TOOLS_PATH}"
696+
absl_version_file="${absl_version_file_or_tools}"
697+
break
698+
fi
699+
done
691700
fi
692701

693702
local absl_installed_version="none"
@@ -709,6 +718,14 @@ _install_abseil() {
709718
_execute "Building and installing Abseil..." "${cmake_bin}" --build build --target install
710719
)
711720
absl_prefix_found="${absl_prefix_install}"
721+
for absl_version_file_default in \
722+
"${absl_prefix_install}/lib64/cmake/absl/abslConfigVersion.cmake" \
723+
"${absl_prefix_install}/lib/cmake/absl/abslConfigVersion.cmake"; do
724+
if [[ -f "${absl_version_file_default}" ]]; then
725+
absl_version_file="${absl_version_file_default}"
726+
break
727+
fi
728+
done
712729
INSTALL_SUMMARY+=("Abseil: system=${absl_installed_version}, required=${required_version}, path=${absl_prefix_found}, status=installed")
713730
else
714731
INSTALL_SUMMARY+=("Abseil: system=${absl_installed_version}, required=${required_version}, path=${absl_prefix_found}, status=skipped")

src/cts/test/buffer_ports.def

Lines changed: 1013 additions & 0 deletions
Large diffs are not rendered by default.

src/cts/test/buffer_ports.ok

Lines changed: 4 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,8 @@
11
[INFO ODB-0227] LEF file: Nangate45/Nangate45.lef, created 22 layers, 27 vias, 135 library cells
2-
[INFO IFP-0001] Added 714 rows of 5263 site FreePDK45_38x28_10R_NP_162NW_34O.
3-
[INFO IFP-0100] Die BBox: ( 0.000 0.000 ) ( 1000.000 1000.000 ) um
4-
[INFO IFP-0101] Core BBox: ( 0.000 0.000 ) ( 999.970 999.600 ) um
5-
[INFO IFP-0102] Core area: 999570.012 um^2
6-
[INFO IFP-0103] Total instances area: 111.454 um^2
7-
[INFO IFP-0104] Effective utilization: 0.000
8-
[INFO IFP-0105] Number of instances: 68
9-
[INFO RSZ-0026] Removed 5 buffers.
10-
[INFO RSZ-0027] Inserted 9 BUF_X1 input buffers.
11-
[INFO RSZ-0028] Inserted 9 BUF_X1 output buffers.
12-
Found 0 macro blocks.
13-
Using 2 tracks default min distance between IO pins.
14-
[INFO PPL-0001] Number of available slots 12380
15-
[INFO PPL-0002] Number of I/O 19
16-
[INFO PPL-0003] Number of I/O w/sink 19
17-
[INFO PPL-0004] Number of I/O w/o sink 0
18-
[INFO PPL-0005] Slots per section 200
19-
[INFO PPL-0008] Successfully assigned pins to sections.
20-
[INFO PPL-0012] I/O nets HPWL: 1057.01 um.
21-
[INFO GPL-0001] ---- Initialize GPL Main Data Structures
22-
[INFO GPL-0002] DBU: 2000
23-
[INFO GPL-0003] SiteSize: ( 0.190 1.400 ) um
24-
[INFO GPL-0004] CoreBBox: ( 0.000 0.000 ) ( 999.970 999.600 ) um
25-
[INFO GPL-0036] Movable instances area: 121.562 um^2
26-
[INFO GPL-0037] Total instances area: 121.562 um^2
27-
[INFO GPL-0035] Pin density area adjust: 7.987 um^2
28-
[INFO GPL-0032] ---- Initialize Region: Top-level
29-
[INFO GPL-0006] Number of instances: 81
30-
[INFO GPL-0007] Movable instances: 81
31-
[INFO GPL-0008] Fixed instances: 0
32-
[INFO GPL-0009] Dummy instances: 0
33-
[INFO GPL-0010] Number of nets: 107
34-
[INFO GPL-0011] Number of pins: 281
35-
[INFO GPL-0012] Die BBox: ( 0.000 0.000 ) ( 1000.000 1000.000 ) um
36-
[INFO GPL-0013] Core BBox: ( 0.000 0.000 ) ( 999.970 999.600 ) um
37-
[INFO GPL-0016] Core area: 999570.012 um^2
38-
[INFO GPL-0014] Region name: top-level.
39-
[INFO GPL-0015] Region area: 999570.012 um^2
40-
[INFO GPL-0017] Fixed instances area: 0.000 um^2
41-
[INFO GPL-0018] Movable instances area: 129.549 um^2
42-
[INFO GPL-0019] Utilization: 0.013 %
43-
[INFO GPL-0020] Standard cells area: 129.549 um^2
44-
[INFO GPL-0021] Large instances area: 0.000 um^2
45-
[INFO GPL-0005] ---- Execute Conjugate Gradient Initial Placement.
46-
[INFO GPL-0051] Source of initial instance position counters:
47-
Odb location = 18 Core center = 63 Region center = 0
48-
[InitialPlace] Iter: 1 conjugate gradient residual: 0.00000006 HPWL: 1722700
49-
[InitialPlace] Iter: 2 conjugate gradient residual: 0.00000005 HPWL: 8121024
50-
[InitialPlace] Iter: 3 conjugate gradient residual: 0.00000011 HPWL: 2164788
51-
[InitialPlace] Iter: 4 conjugate gradient residual: 0.00000010 HPWL: 1701248
52-
[InitialPlace] Iter: 5 conjugate gradient residual: 0.00000007 HPWL: 1688200
53-
[INFO DPL-0006] Core area: 999570.01 um^2, Instances area: 121.56 um^2, Utilization: 0.0%
54-
[INFO DPL-0005] Diamond search max displacement: +/- 500 sites horizontally, +/- 100 rows vertically.
55-
[INFO DPL-1101] Legalizing using diamond search.
56-
Movements Summary
57-
---------------------------------------
58-
Total cells: 81
59-
Diamond Move Success: 81 (100.00%)
60-
Diamond Move Failure: 0
61-
Rip-up and replace Success: 0 ( 0.00% of diamond failures)
62-
Rip-up and replace Failure: 0
63-
Total Placement Failures: 0
64-
---------------------------------------
65-
Placement Analysis
66-
---------------------------------
67-
total displacement 798.6 u
68-
average displacement 9.9 u
69-
max displacement 13.0 u
70-
original HPWL 573.2 u
71-
legalized HPWL 1628.1 u
72-
delta HPWL 184 %
73-
2+
[INFO ODB-0128] Design: clk_passthrough_top
3+
[INFO ODB-0130] Created 19 pins.
4+
[INFO ODB-0131] Created 81 components and 424 component-terminals.
5+
[INFO ODB-0133] Created 107 nets and 262 connections.
746
[INFO CTS-0050] Root buffer is BUF_X1.
757
[INFO CTS-0051] Sink buffer is BUF_X1.
768
[INFO CTS-0052] The following clock buffers will be used for CTS:

src/cts/test/buffer_ports.tcl

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,12 @@
1+
# Test CTS design with input/output port buffers on passthrough top design
12
source "helpers.tcl"
23

34
source Nangate45/Nangate45.vars
45
read_liberty Nangate45/Nangate45_typ.lib
56
read_lef Nangate45/Nangate45.lef
6-
read_verilog buffer_ports.v
7-
8-
link_design clk_passthrough_top
9-
7+
read_def buffer_ports.def
108
read_sdc buffer_ports.sdc
119

12-
initialize_floorplan -die_area "0 0 1000 1000" -core_area "0 0 1000 1000" \
13-
-site FreePDK45_38x28_10R_NP_162NW_34O
14-
#make_io_sites -horizontal_site IOSITE -vertical_site IOSITE -corner_site IOSITE -offset 15
15-
source $tracks_file
16-
17-
remove_buffers
18-
buffer_ports
19-
20-
place_pins -hor_layers $io_placer_hor_layer \
21-
-ver_layers $io_placer_ver_layer
22-
global_placement -skip_nesterov_place
23-
detailed_placement
24-
2510

2611
source Nangate45/Nangate45.rc
2712
source $layer_rc_file

0 commit comments

Comments
 (0)