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