Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions vtr_flow/scripts/remove_3d_attributes.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env bash

# This script is intended to be used on RR graph XML files generated by VPR.
# If the architecture is a 2D architecture, you can simply call this script
# to remove all attributes related to 3D FPGA support (layer="0",
# layer_low="0", layer_high="0"). In VPR, these values default to 0.

# This also helps convert older RR graph files that used the "layer" attribute
# instead of "layer_low" and "layer_high" for nodes, by removing the "layer" attribute
# altogether. As a result, VPR can read the file without issues, and it slightly
# reduces the file size for 2D architectures.

# Exit if any command fails
set -e

# Check that a file was provided
if [ $# -ne 1 ]; then
echo "Usage: $0 <filename>"
exit 1
fi

FILE="$1"

# Check file existence
if [ ! -f "$FILE" ]; then
echo "Error: File '$FILE' not found."
exit 1
fi

# Remove all occurrences in-place
sed -i \
-e 's/layer="0"//g' \
-e 's/layer_low="0"//g' \
-e 's/layer_high="0"//g' \
"$FILE"

echo "Removed layer attributes from '$FILE'."