Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

👷 Activate experiments in CIs to ensure they're building #63

Merged
merged 10 commits into from
Oct 20, 2022
3 changes: 1 addition & 2 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,7 @@ jobs:

- name: Configure CMake
working-directory: ${{github.workspace}}/build

run: cmake ${{github.workspace}} -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_Z3=ON -DFICTION_ENABLE_MUGEN=ON -DFICTION_PROGRESS_BARS=OFF -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF -DENABLE_COVERAGE=ON
run: cmake ${{github.workspace}} -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DFICTION_CLI=OFF -DFICTION_TEST=ON -DFICTION_Z3=ON -DFICTION_ENABLE_MUGEN=ON -DFICTION_PROGRESS_BARS=OFF -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF -DENABLE_COVERAGE=ON

- name: Build
working-directory: ${{github.workspace}}/build
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ jobs:

- name: Configure CMake
working-directory: ${{github.workspace}}/build

run: cmake ${{github.workspace}} -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_Z3=ON -DFICTION_PROGRESS_BARS=OFF -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF
run: cmake ${{github.workspace}} -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_EXPERIMENTS=ON -DFICTION_Z3=ON -DFICTION_PROGRESS_BARS=OFF -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF

- name: Build
working-directory: ${{github.workspace}}/build
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ jobs:

- name: Configure CMake
working-directory: ${{github.workspace}}/build

run: cmake ${{github.workspace}} ${{matrix.cppstandard}} -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_Z3=ON -DFICTION_ENABLE_MUGEN=ON -DFICTION_PROGRESS_BARS=OFF -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF
run: cmake ${{github.workspace}} ${{matrix.cppstandard}} -DCMAKE_CXX_COMPILER=${{matrix.compiler}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_EXPERIMENTS=ON -DFICTION_Z3=ON -DFICTION_ENABLE_MUGEN=ON -DFICTION_PROGRESS_BARS=OFF -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF

- name: Build fiction
working-directory: ${{github.workspace}}/build
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,7 @@ jobs:

- name: Configure CMake
working-directory: ${{github.workspace}}\build

run: cmake ${{github.workspace}} -G "${{matrix.env}}" -A x64 -T ${{matrix.toolset}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_Z3=ON -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF
run: cmake ${{github.workspace}} -G "${{matrix.env}}" -A x64 -T ${{matrix.toolset}} -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DFICTION_CLI=ON -DFICTION_TEST=ON -DFICTION_EXPERIMENTS=ON -DFICTION_Z3=ON -DMOCKTURTLE_EXAMPLES=OFF -DWARNINGS_AS_ERRORS=OFF

- name: Build
working-directory: ${{github.workspace}}\build
Expand Down
5 changes: 4 additions & 1 deletion cmake/CompilerWarnings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ function(set_project_warnings project_name)
/w14906 # string literal cast to 'LPWSTR'
/w14928 # illegal copy-initialization; more than one user-defined conversion has been implicitly applied
/permissive- # standards conformance mode for MSVC compiler.
/bigobj
)

set(CLANG_WARNINGS
Expand Down Expand Up @@ -79,4 +78,8 @@ function(set_project_warnings project_name)

target_compile_options(${project_name} INTERFACE ${PROJECT_WARNINGS})

if (MSVC)
add_compile_options(/bigobj)
endif ()

endfunction()
8 changes: 5 additions & 3 deletions experiments/bestagon/bestagon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
#include <fiction/algorithms/physical_design/exact.hpp> // SMT-based physical design of FCN layouts
#include <fiction/algorithms/properties/critical_path_length_and_throughput.hpp> // critical path and throughput calculations
#include <fiction/io/write_sqd_layout.hpp> // writer for SiQAD files (physical simulation)
#include <fiction/networks/technology_network.hpp> // technology-mapped network type
#include <fiction/technology/area.hpp> // area requirement calculations
#include <fiction/technology/cell_technologies.hpp> // cell implementations
#include <fiction/technology/sidb_bestagon_library.hpp> // a pre-defined SiDB gate library
#include <fiction/technology/technology_mapping_library.hpp> // pre-defined gate types for technology mapping
#include <fiction/traits.hpp> // traits for type-checking
#include <fiction/types.hpp> // pre-defined types suitable for the FCN domain

#include <fmt/format.h> // output formatting
Expand All @@ -26,7 +28,7 @@
#include <mockturtle/algorithms/node_resynthesis/xag_npn.hpp> // NPN databases for cut rewriting of XAGs and AIGs
#include <mockturtle/io/genlib_reader.hpp> // call-backs to read Genlib files into gate libraries
#include <mockturtle/io/verilog_reader.hpp> // call-backs to read Verilog files into networks
#include <mockturtle/networks/klut.hpp> // kLUT network
#include <mockturtle/networks/klut.hpp> // k-LUT network
#include <mockturtle/networks/xag.hpp> // XOR-AND-inverter graphs
#include <mockturtle/utils/tech_library.hpp> // technology library utils
#include <mockturtle/views/depth_view.hpp> // to determine network levels
Expand Down Expand Up @@ -134,7 +136,7 @@ int main()
if (gate_level_layout.has_value())
{
// check equivalence
const auto miter = mockturtle::miter<mockturtle::klut_network>(mapped_network, *gate_level_layout);
const auto miter = mockturtle::miter<fiction::technology_network>(mapped_network, *gate_level_layout);
const auto eq = mockturtle::equivalence_checking(*miter);
assert(eq.has_value());

Expand Down Expand Up @@ -176,7 +178,7 @@ int main()
bestagon_exp.table();
}

return 0;
return EXIT_SUCCESS;
}

#endif // FICTION_Z3_SOLVER
18 changes: 9 additions & 9 deletions experiments/libfiction_demo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ int main(int argc, char* argv[])
if (argc == 1)
{
std::cout << "[e] file path to a Verilog network must be given" << std::endl;
return -1;
return EXIT_FAILURE;
}

/**************************************************************/
Expand All @@ -98,15 +98,15 @@ int main(int argc, char* argv[])
// check if file path exists
if (!std::filesystem::exists(file_path))
{
std::cout << fmt::format("[e] given file path '{}' does not exist", file_path.c_str()) << std::endl;
return -1;
std::cout << fmt::format("[e] given file path '{}' does not exist", file_path.string()) << std::endl;
return EXIT_FAILURE;
}
// check if file path points to a regular file
if (!std::filesystem::is_regular_file(file_path))
{
std::cout << fmt::format("[e] given file path '{}' does not point to a regular file", file_path.c_str())
std::cout << fmt::format("[e] given file path '{}' does not point to a regular file", file_path.string())
<< std::endl;
return -1;
return EXIT_FAILURE;
}

// defining the type of logic network to use (also already pre-defined in fiction/types.hpp as aig_nt
Expand All @@ -116,12 +116,12 @@ int main(int argc, char* argv[])
logic_network ntk{};

// parse input file into ntk
if (lorina::read_verilog(file_path, mockturtle::verilog_reader(ntk)) != lorina::return_code::success)
if (lorina::read_verilog(file_path.string(), mockturtle::verilog_reader(ntk)) != lorina::return_code::success)
{
std::cout << fmt::format("[e] given file '{}' could not be parsed as a valid Verilog network",
file_path.c_str())
file_path.string())
<< std::endl;
return -1;
return EXIT_FAILURE;
}

// create a folder for the design files
Expand Down Expand Up @@ -291,5 +291,5 @@ int main(int argc, char* argv[])
std::cout << "[w] network is too large to attempt exact physical design" << std::endl;
}

return 0;
return EXIT_SUCCESS;
}
Loading