Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions tools/integration/TEST_SUITE.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ class SharingFixture : public BaseFixture {};
class SharingUnitTestFixture : public BaseFixture {};
class SpecFixture : public BaseFixture {};

class FtdWithSimpleBuffersFixture : public BaseFixture {};

TEST_P(BasicFixture, basic) {
IntegrationTestData config{
// clang-format off
Expand Down Expand Up @@ -83,6 +85,24 @@ TEST_P(CBCSolverFixture, basic) {
logPerformance(config.simTime);
}

TEST_P(FtdWithSimpleBuffersFixture, basic) {
IntegrationTestData config{
// clang-format off
.name = GetParam(),
.benchmarkPath = fs::path(DYNAMATIC_ROOT) / "integration-test",
.useVerilog = false,
.useSharing = false,
.milpSolver = "cbc",
.bufferAlgorithm = "on-merges",
.useFtd = true,
.simTime = -1
// clang-format on
};
EXPECT_EQ(runIntegrationTest(config), 0);
RecordProperty("cycles", std::to_string(config.simTime));
logPerformance(config.simTime);
}

#if 0
TEST_P(FPL22Fixture, basic) {
IntegrationTestData config{
Expand Down Expand Up @@ -303,6 +323,18 @@ INSTANTIATE_TEST_SUITE_P(
),
[](const auto &info) { return info.param; });

// Smoke test: Using the fast token delivery algorithm to compile the circuit.
INSTANTIATE_TEST_SUITE_P(
Tiny, FtdWithSimpleBuffersFixture,
testing::Values(
// "matvec" // matvec does not work currently
"fir",
"if_loop_add",
"if_loop_mul",
"iir"
),
[](const auto &info) { return info.param; });

#if 0
// Smoke test: Using the FPL22 placement algorithm to optimize some simple benchmarks
INSTANTIATE_TEST_SUITE_P(
Expand Down
1 change: 1 addition & 0 deletions tools/integration/util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ int runIntegrationTest(IntegrationTestData &config) {
scriptFile << "compile"
<< " --buffer-algorithm " << config.bufferAlgorithm
<< (config.useSharing ? " --sharing" : "")
<< (config.useFtd ? " --fast-token-delivery" : "")
<< " --milp-solver " << config.milpSolver << std::endl;
// clang-format on

Expand Down
1 change: 1 addition & 0 deletions tools/integration/util.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ struct IntegrationTestData {
bool useSharing;
std::string milpSolver = "gurobi";
std::string bufferAlgorithm = "fpga20";
bool useFtd = false;

// Results
int simTime;
Expand Down
Loading