Skip to content

Commit 1e615f1

Browse files
committed
Merge branch 'master' into upstream-fpt24-fine-grained-parallel-router
2 parents 2a5e12e + 796f652 commit 1e615f1

File tree

98 files changed

+1186
-955
lines changed

Some content is hidden

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

98 files changed

+1186
-955
lines changed

.github/workflows/stale.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ jobs:
2020
# Start from the oldest issues
2121
ascending: true
2222

23+
# Upper limit for number of API calls per day
24+
# This worklfow does 2-3 API calls per issue
25+
# including issues that have been marked stale
26+
operations-per-run: 300
27+
2328
# The configuration below can be used to allow the same behaviour with PRs.
2429
# Since we currently don't want to close old PRs, it is commented out but
2530
# left here in case we change our mind.

Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1-
FROM ubuntu:22.04
1+
FROM ubuntu:24.04
22
ARG DEBIAN_FRONTEND=noninteractive
33
# set out workspace
44
ENV WORKSPACE=/workspace
55
RUN mkdir -p ${WORKSPACE}
66
WORKDIR ${WORKSPACE}
77
COPY . ${WORKSPACE}
8+
# Required to bypass Python's protection on system-wide package installations in Ubuntu 23.04+.
9+
# This allows pip to install packages globally without using a virtual environment.
10+
ENV PIP_BREAK_SYSTEM_PACKAGES=1
811
# Install and cleanup is done in one command to minimize the build cache size
912
RUN apt-get update -qq \
1013
# Extract package names from install_apt_packages.sh
@@ -29,4 +32,4 @@ RUN apt-get update -qq \
2932
# Build VTR
3033
RUN rm -rf build && make -j$(nproc) && make install
3134
# Container's default launch command
32-
SHELL ["/bin/bash", "-c"]
35+
SHELL ["/bin/bash", "-c"]

doc/src/api/vtrutil/containers.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@ vtr_vector
88
:project: vtr
99
:sections: briefdescription detaileddescription innernamespace innerclass public-func typedef func
1010

11+
vtr_array
12+
----------
13+
.. doxygenfile:: vtr_array.h
14+
:project: vtr
15+
:sections: briefdescription detaileddescription innernamespace innerclass public-func typedef func
16+
1117
vtr_small_vector
1218
----------------
1319
.. doxygenclass:: vtr::small_vector

doc/src/quickstart/index.rst

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,23 @@ If you cloned the repository, you will need to set up the git submodules (if you
2323
2424
> git submodule init
2525
> git submodule update
26-
27-
VTR requires several system packages and Python packages to build and run the flow. Ubuntu users can install the required system packages using the following command (this works on Ubuntu 18.04, 20.04, 22.04 and 24.04, but you may require different packages on other Linux distributions). Our CI testing is on Ubuntu 24.04, so that is the best tested platform and recommended for development.
26+
27+
VTR requires several system and Python packages to build and run the flow. Ubuntu users can install the required system packages using the provided script or the command below. This setup works on Ubuntu 18.04, 20.04, 22.04, and 24.04, but note that some packages (such as ``clang-format-18``) are only available by default on Ubuntu 24.04. On older versions, this package will not be installed unless you manually add the appropriate LLVM APT repository.
28+
29+
To install ``clang-format-18`` on older Ubuntu versions (e.g., 20.04 or 22.04), you must add the LLVM repository manually. Note that this tool is only required if you want to run ``make format`` to automatically fix formatting issues in the code. It is not necessary for building or running VPR.
30+
31+
.. code-block:: bash
32+
33+
sudo apt install wget gnupg lsb-release
34+
wget https://apt.llvm.org/llvm.sh
35+
chmod +x llvm.sh
36+
sudo ./llvm.sh 18
37+
38+
After that, you can install ``clang-format-18`` using:
39+
40+
.. code-block:: bash
41+
42+
sudo apt install clang-format-18
2843
2944
.. code-block:: bash
3045

install_apt_packages.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,8 @@ sudo apt-get install -y \
4040
# Required to build the documentation
4141
sudo apt-get install -y \
4242
sphinx-common
43+
44+
# Required for code formatting
45+
sudo apt-get install -y \
46+
clang-format-18
47+

libs/EXTERNAL/libblifparse/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
1313
endif()
1414

1515
#Flex and Bison are used to generate the parser
16-
find_package(BISON REQUIRED 3.0)
16+
find_package(BISON REQUIRED 3.3)
1717
find_package(FLEX REQUIRED)
1818

1919
file(GLOB_RECURSE LIB_SOURCES src/blif*.cpp)

libs/EXTERNAL/libblifparse/src/blif_parser.y

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/* C++ parsers require Bison 3 */
2-
%require "3.0"
1+
/* C++ parsers require Bison 3.3 */
2+
%require "3.3"
33
%language "C++"
44

55
/* Write-out tokens header file */
@@ -34,7 +34,7 @@
3434
%define api.namespace {blifparse}
3535

3636
/* Name the parser class */
37-
%define parser_class_name {Parser}
37+
%define api.parser.class {Parser}
3838

3939
/* Match the flex prefix */
4040
%define api.prefix {blifparse_}

libs/EXTERNAL/libsdcparse/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
1313
endif()
1414

1515
#Flex and Bison are used to generate the parser
16-
find_package(BISON REQUIRED 3.0)
16+
find_package(BISON REQUIRED 3.3)
1717
find_package(FLEX REQUIRED)
1818

1919
file(GLOB_RECURSE LIB_SOURCES src/sdc*.cpp)

libs/EXTERNAL/libsdcparse/src/sdc_parser.y

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
/* C++ parsers require Bison 3 */
2-
%require "3.0"
1+
/* C++ parsers require Bison 3.3 */
2+
%require "3.3"
33
%language "C++"
44

55
/* Write-out tokens header file */
@@ -34,7 +34,7 @@
3434
%define api.namespace {sdcparse}
3535

3636
/* Name the parser class */
37-
%define parser_class_name {Parser}
37+
%define api.parser.class {Parser}
3838

3939
/* Match the flex prefix */
4040
%define api.prefix {sdcparse_}

0 commit comments

Comments
 (0)