diff --git a/f4pga/wrappers/sh/__init__.py b/f4pga/wrappers/sh/__init__.py index c69a11f..81033fd 100644 --- a/f4pga/wrappers/sh/__init__.py +++ b/f4pga/wrappers/sh/__init__.py @@ -84,7 +84,34 @@ def pack(): def place(): print("[F4PGA] Running (deprecated) place") - run_sh_script(ROOT / SH_SUBDIR / "place.f4pga.sh") + place_cmds = """ +if [ -z $NET ]; then echo "Please provide net file name"; exit 1; fi +""" + if isQuickLogic: + place_cmds += """ +if [ -z $PCF ]; then echo "Please provide pcf file name"; exit 1; fi +PROJECT=$(basename -- "$EBLIF") +PROJECT="${PROJECT%.*}" +VPR_PLACE_FILE="${PROJECT}_constraints.place" +if [ -s $PCF ]; then + echo "Generating constraints ..." + symbiflow_generate_constraints $PCF $EBLIF $NET $PART $DEVICE $ARCH_DEF $CORNER + if [ ! -f ${VPR_PLACE_FILE} ]; then VPR_PLACE_FILE="${PROJECT}_io.place"; fi +else + # Make a dummy empty constraint file + touch ${VPR_PLACE_FILE} +fi +""" + else: + place_cmds += """ +PCF=${PCF:=} +echo "Generating constrains ..." +symbiflow_generate_constraints $EBLIF $NET $PART $DEVICE $ARCH_DEF $PCF +VPR_PLACE_FILE='constraints.place' +""" + place_cmds += 'run_vpr --fix_clusters "${VPR_PLACE_FILE}" --place' + run_bash_cmds(vpr_common_cmds('place')+place_cmds) + Path('vpr_stdout.log').rename('place.log') def route(): diff --git a/f4pga/wrappers/sh/quicklogic/place.f4pga.sh b/f4pga/wrappers/sh/quicklogic/place.f4pga.sh deleted file mode 100755 index f136d43..0000000 --- a/f4pga/wrappers/sh/quicklogic/place.f4pga.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2020-2022 F4PGA Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -set -e - -source $(dirname "$0")/vpr_common.f4pga.sh -parse_args $@ - -if [ -z $PCF ]; then - echo "Please provide pcf file name" - exit 1 -fi - -if [ -z $NET ]; then - echo "Please provide net file name" - exit 1 -fi - -OUT_NOISY_WARNINGS=noisy_warnings-${DEVICE}_place.log -PROJECT=$(basename -- "$EBLIF") -PLACE_FILE="${PROJECT%.*}_constraints.place" - -if [ -s $PCF ]; then - # Generate IO constraints - echo "Generating constraints ..." - symbiflow_generate_constraints $PCF $EBLIF $NET $PART $DEVICE $ARCH_DEF $CORNER - if [ -f ${PLACE_FILE} ]; then - VPR_PLACE_FILE=${PLACE_FILE} - else - VPR_PLACE_FILE="${PROJECT%.*}_io.place" - fi -else - # Make a dummy empty constraint file - touch ${PLACE_FILE} - VPR_PLACE_FILE=${PLACE_FILE} -fi - -run_vpr --fix_clusters ${VPR_PLACE_FILE} --place - -mv vpr_stdout.log place.log diff --git a/f4pga/wrappers/sh/xc7/place.f4pga.sh b/f4pga/wrappers/sh/xc7/place.f4pga.sh deleted file mode 100755 index be52a92..0000000 --- a/f4pga/wrappers/sh/xc7/place.f4pga.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env bash -# -# Copyright (C) 2020-2022 F4PGA Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 - -set -e - -source $(dirname "$0")/vpr_common.f4pga.sh -parse_args "$@" - -PCF=${PCF:=} - -if [ -z $NET ]; then - echo "Please provide net file name" - exit 1 -fi - -export OUT_NOISY_WARNINGS=noisy_warnings-${DEVICE}_place.log - -echo "Generating coinstrains ..." -symbiflow_generate_constraints $EBLIF $NET $PART $DEVICE $ARCH_DEF $PCF - -run_vpr --fix_clusters constraints.place --place - -mv vpr_stdout.log place.log