2024-09-08 19:00:03 +02:00
|
|
|
#!/usr/bin/env python3
|
2020-02-29 01:15:08 +01:00
|
|
|
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
|
|
|
|
#
|
2024-09-08 19:00:03 +02:00
|
|
|
# Copyright 2024 by Wilson Snyder. This program is free software; you
|
2020-03-21 16:24:24 +01:00
|
|
|
# can redistribute it and/or modify it under the terms of either the GNU
|
2020-02-29 01:15:08 +01:00
|
|
|
# Lesser General Public License Version 3 or the Perl Artistic License
|
|
|
|
|
# Version 2.0.
|
2020-03-21 16:24:24 +01:00
|
|
|
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
2020-02-29 01:15:08 +01:00
|
|
|
|
2024-09-08 19:00:03 +02:00
|
|
|
import vltest_bootstrap
|
|
|
|
|
|
|
|
|
|
test.scenarios('simulator')
|
2020-02-29 01:15:08 +01:00
|
|
|
|
2020-11-29 21:06:29 +01:00
|
|
|
# CI environment offers 2 VCPUs, 2 thread setting causes the following warning.
|
2020-02-29 01:15:08 +01:00
|
|
|
# %Warning-UNOPTTHREADS: Thread scheduler is unable to provide requested parallelism; consider asking for fewer threads.
|
2023-01-09 00:17:24 +01:00
|
|
|
# So use 6 threads here though it's not optimal in performance, but ok.
|
2024-09-08 19:00:03 +02:00
|
|
|
test.compile(verilator_flags2=['--stats', test.t_dir + "/t_split_var_0.vlt"],
|
|
|
|
|
threads=(6 if test.vltmt else 1))
|
2020-02-29 01:15:08 +01:00
|
|
|
|
2024-09-08 19:00:03 +02:00
|
|
|
test.execute()
|
2020-02-29 01:15:08 +01:00
|
|
|
|
2025-03-08 15:37:30 +01:00
|
|
|
test.file_grep(test.stats, r'SplitVar,\s+Split packed variables\s+(\d+)', 15)
|
2024-09-08 19:00:03 +02:00
|
|
|
test.file_grep(test.stats, r'SplitVar,\s+Split unpacked arrays\s+(\d+)', 27)
|
|
|
|
|
test.passes()
|