| #!/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 |