verilator/test_regress/t/t_math_pow.py
2024-09-08 13:00:03 -04:00

41 lines
1.7 KiB
Python
Executable File

#!/usr/bin/env python3
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2024 by Wilson Snyder. This program is free software; you
# can redistribute it and/or modify it under the terms of either the GNU
# Lesser General Public License Version 3 or the Perl Artistic License
# Version 2.0.
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
import vltest_bootstrap
test.scenarios('simulator')
test.compile(verilator_flags2=['-fno-gate'])
test.execute(expect_filename=test.golden_filename)
# Check for coverage on all POW functions
os.system("cat " + test.obj_dir + "/" + test.vm_prefix + "_*.cpp > " + test.obj_dir + "/all.cpp")
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_III')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_IIQ')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_IIW')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_QQI')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_QQQ')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_QQW')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_WWI')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_WWQ')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POW_WWW')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_III')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_IIQ')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_IIW')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_QQI')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_QQQ')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_QQW')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_WWI')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_WWQ')
test.file_grep(test.obj_dir + "/all.cpp", r'VL_POWSS_WWW')
test.passes()