adds test for restricted cci_params
This commit is contained in:
parent
7f508b1006
commit
e27b33947b
2
.gitignore
vendored
2
.gitignore
vendored
@ -44,3 +44,5 @@
|
||||
/*.gtkw
|
||||
/.envrc.*
|
||||
/.direnv/
|
||||
/.venv/
|
||||
/.cache
|
||||
|
2
scc
2
scc
@ -1 +1 @@
|
||||
Subproject commit 6063f8da997247d68aec9422e39c93458f18bba0
|
||||
Subproject commit 933ae38f47ef9e97992af3809757baa935c7ffe7
|
@ -1,5 +1,6 @@
|
||||
add_subdirectory(io-redirector)
|
||||
add_subdirectory(ordered_semaphore)
|
||||
add_subdirectory(cci_param_restricted)
|
||||
add_subdirectory(ahb_pin_level)
|
||||
add_subdirectory(axi4_pin_level)
|
||||
add_subdirectory(ace_pin_level)
|
||||
|
9
tests/cci_param_restricted/CMakeLists.txt
Normal file
9
tests/cci_param_restricted/CMakeLists.txt
Normal file
@ -0,0 +1,9 @@
|
||||
project (cci_param_restricted)
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
test.cpp
|
||||
${test_util_SOURCE_DIR}/sc_main.cpp
|
||||
)
|
||||
target_link_libraries (${PROJECT_NAME} PUBLIC test_util)
|
||||
|
||||
catch_discover_tests(${PROJECT_NAME})
|
40
tests/cci_param_restricted/test.cpp
Normal file
40
tests/cci_param_restricted/test.cpp
Normal file
@ -0,0 +1,40 @@
|
||||
#ifndef SC_INCLUDE_DYNAMIC_PROCESSES
|
||||
#define SC_INCLUDE_DYNAMIC_PROCESSES
|
||||
#include <sysc/kernel/sc_simcontext.h>
|
||||
#endif
|
||||
#include <catch2/catch_all.hpp>
|
||||
#include <factory.h>
|
||||
#include <scc/cci_param_restricted.h>
|
||||
#include <scc/utilities.h>
|
||||
#include <systemc>
|
||||
|
||||
using namespace sc_core;
|
||||
|
||||
struct top : public sc_core::sc_module {
|
||||
top()
|
||||
: top("top") {}
|
||||
top(sc_module_name const& nm)
|
||||
: sc_core::sc_module(nm) {}
|
||||
|
||||
scc::cci_param_restricted<int> param1{"param1", 1, scc::min_max_restriction(0, 10), "This is parameter 1"};
|
||||
scc::cci_param_restricted<int> param2{"param2", 1, scc::min_restriction(0), "This is parameter 2"};
|
||||
scc::cci_param_restricted<int> param3{"param3", 1, scc::min_max_excl_restriction(0, 10), "This is parameter 3"};
|
||||
scc::cci_param_restricted<int> param4{"param4", 1, scc::min_excl_restriction(0), "This is parameter 4"};
|
||||
scc::cci_param_restricted<int> param5{"param5", 4, scc::discrete_restriction({1, 2, 4, 8, 16}), "This is parameter 5"};
|
||||
};
|
||||
|
||||
factory::add<top> tb;
|
||||
|
||||
TEST_CASE("simple cci_param_restricted test", "[SCC][cci_param_restricted]") {
|
||||
|
||||
auto& dut = factory::get<top>();
|
||||
auto run1 = sc_spawn([&dut]() {
|
||||
wait(1_ns);
|
||||
sc_core::sc_stop();
|
||||
});
|
||||
|
||||
sc_start(10_ns);
|
||||
REQUIRE(run1.terminated());
|
||||
REQUIRE(sc_report_handler::get_count(SC_ERROR) == 0);
|
||||
REQUIRE(sc_report_handler::get_count(SC_WARNING) == 1);
|
||||
}
|
Loading…
Reference in New Issue
Block a user