From 664c0a1fe1e56968de36be8a1d8981ba435e63f2 Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Wed, 3 Jul 2024 22:16:25 -0300 Subject: [PATCH 01/16] ci: use correct tag for docker push Signed-off-by: Vitor Bandeira --- etc/DockerHelper.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/etc/DockerHelper.sh b/etc/DockerHelper.sh index d8831e0dee..1fe7155198 100755 --- a/etc/DockerHelper.sh +++ b/etc/DockerHelper.sh @@ -8,6 +8,8 @@ baseDir="$(pwd)" # docker hub organization/user from where to pull/push images org=openroad +DOCKER_CMD="docker" + _help() { cat <&1 | tee build/create-${os}-dev-${tag}.log - docker push "${imageName}:${tag}" + ${DOCKER_CMD} push "${org}/flow-${os}-dev:${tag}" if [[ "${target}" == "master" ]]; then tag=$(./etc/DockerTag.sh -master) # Create builder image - ./etc/DockerHelper.sh create -os=${os} -target=builder -tag=${tag} \ + ./etc/DockerHelper.sh create -os=${os} -target=builder \ 2>&1 | tee build/create-${os}-${target}-${tag}.log - docker tag ${org}/flow-${os}-builder:${tag} ${org}/orfs:${tag} - docker push ${org}/orfs:${tag} - docker tag ${org}/flow-${os}-builder:${tag} ${org}/orfs:${tag} - docker push ${org}/orfs:${tag} + ${DOCKER_CMD} tag ${org}/flow-${os}-builder:${imageTag} ${org}/orfs:${tag} + ${DOCKER_CMD} push ${org}/orfs:${tag} fi } From d82f4a7bfb7d8095ef290145a7f82bf170c871d5 Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 12:55:10 +0000 Subject: [PATCH 02/16] ci: only build one of dev or master Signed-off-by: Vitor Bandeira --- etc/DockerHelper.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/etc/DockerHelper.sh b/etc/DockerHelper.sh index 1fe7155198..76c05b6cd4 100755 --- a/etc/DockerHelper.sh +++ b/etc/DockerHelper.sh @@ -108,10 +108,13 @@ _push() { fi mkdir -p build - ./etc/DockerHelper.sh create -os=${os} -target=dev -tag=${tag} -ci \ - 2>&1 | tee build/create-${os}-dev-${tag}.log - ${DOCKER_CMD} push "${org}/flow-${os}-dev:${tag}" + if [[ "${target}" == "dev" ]]; then + ./etc/DockerHelper.sh create -os=${os} -target=dev -tag=${tag} -ci \ + 2>&1 | tee build/create-${os}-dev-${tag}.log + + ${DOCKER_CMD} push "${org}/flow-${os}-dev:${tag}" + fi if [[ "${target}" == "master" ]]; then tag=$(./etc/DockerTag.sh -master) From 96ba46b4d3e61208804d42fb2c0642a6927566cb Mon Sep 17 00:00:00 2001 From: Eryk Szpotanski Date: Thu, 4 Jul 2024 16:50:22 +0200 Subject: [PATCH 03/16] build_openroad: Change default Yosys compiler to clang Signed-off-by: Eryk Szpotanski --- build_openroad.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_openroad.sh b/build_openroad.sh index 5c1ff90e5e..86271ddd3e 100755 --- a/build_openroad.sh +++ b/build_openroad.sh @@ -20,7 +20,7 @@ OPENROAD_APP_BRANCH="master" INSTALL_PATH="$(pwd)/tools/install" YOSYS_USER_ARGS="" -YOSYS_ARGS="CONFIG=gcc" +YOSYS_ARGS="CONFIG=clang ENABLE_NDEBUG=1" OPENROAD_APP_USER_ARGS="" OPENROAD_APP_ARGS="" From c4b9ad032e87619929ef46940f5fbf216c0115f0 Mon Sep 17 00:00:00 2001 From: Illia Vysochyn Date: Fri, 28 Jun 2024 14:48:13 +0200 Subject: [PATCH 04/16] [#61287] etc: DockerHelper.sh: Update help message Fixes 'test-installer' workflow by specifying proper tag. Fixes typos in the 'DockerHelper.sh' help message. Signed-off-by: Illia Vysochyn --- .github/workflows/github-actions-cron-test-installer.yml | 4 ++-- etc/DockerHelper.sh | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/github-actions-cron-test-installer.yml b/.github/workflows/github-actions-cron-test-installer.yml index 01070ee586..b2564f5db2 100644 --- a/.github/workflows/github-actions-cron-test-installer.yml +++ b/.github/workflows/github-actions-cron-test-installer.yml @@ -45,10 +45,10 @@ jobs: sudo service docker restart - name: Run installer run: | - ./etc/DockerHelper.sh create -target=dev -os=${{ matrix.os }} + ./etc/DockerHelper.sh create -target=dev -os=${{ matrix.os }} -tag=latest - name: Build project run: | - ./etc/DockerHelper.sh create -target=builder -os=${{ matrix.os }} + ./etc/DockerHelper.sh create -target=builder -os=${{ matrix.os }} -tag=latest - name: Test build run: | cmd="source ./env.sh ; yosys -help ; openroad -help ; make -C flow ;" diff --git a/etc/DockerHelper.sh b/etc/DockerHelper.sh index 76c05b6cd4..ef5d72da03 100755 --- a/etc/DockerHelper.sh +++ b/etc/DockerHelper.sh @@ -20,13 +20,14 @@ usage: $0 [CMD] [OPTIONS] push Push the docker image to Docker Hub OPTIONS: - -os=OS_NAME Choose beween ubuntu20.04 and ubuntu22.04 (default). - -target=TARGET Choose target fo the Docker image: + -os=OS_NAME Choose between ubuntu20.04 and ubuntu22.04 (default). + -target=TARGET Choose target for the Docker image: 'dev': os + packages to compile app 'builder': os + packages to compile app + copy source code and build app -threads Max number of threads to use if compiling. Default = \$(nproc) + -tag Use as the image tag. Default is git commit sha -ci Install CI tools in image -h -help Show this message and exits -username Docker Username From 0218d958a3af32d8960bb7cec7ed3d8c57165c83 Mon Sep 17 00:00:00 2001 From: Illia Vysochyn Date: Fri, 28 Jun 2024 14:31:51 +0200 Subject: [PATCH 05/16] [#61287] docker: Dockerfile.builder: Remove unnecessary files from build step Signed-off-by: Illia Vysochyn --- docker/Dockerfile.builder | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docker/Dockerfile.builder b/docker/Dockerfile.builder index aed85ea6c0..ee21b22356 100644 --- a/docker/Dockerfile.builder +++ b/docker/Dockerfile.builder @@ -4,7 +4,7 @@ # instead use etc/DockerHelper.sh ARG fromImage=openroad/flow-ubuntu22.04-dev:latest -FROM $fromImage +FROM $fromImage AS openroad-builder-base ARG numThreads=$(nproc) @@ -12,3 +12,16 @@ COPY . /OpenROAD-flow-scripts WORKDIR /OpenROAD-flow-scripts RUN ./build_openroad.sh --no_init --local --threads ${numThreads} + +FROM $fromImage AS openroad-flow-scripts-base + +COPY . /OpenROAD-flow-scripts + +RUN rm -rf /OpenROAD-flow-scripts/tools /OpenROAD-flow-scripts/.git + +COPY --from=openroad-builder-base /OpenROAD-flow-scripts/tools/install /OpenROAD-flow-scripts/tools/install + +FROM $fromImage + +COPY --from=openroad-flow-scripts-base /OpenROAD-flow-scripts /OpenROAD-flow-scripts +WORKDIR /OpenROAD-flow-scripts From bb950540fcd418aa15e987c2422a6cab7d6f537f Mon Sep 17 00:00:00 2001 From: Illia Vysochyn Date: Fri, 28 Jun 2024 17:48:28 +0200 Subject: [PATCH 06/16] [#61287] etc: DependencyInstaller.sh: Optimize install cache Clears the cache after installing dependencies to reduce the size of the docker image. Signed-off-by: Illia Vysochyn --- docker/Dockerfile.dev | 2 +- etc/DependencyInstaller.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 59da6f96e9..1370ae6f01 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -15,7 +15,7 @@ COPY InstallerOpenROAD.sh \ ARG options="" RUN ./DependencyInstaller.sh $options \ - && rm -rf /tmp/installer + && rm -rf /tmp/installer /tmp/* /var/tmp/* /var/lib/apt/lists/* ARG fromImage diff --git a/etc/DependencyInstaller.sh b/etc/DependencyInstaller.sh index 2bc2d58b1f..23ff3a3f57 100755 --- a/etc/DependencyInstaller.sh +++ b/etc/DependencyInstaller.sh @@ -30,9 +30,9 @@ _installCommon() { fi local pkgs="pandas numpy firebase_admin click pyyaml" if [[ $(id -u) == 0 ]]; then - pip3 install -U $pkgs + pip3 install --no-cache-dir -U $pkgs else - pip3 install --user -U $pkgs + pip3 install --no-cache-dir --user -U $pkgs fi } @@ -70,7 +70,7 @@ _installUbuntuCleanUp() { _installUbuntuPackages() { export DEBIAN_FRONTEND="noninteractive" apt-get -y update - apt-get -y install \ + apt-get -y install --no-install-recommends \ libqt5multimediawidgets5 \ libqt5svg5-dev \ libqt5xmlpatterns5-dev \ From c9ddf5a1ac928745c802eb841b4e3eb5aa3fb12a Mon Sep 17 00:00:00 2001 From: Illia Vysochyn Date: Mon, 1 Jul 2024 18:03:12 +0200 Subject: [PATCH 07/16] [#61287] workflows: Build and publish ORFS image Signed-off-by: Illia Vysochyn --- .../github-actions-publish-docker-images.yml | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 .github/workflows/github-actions-publish-docker-images.yml diff --git a/.github/workflows/github-actions-publish-docker-images.yml b/.github/workflows/github-actions-publish-docker-images.yml new file mode 100644 index 0000000000..c35be1e746 --- /dev/null +++ b/.github/workflows/github-actions-publish-docker-images.yml @@ -0,0 +1,131 @@ +name: Build and publish ORFS images +on: + push: + paths: + - etc/DependencyInstaller.sh + - etc/DockerHelper.sh + - .github/workflows/github-actions-publish-docker-images.yml + - build_openroad.sh + - env.sh + - flow/Makefile + - docker/Dockerfile.dev + - docker/Dockerfile.builder + pull_request: + paths: + - etc/DependencyInstaller.sh + - etc/DockerHelper.sh + - .github/workflows/github-actions-publish-docker-images.yml + - build_openroad.sh + - env.sh + - flow/Makefile + - docker/Dockerfile.dev + - docker/Dockerfile.builder + +jobs: + buildDependenciesImage: + strategy: + fail-fast: false + matrix: + os: [["ubuntu20.04", "ubuntu:20.04"], ["ubuntu22.04", "ubuntu:22.04"]] + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + with: + fetch-depth: 1 + submodules: recursive + + - name: Set environment variables + run: | + echo "IMAGE_DEPS=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')-dev/${{ matrix.os[0] }}" >> $GITHUB_ENV + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to GitHub Container Registry (GHCR) + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: gha + password: ${{ github.token }} + + - name: Copy OpenROAD installer + run: cp tools/OpenROAD/etc/DependencyInstaller.sh etc/InstallerOpenROAD.sh + + - name: Build and export dependencies image + uses: docker/build-push-action@v6 + with: + context: etc + push: true + tags: ${{ env.IMAGE_DEPS }}:latest + file: docker/Dockerfile.dev + build-args: | + fromImage=${{ matrix.os[1] }} + numThreads=$(nproc) + cache-from: type=registry,ref=${{ env.IMAGE_DEPS }}:buildcache + cache-to: type=registry,ref=${{ env.IMAGE_DEPS }}:buildcache,mode=max + + buildORFSImage: + needs: buildDependenciesImage + strategy: + fail-fast: false + matrix: + os: ["ubuntu20.04", "ubuntu22.04"] + runs-on: ubuntu-latest + steps: + - name: Free Disk Space + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + + - name: Check out repository code + uses: actions/checkout@v3 + with: + fetch-depth: 1 + submodules: recursive + + - name: Set environment variables + run: | + echo "IMAGE=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')/${{ matrix.os }}" >> $GITHUB_ENV + echo "IMAGE_DEPS=ghcr.io/$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')-dev/${{ matrix.os }}" >> $GITHUB_ENV + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # We don't use the build-push-action here because it hangs + - name: Build ORFS image + run: | + docker buildx build \ + --load \ + --build-arg fromImage=${{ env.IMAGE_DEPS }}:latest \ + --build-arg numThreads=$(nproc) \ + --cache-from type=registry,ref=${{ env.IMAGE }}:buildcache \ + --tag ${{ env.IMAGE }}:latest \ + --file docker/Dockerfile.builder \ + . + + - name: Test build + run: | + cmd="source ./env.sh && yosys -help && openroad -help && make -C flow ;" + docker run ${{ env.IMAGE }}:latest /bin/bash -c "${cmd}" + + - name: Login to GitHub Container Registry (GHCR) + if: github.event_name != 'pull_request' + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: gha + password: ${{ github.token }} + + - name: Export ORFS image + run: | + docker buildx build \ + --build-arg fromImage=${{ env.IMAGE_DEPS }}:latest \ + --build-arg numThreads=$(nproc) \ + --cache-from type=registry,ref=${{ env.IMAGE }}:buildcache \ + --cache-to type=registry,ref=${{ env.IMAGE }}:buildcache,mode=max \ + --tag ${{ env.IMAGE }}:latest \ + --file docker/Dockerfile.builder \ + --push \ + . From 163200f760ae3221f09ba7c0c1a4efb477ded06f Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 10:46:42 -0300 Subject: [PATCH 08/16] docker: add dry-run option Signed-off-by: Vitor Bandeira --- etc/DockerHelper.sh | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/etc/DockerHelper.sh b/etc/DockerHelper.sh index ef5d72da03..bfe9c7a2a2 100755 --- a/etc/DockerHelper.sh +++ b/etc/DockerHelper.sh @@ -29,6 +29,7 @@ usage: $0 [CMD] [OPTIONS] Default = \$(nproc) -tag Use as the image tag. Default is git commit sha -ci Install CI tools in image + -dry-run Do not push images to the repository -h -help Show this message and exits -username Docker Username -password Docker Password @@ -102,7 +103,11 @@ _push() { _help fi - ${DOCKER_CMD} login --username "${username}" --password "${password}" + if [[ "${dryRun}" == 1 ]]; then + echo "Skipping docker login" + else + ${DOCKER_CMD} login --username "${username}" --password "${password}" + fi if [[ "${tag}" == "" ]]; then tag=$(./etc/DockerTag.sh -dev) @@ -114,7 +119,9 @@ _push() { ./etc/DockerHelper.sh create -os=${os} -target=dev -tag=${tag} -ci \ 2>&1 | tee build/create-${os}-dev-${tag}.log - ${DOCKER_CMD} push "${org}/flow-${os}-dev:${tag}" + if [[ "${dryRun}" != 1 ]]; then + ${DOCKER_CMD} push "${org}/flow-${os}-dev:${tag}" + fi fi if [[ "${target}" == "master" ]]; then @@ -123,8 +130,15 @@ _push() { ./etc/DockerHelper.sh create -os=${os} -target=builder \ 2>&1 | tee build/create-${os}-${target}-${tag}.log - ${DOCKER_CMD} tag ${org}/flow-${os}-builder:${imageTag} ${org}/orfs:${tag} - ${DOCKER_CMD} push ${org}/orfs:${tag} + builderTag=${org}/flow-${os}-builder:${imageTag} + orfsTag=${org}/orfs:${tag} + echo "Renaming docker image: ${builderTag} -> ${orfsTag}" + ${DOCKER_CMD} tag ${builderTag} ${orfsTag} + if [[ "${dryRun}" == 1 ]]; then + echo "[DRY-RUN] ${DOCKER_CMD} push ${orfsTag}" + else + ${DOCKER_CMD} push ${orfsTag} + fi fi } @@ -157,6 +171,7 @@ target="dev" numThreads="-1" tag="" options="" +dryRun=0 while [ "$#" -gt 0 ]; do case "${1}" in @@ -166,6 +181,9 @@ while [ "$#" -gt 0 ]; do -ci ) options="-ci" ;; + -dry-run ) + dryRun=1 + ;; -os=* ) os="${1#*=}" ;; From 6c8531104b4df1d68977876a6b2d4ad94ce4b790 Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 10:44:55 -0300 Subject: [PATCH 09/16] docker: helper documentation Signed-off-by: Vitor Bandeira --- etc/DockerHelper.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/etc/DockerHelper.sh b/etc/DockerHelper.sh index bfe9c7a2a2..7c7addf244 100755 --- a/etc/DockerHelper.sh +++ b/etc/DockerHelper.sh @@ -25,14 +25,14 @@ usage: $0 [CMD] [OPTIONS] 'dev': os + packages to compile app 'builder': os + packages to compile app + copy source code and build app - -threads Max number of threads to use if compiling. + -threads=N Max number of threads to use if compiling. Default = \$(nproc) - -tag Use as the image tag. Default is git commit sha + -tag=TAG Use as the image tag. Default is git commit sha. + -username=USERNAME Username to loging at the docker registry. + -password=PASSWORD Password to loging at the docker registry. -ci Install CI tools in image -dry-run Do not push images to the repository -h -help Show this message and exits - -username Docker Username - -password Docker Password EOF exit "${1:-1}" From ae7b15a20cd10fdef85ab96432de2c2c038f553a Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 10:52:52 -0300 Subject: [PATCH 10/16] ci: remove ubuntu22 node label Signed-off-by: Vitor Bandeira --- jenkins/public_tests_all.Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/public_tests_all.Jenkinsfile b/jenkins/public_tests_all.Jenkinsfile index 56cb05a369..f080dd6d7b 100644 --- a/jenkins/public_tests_all.Jenkinsfile +++ b/jenkins/public_tests_all.Jenkinsfile @@ -1,6 +1,6 @@ @Library('utils@orfs-v2.0.1') _ -node('ubuntu22') { +node { properties([copyArtifactPermission('${JOB_NAME},'+env.BRANCH_NAME)]); From 0dbce0c1055d42a4398a4fcf3ee2980b569dce5c Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 10:53:17 -0300 Subject: [PATCH 11/16] ci: enable testing Signed-off-by: Vitor Bandeira --- jenkins/public_tests_all.Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/public_tests_all.Jenkinsfile b/jenkins/public_tests_all.Jenkinsfile index f080dd6d7b..11cf8eed6d 100644 --- a/jenkins/public_tests_all.Jenkinsfile +++ b/jenkins/public_tests_all.Jenkinsfile @@ -1,4 +1,4 @@ -@Library('utils@orfs-v2.0.1') _ +@Library('utils@orfs-dev') _ node { From cb8d00bea73651bb8c06e8f9b31af168877984a9 Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 11:58:03 -0300 Subject: [PATCH 12/16] ci: if ci-dev branch run min tests Signed-off-by: Vitor Bandeira --- jenkins/public_tests_all.Jenkinsfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/jenkins/public_tests_all.Jenkinsfile b/jenkins/public_tests_all.Jenkinsfile index 11cf8eed6d..805a67ade6 100644 --- a/jenkins/public_tests_all.Jenkinsfile +++ b/jenkins/public_tests_all.Jenkinsfile @@ -19,7 +19,11 @@ node { } stage('Run Tests') { - runTests(DOCKER_IMAGE, 'pr'); + if (env.CHANGE_BRANCH && env.CHANGE_BRANCH.contains('ci-dev')) { + runTests(DOCKER_IMAGE, 'dev'); + } else { + runTests(DOCKER_IMAGE, 'pr'); + } } stage ('Cleanup and Reporting') { From 7792b019cf2f9c6fe8edee62bcc1596f17094e50 Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Thu, 4 Jul 2024 11:08:04 -0300 Subject: [PATCH 13/16] ci: try speed up checkout Signed-off-by: Vitor Bandeira --- jenkins/public_tests_all.Jenkinsfile | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/jenkins/public_tests_all.Jenkinsfile b/jenkins/public_tests_all.Jenkinsfile index 805a67ade6..906300e96d 100644 --- a/jenkins/public_tests_all.Jenkinsfile +++ b/jenkins/public_tests_all.Jenkinsfile @@ -5,7 +5,22 @@ node { properties([copyArtifactPermission('${JOB_NAME},'+env.BRANCH_NAME)]); stage('Checkout') { - checkout scm; + checkout([ + $class: 'GitSCM', + branches: [[name: scm.branches[0].name]], + doGenerateSubmoduleConfigurations: false, + extensions: [ + [$class: 'CloneOption', noTags: false], + [$class: 'SubmoduleOption', recursiveSubmodules: true] + ], + submoduleCfg: [], + userRemoteConfigs: scm.userRemoteConfigs + ]); + def description = sh(script: "git log -1 --pretty=%B", returnStdout: true).trim(); + if (description.contains('ci') && description.contains('skip')) { + currentBuild.result = 'SKIPPED'; // 'SUCCESS', 'SKIPPED' + return; + } } def DOCKER_IMAGE; From 74bf49290b0035f518f8ef186a90622aabd75f2d Mon Sep 17 00:00:00 2001 From: Vitor Bandeira Date: Sat, 6 Jul 2024 17:03:34 -0300 Subject: [PATCH 14/16] ci: bump version Signed-off-by: Vitor Bandeira --- jenkins/public_tests_all.Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jenkins/public_tests_all.Jenkinsfile b/jenkins/public_tests_all.Jenkinsfile index 906300e96d..5bea39bd85 100644 --- a/jenkins/public_tests_all.Jenkinsfile +++ b/jenkins/public_tests_all.Jenkinsfile @@ -1,4 +1,4 @@ -@Library('utils@orfs-dev') _ +@Library('utils@orfs-v2.1.0') _ node { From 236f7a89e63cf707ccab2a28f3011f65497fe422 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=98yvind=20Harboe?= Date: Mon, 8 Jul 2024 13:45:47 +0200 Subject: [PATCH 15/16] mock-array: update .gitignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Øyvind Harboe --- flow/designs/src/mock-array/.gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/flow/designs/src/mock-array/.gitignore b/flow/designs/src/mock-array/.gitignore index 24075bf3d4..03c3bdb759 100644 --- a/flow/designs/src/mock-array/.gitignore +++ b/flow/designs/src/mock-array/.gitignore @@ -5,3 +5,5 @@ target/ .metals/ .vscode/ .bloop/ +.bsp/ +test_run_dir/ From c88d7f050461e5331a7a04df05c76db1477a5fe3 Mon Sep 17 00:00:00 2001 From: arthur Date: Mon, 8 Jul 2024 15:03:14 -0300 Subject: [PATCH 16/16] update a7 jpeg metrics Signed-off-by: arthur --- flow/designs/asap7/jpeg/metadata-base-ok.json | 447 ++++++++---------- flow/designs/asap7/jpeg/rules-base.json | 8 +- 2 files changed, 193 insertions(+), 262 deletions(-) diff --git a/flow/designs/asap7/jpeg/metadata-base-ok.json b/flow/designs/asap7/jpeg/metadata-base-ok.json index 6b42336934..3c2e004a81 100644 --- a/flow/designs/asap7/jpeg/metadata-base-ok.json +++ b/flow/designs/asap7/jpeg/metadata-base-ok.json @@ -3,203 +3,151 @@ "constraints__clocks__details": [ "clk: 1100.0000" ], - "cts__clock__skew__hold": 22.1955, - "cts__clock__skew__hold__post_repair": 22.0169, - "cts__clock__skew__hold__pre_repair": 22.0169, - "cts__clock__skew__setup": 20.8432, - "cts__clock__skew__setup__post_repair": 20.7785, - "cts__clock__skew__setup__pre_repair": 20.7785, - "cts__cpu__total": 596.41, + "cts__clock__skew__hold": 21.1019, + "cts__clock__skew__setup": 17.6101, + "cts__cpu__total": 445.15, "cts__design__core__area": 23395.2, - "cts__design__core__area__post_repair": 23395.2, - "cts__design__core__area__pre_repair": 23395.2, "cts__design__die__area": 24702.4, - "cts__design__die__area__post_repair": 24702.4, - "cts__design__die__area__pre_repair": 24702.4, - "cts__design__instance__area": 7539.64, + "cts__design__instance__area": 7541.53, "cts__design__instance__area__macros": 0, - "cts__design__instance__area__macros__post_repair": 0, - "cts__design__instance__area__macros__pre_repair": 0, - "cts__design__instance__area__post_repair": 7533.03, - "cts__design__instance__area__pre_repair": 7533.03, - "cts__design__instance__area__stdcell": 7539.64, - "cts__design__instance__area__stdcell__post_repair": 7533.03, - "cts__design__instance__area__stdcell__pre_repair": 7533.03, - "cts__design__instance__count": 63730, + "cts__design__instance__area__stdcell": 7541.53, + "cts__design__instance__count": 63875, "cts__design__instance__count__hold_buffer": 0, "cts__design__instance__count__macros": 0, - "cts__design__instance__count__macros__post_repair": 0, - "cts__design__instance__count__macros__pre_repair": 0, - "cts__design__instance__count__post_repair": 63656, - "cts__design__instance__count__pre_repair": 63656, - "cts__design__instance__count__setup_buffer": 68, - "cts__design__instance__count__stdcell": 63730, - "cts__design__instance__count__stdcell__post_repair": 63656, - "cts__design__instance__count__stdcell__pre_repair": 63656, - "cts__design__instance__displacement__max": 1.111, + "cts__design__instance__count__setup_buffer": 71, + "cts__design__instance__count__stdcell": 63875, + "cts__design__instance__displacement__max": 0.865, "cts__design__instance__displacement__mean": 0, - "cts__design__instance__displacement__total": 36.415, - "cts__design__instance__utilization": 0.322273, - "cts__design__instance__utilization__post_repair": 0.32199, - "cts__design__instance__utilization__pre_repair": 0.32199, - "cts__design__instance__utilization__stdcell": 0.322273, - "cts__design__instance__utilization__stdcell__post_repair": 0.32199, - "cts__design__instance__utilization__stdcell__pre_repair": 0.32199, + "cts__design__instance__displacement__total": 43.257, + "cts__design__instance__utilization": 0.322354, + "cts__design__instance__utilization__stdcell": 0.322354, "cts__design__io": 47, - "cts__design__io__post_repair": 47, - "cts__design__io__pre_repair": 47, "cts__design__violations": 0, "cts__flow__errors__count": 0, - "cts__flow__warnings__count": 10, - "cts__mem__peak": 2758624.0, - "cts__power__internal__total": 0.0360337, - "cts__power__internal__total__post_repair": 0.0360336, - "cts__power__internal__total__pre_repair": 0.0360336, - "cts__power__leakage__total": 5.31649e-06, - "cts__power__leakage__total__post_repair": 5.30922e-06, - "cts__power__leakage__total__pre_repair": 5.30922e-06, - "cts__power__switching__total": 0.0332156, - "cts__power__switching__total__post_repair": 0.0330661, - "cts__power__switching__total__pre_repair": 0.0330661, - "cts__power__total": 0.0692546, - "cts__power__total__post_repair": 0.0691051, - "cts__power__total__pre_repair": 0.0691051, - "cts__route__wirelength__estimated": 185583, - "cts__runtime__total": "5:40.70", + "cts__flow__warnings__count": 11, + "cts__mem__peak": 2794336.0, + "cts__power__internal__total": 0.0361663, + "cts__power__leakage__total": 5.30278e-06, + "cts__power__switching__total": 0.0325388, + "cts__power__total": 0.0687105, + "cts__route__wirelength__estimated": 153359, + "cts__runtime__total": "3:28.46", "cts__timing__drv__hold_violation_count": 0, - "cts__timing__drv__hold_violation_count__post_repair": 0, - "cts__timing__drv__hold_violation_count__pre_repair": 0, "cts__timing__drv__max_cap": 0, - "cts__timing__drv__max_cap__post_repair": 0, - "cts__timing__drv__max_cap__pre_repair": 0, - "cts__timing__drv__max_cap_limit": 0.324449, - "cts__timing__drv__max_cap_limit__post_repair": 0.324752, - "cts__timing__drv__max_cap_limit__pre_repair": 0.324752, + "cts__timing__drv__max_cap_limit": 0.0502615, "cts__timing__drv__max_fanout": 0, - "cts__timing__drv__max_fanout__post_repair": 0, - "cts__timing__drv__max_fanout__pre_repair": 0, "cts__timing__drv__max_fanout_limit": 0, - "cts__timing__drv__max_fanout_limit__post_repair": 0, - "cts__timing__drv__max_fanout_limit__pre_repair": 0, "cts__timing__drv__max_slew": 0, - "cts__timing__drv__max_slew__post_repair": 0, - "cts__timing__drv__max_slew__pre_repair": 0, - "cts__timing__drv__max_slew_limit": 0.0180868, - "cts__timing__drv__max_slew_limit__post_repair": 0.0188481, - "cts__timing__drv__max_slew_limit__pre_repair": 0.0188481, - "cts__timing__drv__setup_violation_count": 0, - "cts__timing__drv__setup_violation_count__post_repair": 135, - "cts__timing__drv__setup_violation_count__pre_repair": 135, - "cts__timing__setup__tns": 0, - "cts__timing__setup__tns__post_repair": -4052.63, - "cts__timing__setup__tns__pre_repair": -4052.63, - "cts__timing__setup__ws": 0.84377, - "cts__timing__setup__ws__post_repair": -121.266, - "cts__timing__setup__ws__pre_repair": -121.266, - "design__io__hpwl": 1636286, - "detailedplace__cpu__total": 77.09, + "cts__timing__drv__max_slew_limit": 0.0257448, + "cts__timing__drv__setup_violation_count": 1, + "cts__timing__setup__tns": -4.46532, + "cts__timing__setup__ws": -4.48086, + "design__io__hpwl": 1822925, + "detailedplace__cpu__total": 69.26, "detailedplace__design__core__area": 23395.2, "detailedplace__design__die__area": 24702.4, - "detailedplace__design__instance__area": 7401.38, + "detailedplace__design__instance__area": 7376.66, "detailedplace__design__instance__area__macros": 0, - "detailedplace__design__instance__area__stdcell": 7401.38, - "detailedplace__design__instance__count": 63355, + "detailedplace__design__instance__area__stdcell": 7376.66, + "detailedplace__design__instance__count": 63313, "detailedplace__design__instance__count__macros": 0, - "detailedplace__design__instance__count__stdcell": 63355, - "detailedplace__design__instance__displacement__max": 1.674, - "detailedplace__design__instance__displacement__mean": 0.186, - "detailedplace__design__instance__displacement__total": 11812, - "detailedplace__design__instance__utilization": 0.316363, - "detailedplace__design__instance__utilization__stdcell": 0.316363, + "detailedplace__design__instance__count__stdcell": 63313, + "detailedplace__design__instance__displacement__max": 1.785, + "detailedplace__design__instance__displacement__mean": 0.221, + "detailedplace__design__instance__displacement__total": 14009.7, + "detailedplace__design__instance__utilization": 0.315307, + "detailedplace__design__instance__utilization__stdcell": 0.315307, "detailedplace__design__io": 47, "detailedplace__design__violations": 0, "detailedplace__flow__errors__count": 0, "detailedplace__flow__warnings__count": 10, - "detailedplace__mem__peak": 526508.0, - "detailedplace__power__internal__total": 0.032594, - "detailedplace__power__leakage__total": 5.1718e-06, - "detailedplace__power__switching__total": 0.030789, - "detailedplace__power__total": 0.0633881, - "detailedplace__route__wirelength__estimated": 183290, - "detailedplace__runtime__total": "1:17.48", + "detailedplace__mem__peak": 544648.0, + "detailedplace__power__internal__total": 0.0324962, + "detailedplace__power__leakage__total": 5.14411e-06, + "detailedplace__power__switching__total": 0.0299181, + "detailedplace__power__total": 0.0624194, + "detailedplace__route__wirelength__estimated": 152805, + "detailedplace__runtime__total": "1:09.76", "detailedplace__timing__drv__hold_violation_count": 0, "detailedplace__timing__drv__max_cap": 0, - "detailedplace__timing__drv__max_cap_limit": 0.324752, + "detailedplace__timing__drv__max_cap_limit": 0.0505082, "detailedplace__timing__drv__max_fanout": 0, "detailedplace__timing__drv__max_fanout_limit": 0, "detailedplace__timing__drv__max_slew": 0, - "detailedplace__timing__drv__max_slew_limit": 0.0188938, - "detailedplace__timing__drv__setup_violation_count": 1208, - "detailedplace__timing__setup__tns": -103683, - "detailedplace__timing__setup__ws": -226.436, - "detailedroute__cpu__total": 9925.45, + "detailedplace__timing__drv__max_slew_limit": 0.0302704, + "detailedplace__timing__drv__setup_violation_count": 1935, + "detailedplace__timing__setup__tns": -173338, + "detailedplace__timing__setup__ws": -265.788, + "detailedroute__cpu__total": 11414.52, "detailedroute__flow__errors__count": 0, - "detailedroute__flow__warnings__count": 10, - "detailedroute__mem__peak": 11322092.0, + "detailedroute__flow__warnings__count": 15, + "detailedroute__mem__peak": 11573924.0, "detailedroute__route__drc_errors": 0, - "detailedroute__route__drc_errors__iter:1": 20311, - "detailedroute__route__drc_errors__iter:2": 1114, - "detailedroute__route__drc_errors__iter:3": 599, - "detailedroute__route__drc_errors__iter:4": 30, - "detailedroute__route__drc_errors__iter:5": 0, - "detailedroute__route__net": 72385, + "detailedroute__route__drc_errors__iter:1": 11928, + "detailedroute__route__drc_errors__iter:2": 1261, + "detailedroute__route__drc_errors__iter:3": 750, + "detailedroute__route__drc_errors__iter:4": 12, + "detailedroute__route__drc_errors__iter:5": 3, + "detailedroute__route__drc_errors__iter:6": 0, + "detailedroute__route__net": 72340, "detailedroute__route__net__special": 2, - "detailedroute__route__vias": 477075, + "detailedroute__route__vias": 480269, "detailedroute__route__vias__multicut": 0, - "detailedroute__route__vias__singlecut": 477075, - "detailedroute__route__wirelength": 204550, - "detailedroute__route__wirelength__iter:1": 206254, - "detailedroute__route__wirelength__iter:2": 204699, - "detailedroute__route__wirelength__iter:3": 204562, - "detailedroute__route__wirelength__iter:4": 204550, - "detailedroute__route__wirelength__iter:5": 204550, - "detailedroute__runtime__total": "11:21.38", - "fillcell__cpu__total": 3.72, - "fillcell__mem__peak": 386236.0, - "fillcell__runtime__total": "0:04.00", - "finish__clock__skew__hold": 29.3395, - "finish__clock__skew__setup": 25.7507, - "finish__cpu__total": 198.38, + "detailedroute__route__vias__singlecut": 480269, + "detailedroute__route__wirelength": 169384, + "detailedroute__route__wirelength__iter:1": 170978, + "detailedroute__route__wirelength__iter:2": 169488, + "detailedroute__route__wirelength__iter:3": 169388, + "detailedroute__route__wirelength__iter:4": 169385, + "detailedroute__route__wirelength__iter:5": 169384, + "detailedroute__route__wirelength__iter:6": 169384, + "detailedroute__runtime__total": "8:46.05", + "fillcell__cpu__total": 3.1, + "fillcell__mem__peak": 395360.0, + "fillcell__runtime__total": "0:03.52", + "finish__clock__skew__hold": 27.7867, + "finish__clock__skew__setup": 22.9518, + "finish__cpu__total": 188.57, "finish__design__core__area": 23395.2, "finish__design__die__area": 24702.4, - "finish__design__instance__area": 7542.09, + "finish__design__instance__area": 7546.1, "finish__design__instance__area__macros": 0, - "finish__design__instance__area__stdcell": 7542.09, - "finish__design__instance__count": 63744, + "finish__design__instance__area__stdcell": 7546.1, + "finish__design__instance__count": 63913, "finish__design__instance__count__macros": 0, - "finish__design__instance__count__stdcell": 63744, - "finish__design__instance__utilization": 0.322377, - "finish__design__instance__utilization__stdcell": 0.322377, + "finish__design__instance__count__stdcell": 63913, + "finish__design__instance__utilization": 0.322549, + "finish__design__instance__utilization__stdcell": 0.322549, "finish__design__io": 47, - "finish__design_powergrid__drop__average__net:VDD__corner:default": 0.739613, - "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.031486, - "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0879946, - "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0926842, - "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 0.682005, - "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0926842, + "finish__design_powergrid__drop__average__net:VDD__corner:default": 0.746736, + "finish__design_powergrid__drop__average__net:VSS__corner:default": 0.0241515, + "finish__design_powergrid__drop__worst__net:VDD__corner:default": 0.0694012, + "finish__design_powergrid__drop__worst__net:VSS__corner:default": 0.0727064, + "finish__design_powergrid__voltage__worst__net:VDD__corner:default": 0.700599, + "finish__design_powergrid__voltage__worst__net:VSS__corner:default": 0.0727064, "finish__flow__errors__count": 0, - "finish__flow__warnings__count": 10, - "finish__mem__peak": 2609336.0, - "finish__power__internal__total": 0.0361513, - "finish__power__leakage__total": 5.31808e-06, - "finish__power__switching__total": 0.03359, - "finish__power__total": 0.0697466, - "finish__runtime__total": "3:19.81", + "finish__flow__warnings__count": 11, + "finish__mem__peak": 1910932.0, + "finish__power__internal__total": 0.0362722, + "finish__power__leakage__total": 5.3066e-06, + "finish__power__switching__total": 0.0330688, + "finish__power__total": 0.0693463, + "finish__runtime__total": "3:10.64", "finish__timing__drv__hold_violation_count": 0, - "finish__timing__drv__max_cap": 0, - "finish__timing__drv__max_cap_limit": 0.115136, + "finish__timing__drv__max_cap": 1, + "finish__timing__drv__max_cap_limit": -0.0235822, "finish__timing__drv__max_fanout": 0, "finish__timing__drv__max_fanout_limit": 0, - "finish__timing__drv__max_slew": 173, - "finish__timing__drv__max_slew_limit": -0.446064, - "finish__timing__drv__setup_violation_count": 2127, - "finish__timing__setup__tns": -360313, - "finish__timing__setup__ws": -461.48, - "finish__timing__wns_percent_delay": -26.733377, - "finish_merge__cpu__total": 14.23, - "finish_merge__mem__peak": 797156.0, - "finish_merge__runtime__total": "0:14.88", - "floorplan__cpu__total": 26.13, + "finish__timing__drv__max_slew": 294, + "finish__timing__drv__max_slew_limit": -0.28559, + "finish__timing__drv__setup_violation_count": 2964, + "finish__timing__setup__tns": -459784, + "finish__timing__setup__ws": -419.394, + "finish__timing__wns_percent_delay": -25.292655, + "finish_merge__cpu__total": 8.94, + "finish_merge__mem__peak": 912168.0, + "finish_merge__runtime__total": "0:09.72", + "floorplan__cpu__total": 27.94, "floorplan__design__core__area": 23395.2, "floorplan__design__die__area": 24702.4, "floorplan__design__instance__area": 6877.01, @@ -213,32 +161,32 @@ "floorplan__design__io": 47, "floorplan__flow__errors__count": 0, "floorplan__flow__warnings__count": 11, - "floorplan__mem__peak": 398628.0, + "floorplan__mem__peak": 430412.0, "floorplan__power__internal__total": 0.0380958, "floorplan__power__leakage__total": 4.61828e-06, "floorplan__power__switching__total": 0.0243687, "floorplan__power__total": 0.0624691, - "floorplan__runtime__total": "0:26.41", + "floorplan__runtime__total": "0:28.21", "floorplan__timing__setup__tns": -62972800.0, "floorplan__timing__setup__ws": -29673, - "floorplan_io__cpu__total": 2.49, - "floorplan_io__mem__peak": 256256.0, - "floorplan_io__runtime__total": "0:02.64", - "floorplan_macro__cpu__total": 2.53, - "floorplan_macro__mem__peak": 273824.0, - "floorplan_macro__runtime__total": "0:02.67", - "floorplan_pdn__cpu__total": 4.23, - "floorplan_pdn__mem__peak": 272832.0, - "floorplan_pdn__runtime__total": "0:04.42", - "floorplan_tap__cpu__total": 2.91, - "floorplan_tap__mem__peak": 219572.0, - "floorplan_tap__runtime__total": "0:03.05", - "floorplan_tdms__cpu__total": 2.52, - "floorplan_tdms__mem__peak": 254360.0, - "floorplan_tdms__runtime__total": "0:02.68", + "floorplan_io__cpu__total": 2.3, + "floorplan_io__mem__peak": 281800.0, + "floorplan_io__runtime__total": "0:02.48", + "floorplan_macro__cpu__total": 2.23, + "floorplan_macro__mem__peak": 280348.0, + "floorplan_macro__runtime__total": "0:02.51", + "floorplan_pdn__cpu__total": 3.69, + "floorplan_pdn__mem__peak": 298896.0, + "floorplan_pdn__runtime__total": "0:03.93", + "floorplan_tap__cpu__total": 2.7, + "floorplan_tap__mem__peak": 243676.0, + "floorplan_tap__runtime__total": "0:02.91", + "floorplan_tdms__cpu__total": 2.26, + "floorplan_tdms__mem__peak": 279524.0, + "floorplan_tdms__runtime__total": "0:02.50", "flow__errors__count": 0, "flow__warnings__count": 10, - "globalplace__cpu__total": 833.77, + "globalplace__cpu__total": 484.16, "globalplace__design__core__area": 23395.2, "globalplace__design__die__area": 24702.4, "globalplace__design__instance__area": 6959.7, @@ -252,116 +200,99 @@ "globalplace__design__io": 47, "globalplace__flow__errors__count": 0, "globalplace__flow__warnings__count": 10, - "globalplace__mem__peak": 946992.0, - "globalplace__power__internal__total": 0.0429159, + "globalplace__mem__peak": 810108.0, + "globalplace__power__internal__total": 0.0429346, "globalplace__power__leakage__total": 4.61828e-06, - "globalplace__power__switching__total": 0.0289563, - "globalplace__power__total": 0.0718768, - "globalplace__runtime__total": "12:44.84", - "globalplace__timing__setup__tns": -575977000.0, - "globalplace__timing__setup__ws": -160661, - "globalplace_io__cpu__total": 2.57, - "globalplace_io__mem__peak": 265104.0, - "globalplace_io__runtime__total": "0:02.74", - "globalplace_skip_io__cpu__total": 37.99, - "globalplace_skip_io__mem__peak": 352672.0, - "globalplace_skip_io__runtime__total": "0:38.25", + "globalplace__power__switching__total": 0.028075, + "globalplace__power__total": 0.0710142, + "globalplace__runtime__total": "6:55.00", + "globalplace__timing__setup__tns": -681776000.0, + "globalplace__timing__setup__ws": -190232, + "globalplace_io__cpu__total": 2.3, + "globalplace_io__mem__peak": 290604.0, + "globalplace_io__runtime__total": "0:02.55", + "globalplace_skip_io__cpu__total": 42.84, + "globalplace_skip_io__mem__peak": 384716.0, + "globalplace_skip_io__runtime__total": "0:43.17", "globalroute__antenna__violating__nets": 0, "globalroute__antenna__violating__pins": 0, - "globalroute__clock__skew__hold": 23.7878, - "globalroute__clock__skew__setup": 21.356, - "globalroute__cpu__total": 208.85, + "globalroute__clock__skew__hold": 21.9289, + "globalroute__clock__skew__setup": 16.8435, + "globalroute__cpu__total": 390.05, "globalroute__design__core__area": 23395.2, "globalroute__design__die__area": 24702.4, - "globalroute__design__instance__area": 7542.09, + "globalroute__design__instance__area": 7546.1, "globalroute__design__instance__area__macros": 0, - "globalroute__design__instance__area__stdcell": 7542.09, - "globalroute__design__instance__count": 63744, + "globalroute__design__instance__area__stdcell": 7546.1, + "globalroute__design__instance__count": 63913, "globalroute__design__instance__count__hold_buffer": 0, "globalroute__design__instance__count__macros": 0, - "globalroute__design__instance__count__setup_buffer": 0, - "globalroute__design__instance__count__stdcell": 63744, - "globalroute__design__instance__displacement__max": 0.54, + "globalroute__design__instance__count__setup_buffer": 21, + "globalroute__design__instance__count__stdcell": 63913, + "globalroute__design__instance__displacement__max": 0.918, "globalroute__design__instance__displacement__mean": 0, - "globalroute__design__instance__displacement__total": 5.076, - "globalroute__design__instance__utilization": 0.322377, - "globalroute__design__instance__utilization__stdcell": 0.322377, + "globalroute__design__instance__displacement__total": 19.818, + "globalroute__design__instance__utilization": 0.322549, + "globalroute__design__instance__utilization__stdcell": 0.322549, "globalroute__design__io": 47, "globalroute__design__violations": 0, "globalroute__flow__errors__count": 0, "globalroute__flow__warnings__count": 10, - "globalroute__mem__peak": 1177820.0, - "globalroute__power__internal__total": 0.0361193, - "globalroute__power__leakage__total": 5.31914e-06, - "globalroute__power__switching__total": 0.035242, - "globalroute__power__total": 0.0713665, - "globalroute__route__wirelength__estimated": 186078, - "globalroute__runtime__total": "3:29.79", - "globalroute__timing__clock__slack": -79.914, + "globalroute__mem__peak": 1557864.0, + "globalroute__power__internal__total": 0.036238, + "globalroute__power__leakage__total": 5.3066e-06, + "globalroute__power__switching__total": 0.0345332, + "globalroute__power__total": 0.0707766, + "globalroute__route__wirelength__estimated": 153819, + "globalroute__runtime__total": "2:03.16", + "globalroute__timing__clock__slack": -103.792, "globalroute__timing__drv__hold_violation_count": 0, "globalroute__timing__drv__max_cap": 0, - "globalroute__timing__drv__max_cap_limit": 0.302976, + "globalroute__timing__drv__max_cap_limit": 0.0434837, "globalroute__timing__drv__max_fanout": 0, "globalroute__timing__drv__max_fanout_limit": 0, - "globalroute__timing__drv__max_slew": 7, - "globalroute__timing__drv__max_slew_limit": -0.0199085, - "globalroute__timing__drv__setup_violation_count": 421, - "globalroute__timing__setup__tns": -12896.3, - "globalroute__timing__setup__ws": -79.9142, - "placeopt__cpu__total": 89.63, + "globalroute__timing__drv__max_slew": 0, + "globalroute__timing__drv__max_slew_limit": 0.0253389, + "globalroute__timing__drv__setup_violation_count": 416, + "globalroute__timing__setup__tns": -15774, + "globalroute__timing__setup__ws": -103.792, + "placeopt__cpu__total": 68.44, "placeopt__design__core__area": 23395.2, - "placeopt__design__core__area__pre_opt": 23395.2, "placeopt__design__die__area": 24702.4, - "placeopt__design__die__area__pre_opt": 24702.4, - "placeopt__design__instance__area": 7401.38, + "placeopt__design__instance__area": 7376.66, "placeopt__design__instance__area__macros": 0, - "placeopt__design__instance__area__macros__pre_opt": 0, - "placeopt__design__instance__area__pre_opt": 6959.7, - "placeopt__design__instance__area__stdcell": 7401.38, - "placeopt__design__instance__area__stdcell__pre_opt": 6959.7, - "placeopt__design__instance__count": 63355, + "placeopt__design__instance__area__stdcell": 7376.66, + "placeopt__design__instance__count": 63313, "placeopt__design__instance__count__macros": 0, - "placeopt__design__instance__count__macros__pre_opt": 0, - "placeopt__design__instance__count__pre_opt": 62782, - "placeopt__design__instance__count__stdcell": 63355, - "placeopt__design__instance__count__stdcell__pre_opt": 62782, - "placeopt__design__instance__utilization": 0.316363, - "placeopt__design__instance__utilization__pre_opt": 0.297484, - "placeopt__design__instance__utilization__stdcell": 0.316363, - "placeopt__design__instance__utilization__stdcell__pre_opt": 0.297484, + "placeopt__design__instance__count__stdcell": 63313, + "placeopt__design__instance__utilization": 0.315307, + "placeopt__design__instance__utilization__stdcell": 0.315307, "placeopt__design__io": 47, - "placeopt__design__io__pre_opt": 47, "placeopt__flow__errors__count": 0, "placeopt__flow__warnings__count": 10, - "placeopt__mem__peak": 500596.0, - "placeopt__power__internal__total": 0.0322648, - "placeopt__power__internal__total__pre_opt": 0.0429159, - "placeopt__power__leakage__total": 5.22865e-06, - "placeopt__power__leakage__total__pre_opt": 4.61828e-06, - "placeopt__power__switching__total": 0.0299803, - "placeopt__power__switching__total__pre_opt": 0.0289563, - "placeopt__power__total": 0.0622503, - "placeopt__power__total__pre_opt": 0.0718768, - "placeopt__runtime__total": "1:30.05", + "placeopt__mem__peak": 490992.0, + "placeopt__power__internal__total": 0.0324989, + "placeopt__power__leakage__total": 5.14411e-06, + "placeopt__power__switching__total": 0.0298341, + "placeopt__power__total": 0.0623382, + "placeopt__runtime__total": "1:08.84", "placeopt__timing__drv__floating__nets": 0, "placeopt__timing__drv__floating__pins": 0, "placeopt__timing__drv__hold_violation_count": 0, "placeopt__timing__drv__max_cap": 0, - "placeopt__timing__drv__max_cap_limit": 0.324892, + "placeopt__timing__drv__max_cap_limit": 0.0467685, "placeopt__timing__drv__max_fanout": 0, "placeopt__timing__drv__max_fanout_limit": 0, "placeopt__timing__drv__max_slew": 0, - "placeopt__timing__drv__max_slew_limit": 0.0197366, - "placeopt__timing__drv__setup_violation_count": 1273, - "placeopt__timing__setup__tns": -122973, - "placeopt__timing__setup__tns__pre_opt": -575977000.0, - "placeopt__timing__setup__ws": -250.059, - "placeopt__timing__setup__ws__pre_opt": -160661, + "placeopt__timing__drv__max_slew_limit": 0.0215156, + "placeopt__timing__drv__setup_violation_count": 1942, + "placeopt__timing__setup__tns": -176776, + "placeopt__timing__setup__ws": -269.953, "run__flow__design": "jpeg", - "run__flow__generate_date": "2024-04-17 01:36", + "run__flow__generate_date": "2024-07-05 14:21", "run__flow__metrics_version": "Metrics_2.1.2", "run__flow__openroad_commit": "N/A", - "run__flow__openroad_version": "v2.0-13282-gee5d3738a", + "run__flow__openroad_version": "v2.0-14456-g26a13b1b4", "run__flow__platform": "asap7", "run__flow__platform__capacitance_units": "1fF", "run__flow__platform__current_units": "1mA", @@ -370,14 +301,14 @@ "run__flow__platform__resistance_units": "1kohm", "run__flow__platform__time_units": "1ps", "run__flow__platform__voltage_units": "1v", - "run__flow__platform_commit": "40f7ce7dd7b59f1de00bbd79ce7f4b09fe498ef6", - "run__flow__scripts_commit": "40f7ce7dd7b59f1de00bbd79ce7f4b09fe498ef6", - "run__flow__uuid": "1b1840d8-be34-43d3-be3b-2b889ea5f38a", + "run__flow__platform_commit": "N/A", + "run__flow__scripts_commit": "not a git repo", + "run__flow__uuid": "f4297678-590a-470e-9497-fa137b26f550", "run__flow__variant": "base", - "synth__cpu__total": 254.14, + "synth__cpu__total": 193.68, "synth__design__instance__area__stdcell": 7038.33462, "synth__design__instance__count__stdcell": 62115.0, - "synth__mem__peak": 968212.0, - "synth__runtime__total": "4:15.98", - "total_time": "0:45:21.770000" + "synth__mem__peak": 974212.0, + "synth__runtime__total": "3:15.64", + "total_time": "0:31:39.050000" } \ No newline at end of file diff --git a/flow/designs/asap7/jpeg/rules-base.json b/flow/designs/asap7/jpeg/rules-base.json index 064bf1a3a1..460d875911 100644 --- a/flow/designs/asap7/jpeg/rules-base.json +++ b/flow/designs/asap7/jpeg/rules-base.json @@ -12,7 +12,7 @@ "compare": "<=" }, "placeopt__design__instance__count__stdcell": { - "value": 72854, + "value": 72810, "compare": "<=" }, "detailedplace__design__violations": { @@ -28,7 +28,7 @@ "compare": "<=" }, "detailedroute__route__wirelength": { - "value": 235232, + "value": 194792, "compare": "<=" }, "detailedroute__route__drc_errors": { @@ -36,7 +36,7 @@ "compare": "<=" }, "finish__timing__setup__ws": { - "value": -516.48, + "value": -474.39, "compare": ">=" }, "finish__design__instance__area": { @@ -44,7 +44,7 @@ "compare": "<=" }, "finish__timing__drv__setup_violation_count": { - "value": 2921, + "value": 3166, "compare": "<=" }, "finish__timing__drv__hold_violation_count": {