blob: d2017e3c9dbd1d10e2959bdb61eaf63aa03800a1 [file] [log] [blame]
#!/bin/bash
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
#
# this script runs the verible formatter on all system verilog
# files under hw/{ip,vendor,top_earlgrey}
#
# make sure to invoke this tool from the project root.
#
# NOTE: this operates in-place - so make sure to make a backup or
# run this on an experimental branch
#
# TODO: integrate this with Fusesoc and the other linting flows.
NUM_PROCS=8
REPORT_FILE="verible-format.rpt"
VERIBLE_VERSION=`verible-verilog-format --version`
if [ -z $VERIBLE_VERSION ]; then
echo "verible-verilog-format either not installed or not visible in PATH"
exit 1
fi
# this is a precaution in order to prevent accidental
# overwriting of uncomitted changes
git add -u
# get all system verilog files and pipe through style formatter
find hw/{ip,vendor,top_earlgrey} -type f -name "*.sv" -o -name "*.svh" | \
xargs -n 1 -P $NUM_PROCS verible-verilog-format \
--inplace
echo "Usign verible-verilog-format version $VERIBLE_VERSION" > $REPORT_FILE
# report changed files
git status | \
grep modified | \
grep dv | \
awk -F ' ' '{print $2}' | \
tee -a $REPORT_FILE