|  | #!/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 LEC (logical equivalence checking) between 2 RTL | 
|  | # files using Cadence Conformal LEC | 
|  | # | 
|  | # Usaage: To compare e.g. ../ip/foo/rtl/module.sv with | 
|  | # ../ip/rtl/foo/module_new.sv, type: | 
|  | #   diff_rtl ../ip/foo/rtl/module.sv ../ip/foo/rtl/module_new.sv | 
|  |  | 
|  | # pass golden and revised to LEC script "rtl_diff.do" via env variables | 
|  | export LEC_GOLDEN=../../../${1} | 
|  | export LEC_REVISED=../../../${2} | 
|  |  | 
|  | #------------------------------------------------------------------------- | 
|  | # use fusesoc to generate file list | 
|  | #------------------------------------------------------------------------- | 
|  | \rm -Rf build rtl_diff.log | 
|  | fusesoc --cores-root .. run --target=sim --setup --build formal > /dev/null 2>&1 | 
|  |  | 
|  | #------------------------------------------------------------------------- | 
|  | # run Conformal LEC | 
|  | #------------------------------------------------------------------------- | 
|  | cd build/formal_*/sim-icarus | 
|  |  | 
|  | lec -xl -nogui -nobanner \ | 
|  | -dofile  ../../../rtl_diff.do \ | 
|  | -logfile ../../../rtl_diff.log \ | 
|  | <<< "exit -force" | 
|  |  | 
|  | cd - |