[ci] Add Verible style lint to PR CI checks

This triggers a style lint run using Verible for all IPs that define a
lint target in the top_earlgrey_lint_cfg.hjson file.

Signed-off-by: Michael Schaffner <msf@opentitan.org>
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index d8fe256..633bbea 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -5,6 +5,7 @@
   VERILATOR_VERSION: 4.028
   VERILATOR_PATH: /opt/buildcache/verilator/$(VERILATOR_VERSION)
   TOOLCHAIN_PATH: /opt/buildcache/riscv
+  VERIBLE_VERSION: v0.0-469-gb458ff6
   # Release tag from https://github.com/lowRISC/lowrisc-toolchains/releases
   # if you update this, update the definition in util/container/Dockerfile
   TOOLCHAIN_VERSION: 20200626-1
@@ -35,6 +36,15 @@
     displayName: Remove existing Clang installation
   - template: ci/install-package-dependencies.yml
   - bash: |
+      set -e
+      mkdir -p build/verible
+      cd build/verible
+      curl -Ls -o verible.tar.gz https://github.com/google/verible/releases/download/$(VERIBLE_VERSION)/verible-$(VERIBLE_VERSION)-Ubuntu-16.04-xenial-x86_64.tar.gz
+      sudo mkdir -p /tools/verible && sudo chmod 777 /tools/verible
+      tar -C /tools/verible -xf verible.tar.gz --strip-components=1
+      echo "##vso[task.setvariable variable=PATH]/tools/verible/bin:$PATH"
+    displayName: Install Verible
+  - bash: |
       python3 --version
       yapf --version
       isort --version
@@ -113,6 +123,16 @@
     condition: eq(variables['Build.Reason'], 'PullRequest')
     displayName: Check formatting on header guards
   - bash: |
+      util/dvsim/dvsim.py hw/top_earlgrey/lint/top_earlgrey_lint_cfgs.hjson \
+        --tool=veriblelint
+      if [ $? != 0 ]; then
+        echo -n "##vso[task.logissue type=error]"
+        echo "Verilog style lint with Verible failed. Run 'util/dvsim/dvsim.py -t veriblelint hw/top_earlgrey/lint/top_earlgrey_lint_cfgs.hjson' to check and fix all errors."
+        exit 1
+      fi
+    condition: eq(variables['Build.Reason'], 'PullRequest')
+    displayName: Style-Lint Verilog source files with Verible
+  - bash: |
       commit_range="$(git merge-base --fork-point origin/master)..HEAD"
       # Notes:
       # * Merge commits are not checked. We always use rebases instead of