diff --git a/common/cmake/gen.cmake b/common/cmake/gen.cmake
index 1b005a5864..e90f938b27 100644
--- a/common/cmake/gen.cmake
+++ b/common/cmake/gen.cmake
@@ -146,7 +146,7 @@ function(MUX_GEN)
DEPENDS
${PYTHON3}
${f4pga-arch-defs_SOURCE_DIR}/utils/mux_gen.py
- #${f4pga-arch-defs_SOURCE_DIR}/vpr/muxes/logic/mux${MUX_GEN_WIDTH}/mux${MUX_GEN_WIDTH}.sim.v
+ #${f4pga-arch-defs_SOURCE_DIR}/common/vpr/muxes/logic/mux${MUX_GEN_WIDTH}/mux${MUX_GEN_WIDTH}.sim.v
COMMAND ${PYTHON3} ${f4pga-arch-defs_SOURCE_DIR}/utils/mux_gen.py ${MUX_GEN_ARGS}
)
diff --git a/utils/CMakeLists.txt b/common/utils/CMakeLists.txt
similarity index 100%
rename from utils/CMakeLists.txt
rename to common/utils/CMakeLists.txt
diff --git a/utils/check_cache.py b/common/utils/check_cache.py
similarity index 100%
rename from utils/check_cache.py
rename to common/utils/check_cache.py
diff --git a/utils/check_graph.py b/common/utils/check_graph.py
similarity index 100%
rename from utils/check_graph.py
rename to common/utils/check_graph.py
diff --git a/utils/check_ptc.py b/common/utils/check_ptc.py
similarity index 100%
rename from utils/check_ptc.py
rename to common/utils/check_ptc.py
diff --git a/utils/clean_json5.py b/common/utils/clean_json5.py
similarity index 100%
rename from utils/clean_json5.py
rename to common/utils/clean_json5.py
diff --git a/utils/compare_usage.py b/common/utils/compare_usage.py
similarity index 100%
rename from utils/compare_usage.py
rename to common/utils/compare_usage.py
diff --git a/utils/concatenate_v_sources.py b/common/utils/concatenate_v_sources.py
similarity index 100%
rename from utils/concatenate_v_sources.py
rename to common/utils/concatenate_v_sources.py
diff --git a/utils/conftest.py b/common/utils/conftest.py
similarity index 100%
rename from utils/conftest.py
rename to common/utils/conftest.py
diff --git a/utils/convert_connection_box_to_mat.py b/common/utils/convert_connection_box_to_mat.py
similarity index 100%
rename from utils/convert_connection_box_to_mat.py
rename to common/utils/convert_connection_box_to_mat.py
diff --git a/utils/create_pinmap.py b/common/utils/create_pinmap.py
similarity index 100%
rename from utils/create_pinmap.py
rename to common/utils/create_pinmap.py
diff --git a/utils/deps_verilog.py b/common/utils/deps_verilog.py
similarity index 100%
rename from utils/deps_verilog.py
rename to common/utils/deps_verilog.py
diff --git a/utils/deps_xml.py b/common/utils/deps_xml.py
similarity index 100%
rename from utils/deps_xml.py
rename to common/utils/deps_xml.py
diff --git a/utils/eblif.py b/common/utils/eblif.py
similarity index 100%
rename from utils/eblif.py
rename to common/utils/eblif.py
diff --git a/utils/fusesoc_get_sources.py b/common/utils/fusesoc_get_sources.py
similarity index 100%
rename from utils/fusesoc_get_sources.py
rename to common/utils/fusesoc_get_sources.py
diff --git a/utils/gather_usage.py b/common/utils/gather_usage.py
similarity index 100%
rename from utils/gather_usage.py
rename to common/utils/gather_usage.py
diff --git a/utils/grid_visualizer/README.md b/common/utils/grid_visualizer/README.md
similarity index 100%
rename from utils/grid_visualizer/README.md
rename to common/utils/grid_visualizer/README.md
diff --git a/utils/grid_visualizer/examples/tilegird_artix7_roi_0_0_52_61.svg b/common/utils/grid_visualizer/examples/tilegird_artix7_roi_0_0_52_61.svg
similarity index 100%
rename from utils/grid_visualizer/examples/tilegird_artix7_roi_0_0_52_61.svg
rename to common/utils/grid_visualizer/examples/tilegird_artix7_roi_0_0_52_61.svg
diff --git a/utils/grid_visualizer/grid_visualizer.py b/common/utils/grid_visualizer/grid_visualizer.py
similarity index 100%
rename from utils/grid_visualizer/grid_visualizer.py
rename to common/utils/grid_visualizer/grid_visualizer.py
diff --git a/utils/grid_visualizer/tile_color_scheme_extractor.py b/common/utils/grid_visualizer/tile_color_scheme_extractor.py
similarity index 100%
rename from utils/grid_visualizer/tile_color_scheme_extractor.py
rename to common/utils/grid_visualizer/tile_color_scheme_extractor.py
diff --git a/utils/ipynb/Parameter_Sweep_using_fpga_tool_perf.ipynb b/common/utils/ipynb/Parameter_Sweep_using_fpga_tool_perf.ipynb
similarity index 100%
rename from utils/ipynb/Parameter_Sweep_using_fpga_tool_perf.ipynb
rename to common/utils/ipynb/Parameter_Sweep_using_fpga_tool_perf.ipynb
diff --git a/utils/lib/__init__.py b/common/utils/lib/__init__.py
similarity index 100%
rename from utils/lib/__init__.py
rename to common/utils/lib/__init__.py
diff --git a/utils/lib/argparse_extra.py b/common/utils/lib/argparse_extra.py
similarity index 100%
rename from utils/lib/argparse_extra.py
rename to common/utils/lib/argparse_extra.py
diff --git a/utils/lib/asserts.py b/common/utils/lib/asserts.py
similarity index 100%
rename from utils/lib/asserts.py
rename to common/utils/lib/asserts.py
diff --git a/utils/lib/collections_extra.py b/common/utils/lib/collections_extra.py
similarity index 100%
rename from utils/lib/collections_extra.py
rename to common/utils/lib/collections_extra.py
diff --git a/utils/lib/connection_box_tools.py b/common/utils/lib/connection_box_tools.py
similarity index 100%
rename from utils/lib/connection_box_tools.py
rename to common/utils/lib/connection_box_tools.py
diff --git a/utils/lib/connection_database.py b/common/utils/lib/connection_database.py
similarity index 100%
rename from utils/lib/connection_database.py
rename to common/utils/lib/connection_database.py
diff --git a/utils/lib/connection_database.sql b/common/utils/lib/connection_database.sql
similarity index 100%
rename from utils/lib/connection_database.sql
rename to common/utils/lib/connection_database.sql
diff --git a/utils/lib/deps.py b/common/utils/lib/deps.py
similarity index 100%
rename from utils/lib/deps.py
rename to common/utils/lib/deps.py
diff --git a/utils/lib/flatten.py b/common/utils/lib/flatten.py
similarity index 100%
rename from utils/lib/flatten.py
rename to common/utils/lib/flatten.py
diff --git a/utils/lib/mux.py b/common/utils/lib/mux.py
similarity index 100%
rename from utils/lib/mux.py
rename to common/utils/lib/mux.py
diff --git a/utils/lib/parse_route.py b/common/utils/lib/parse_route.py
similarity index 100%
rename from utils/lib/parse_route.py
rename to common/utils/lib/parse_route.py
diff --git a/utils/lib/path.py b/common/utils/lib/path.py
similarity index 100%
rename from utils/lib/path.py
rename to common/utils/lib/path.py
diff --git a/utils/lib/pb_type.py b/common/utils/lib/pb_type.py
similarity index 100%
rename from utils/lib/pb_type.py
rename to common/utils/lib/pb_type.py
diff --git a/utils/lib/pb_type_test.py b/common/utils/lib/pb_type_test.py
similarity index 100%
rename from utils/lib/pb_type_test.py
rename to common/utils/lib/pb_type_test.py
diff --git a/utils/lib/pb_type_xml.py b/common/utils/lib/pb_type_xml.py
similarity index 100%
rename from utils/lib/pb_type_xml.py
rename to common/utils/lib/pb_type_xml.py
diff --git a/utils/lib/perf_utils.py b/common/utils/lib/perf_utils.py
similarity index 100%
rename from utils/lib/perf_utils.py
rename to common/utils/lib/perf_utils.py
diff --git a/utils/lib/progressbar_utils.py b/common/utils/lib/progressbar_utils.py
similarity index 100%
rename from utils/lib/progressbar_utils.py
rename to common/utils/lib/progressbar_utils.py
diff --git a/utils/lib/rr_graph/README.md b/common/utils/lib/rr_graph/README.md
similarity index 100%
rename from utils/lib/rr_graph/README.md
rename to common/utils/lib/rr_graph/README.md
diff --git a/utils/lib/rr_graph/__init__.py b/common/utils/lib/rr_graph/__init__.py
similarity index 100%
rename from utils/lib/rr_graph/__init__.py
rename to common/utils/lib/rr_graph/__init__.py
diff --git a/utils/lib/rr_graph/__main__.py b/common/utils/lib/rr_graph/__main__.py
similarity index 100%
rename from utils/lib/rr_graph/__main__.py
rename to common/utils/lib/rr_graph/__main__.py
diff --git a/utils/lib/rr_graph/channel.py b/common/utils/lib/rr_graph/channel.py
similarity index 100%
rename from utils/lib/rr_graph/channel.py
rename to common/utils/lib/rr_graph/channel.py
diff --git a/utils/lib/rr_graph/channel2.py b/common/utils/lib/rr_graph/channel2.py
similarity index 100%
rename from utils/lib/rr_graph/channel2.py
rename to common/utils/lib/rr_graph/channel2.py
diff --git a/utils/lib/rr_graph/graph.py b/common/utils/lib/rr_graph/graph.py
similarity index 100%
rename from utils/lib/rr_graph/graph.py
rename to common/utils/lib/rr_graph/graph.py
diff --git a/utils/lib/rr_graph/graph2.py b/common/utils/lib/rr_graph/graph2.py
similarity index 100%
rename from utils/lib/rr_graph/graph2.py
rename to common/utils/lib/rr_graph/graph2.py
diff --git a/utils/lib/rr_graph/points.py b/common/utils/lib/rr_graph/points.py
similarity index 100%
rename from utils/lib/rr_graph/points.py
rename to common/utils/lib/rr_graph/points.py
diff --git a/utils/lib/rr_graph/tests/__init__.py b/common/utils/lib/rr_graph/tests/__init__.py
similarity index 100%
rename from utils/lib/rr_graph/tests/__init__.py
rename to common/utils/lib/rr_graph/tests/__init__.py
diff --git a/utils/lib/rr_graph/tests/test_channel.py b/common/utils/lib/rr_graph/tests/test_channel.py
similarity index 100%
rename from utils/lib/rr_graph/tests/test_channel.py
rename to common/utils/lib/rr_graph/tests/test_channel.py
diff --git a/utils/lib/rr_graph/tests/test_channel2.py b/common/utils/lib/rr_graph/tests/test_channel2.py
similarity index 100%
rename from utils/lib/rr_graph/tests/test_channel2.py
rename to common/utils/lib/rr_graph/tests/test_channel2.py
diff --git a/utils/lib/rr_graph/tests/test_graph.py b/common/utils/lib/rr_graph/tests/test_graph.py
similarity index 100%
rename from utils/lib/rr_graph/tests/test_graph.py
rename to common/utils/lib/rr_graph/tests/test_graph.py
diff --git a/utils/lib/rr_graph/tests/test_graph2.py b/common/utils/lib/rr_graph/tests/test_graph2.py
similarity index 100%
rename from utils/lib/rr_graph/tests/test_graph2.py
rename to common/utils/lib/rr_graph/tests/test_graph2.py
diff --git a/utils/lib/rr_graph/tests/test_points.py b/common/utils/lib/rr_graph/tests/test_points.py
similarity index 100%
rename from utils/lib/rr_graph/tests/test_points.py
rename to common/utils/lib/rr_graph/tests/test_points.py
diff --git a/utils/lib/rr_graph/tests/test_tracks.py b/common/utils/lib/rr_graph/tests/test_tracks.py
similarity index 100%
rename from utils/lib/rr_graph/tests/test_tracks.py
rename to common/utils/lib/rr_graph/tests/test_tracks.py
diff --git a/utils/lib/rr_graph/tracks.py b/common/utils/lib/rr_graph/tracks.py
similarity index 100%
rename from utils/lib/rr_graph/tracks.py
rename to common/utils/lib/rr_graph/tracks.py
diff --git a/utils/lib/rr_graph_capnp/__init__.py b/common/utils/lib/rr_graph_capnp/__init__.py
similarity index 100%
rename from utils/lib/rr_graph_capnp/__init__.py
rename to common/utils/lib/rr_graph_capnp/__init__.py
diff --git a/utils/lib/rr_graph_capnp/graph2.py b/common/utils/lib/rr_graph_capnp/graph2.py
similarity index 100%
rename from utils/lib/rr_graph_capnp/graph2.py
rename to common/utils/lib/rr_graph_capnp/graph2.py
diff --git a/utils/lib/rr_graph_xml/graph2.py b/common/utils/lib/rr_graph_xml/graph2.py
similarity index 100%
rename from utils/lib/rr_graph_xml/graph2.py
rename to common/utils/lib/rr_graph_xml/graph2.py
diff --git a/utils/lib/rr_graph_xml/utils.py b/common/utils/lib/rr_graph_xml/utils.py
similarity index 100%
rename from utils/lib/rr_graph_xml/utils.py
rename to common/utils/lib/rr_graph_xml/utils.py
diff --git a/utils/lib/xmlinc.py b/common/utils/lib/xmlinc.py
similarity index 100%
rename from utils/lib/xmlinc.py
rename to common/utils/lib/xmlinc.py
diff --git a/utils/listdirs.py b/common/utils/listdirs.py
similarity index 100%
rename from utils/listdirs.py
rename to common/utils/listdirs.py
diff --git a/utils/listfiles.py b/common/utils/listfiles.py
similarity index 100%
rename from utils/listfiles.py
rename to common/utils/listfiles.py
diff --git a/utils/mux_gen.py b/common/utils/mux_gen.py
similarity index 100%
rename from utils/mux_gen.py
rename to common/utils/mux_gen.py
diff --git a/utils/n.py b/common/utils/n.py
similarity index 100%
rename from utils/n.py
rename to common/utils/n.py
diff --git a/utils/newest.py b/common/utils/newest.py
similarity index 100%
rename from utils/newest.py
rename to common/utils/newest.py
diff --git a/utils/pcf_compare.py b/common/utils/pcf_compare.py
similarity index 100%
rename from utils/pcf_compare.py
rename to common/utils/pcf_compare.py
diff --git a/utils/plot_connection_box.py b/common/utils/plot_connection_box.py
similarity index 100%
rename from utils/plot_connection_box.py
rename to common/utils/plot_connection_box.py
diff --git a/utils/print_connection_map_lookahead.py b/common/utils/print_connection_map_lookahead.py
similarity index 100%
rename from utils/print_connection_map_lookahead.py
rename to common/utils/print_connection_map_lookahead.py
diff --git a/utils/print_graph.py b/common/utils/print_graph.py
similarity index 100%
rename from utils/print_graph.py
rename to common/utils/print_graph.py
diff --git a/utils/print_net_sources.py b/common/utils/print_net_sources.py
similarity index 100%
rename from utils/print_net_sources.py
rename to common/utils/print_net_sources.py
diff --git a/utils/print_place_delay_matrix.py b/common/utils/print_place_delay_matrix.py
similarity index 100%
rename from utils/print_place_delay_matrix.py
rename to common/utils/print_place_delay_matrix.py
diff --git a/utils/print_qor.py b/common/utils/print_qor.py
similarity index 100%
rename from utils/print_qor.py
rename to common/utils/print_qor.py
diff --git a/utils/quiet_cmd.sh b/common/utils/quiet_cmd.sh
similarity index 100%
rename from utils/quiet_cmd.sh
rename to common/utils/quiet_cmd.sh
diff --git a/utils/reparse_graph.py b/common/utils/reparse_graph.py
similarity index 100%
rename from utils/reparse_graph.py
rename to common/utils/reparse_graph.py
diff --git a/utils/report_block_usage.py b/common/utils/report_block_usage.py
similarity index 100%
rename from utils/report_block_usage.py
rename to common/utils/report_block_usage.py
diff --git a/utils/report_timing.py b/common/utils/report_timing.py
similarity index 100%
rename from utils/report_timing.py
rename to common/utils/report_timing.py
diff --git a/utils/rr_graph_walk/README.md b/common/utils/rr_graph_walk/README.md
similarity index 100%
rename from utils/rr_graph_walk/README.md
rename to common/utils/rr_graph_walk/README.md
diff --git a/utils/rr_graph_walk/rr_graph_walk.py b/common/utils/rr_graph_walk/rr_graph_walk.py
similarity index 100%
rename from utils/rr_graph_walk/rr_graph_walk.py
rename to common/utils/rr_graph_walk/rr_graph_walk.py
diff --git a/utils/simple_router_analysis.py b/common/utils/simple_router_analysis.py
similarity index 100%
rename from utils/simple_router_analysis.py
rename to common/utils/simple_router_analysis.py
diff --git a/utils/specialize_carrychains.py b/common/utils/specialize_carrychains.py
similarity index 100%
rename from utils/specialize_carrychains.py
rename to common/utils/specialize_carrychains.py
diff --git a/utils/template.arch.xml b/common/utils/template.arch.xml
similarity index 100%
rename from utils/template.arch.xml
rename to common/utils/template.arch.xml
diff --git a/utils/tile_splitter/__init__.py b/common/utils/tile_splitter/__init__.py
similarity index 100%
rename from utils/tile_splitter/__init__.py
rename to common/utils/tile_splitter/__init__.py
diff --git a/utils/tile_splitter/grid.py b/common/utils/tile_splitter/grid.py
similarity index 100%
rename from utils/tile_splitter/grid.py
rename to common/utils/tile_splitter/grid.py
diff --git a/utils/tile_splitter/tests/__init__.py b/common/utils/tile_splitter/tests/__init__.py
similarity index 100%
rename from utils/tile_splitter/tests/__init__.py
rename to common/utils/tile_splitter/tests/__init__.py
diff --git a/utils/tile_splitter/tests/test_grid.py b/common/utils/tile_splitter/tests/test_grid.py
similarity index 100%
rename from utils/tile_splitter/tests/test_grid.py
rename to common/utils/tile_splitter/tests/test_grid.py
diff --git a/utils/update_arch_tiles.py b/common/utils/update_arch_tiles.py
similarity index 100%
rename from utils/update_arch_tiles.py
rename to common/utils/update_arch_tiles.py
diff --git a/utils/update_arch_timings.py b/common/utils/update_arch_timings.py
similarity index 100%
rename from utils/update_arch_timings.py
rename to common/utils/update_arch_timings.py
diff --git a/utils/update_cache.py b/common/utils/update_cache.py
similarity index 100%
rename from utils/update_cache.py
rename to common/utils/update_cache.py
diff --git a/utils/update_tools/.gitignore b/common/utils/update_tools/.gitignore
similarity index 100%
rename from utils/update_tools/.gitignore
rename to common/utils/update_tools/.gitignore
diff --git a/utils/update_tools/Makefile b/common/utils/update_tools/Makefile
similarity index 93%
rename from utils/update_tools/Makefile
rename to common/utils/update_tools/Makefile
index 04af8e3625..c7bd5c1ae6 100644
--- a/utils/update_tools/Makefile
+++ b/common/utils/update_tools/Makefile
@@ -15,7 +15,7 @@ update-vtr:
# Testing that VTR is correctly integrated in SymbiFlow
pushd ${VTR_LOCATION}; \
make -j`nproc`; \
- export VTR=`pwd`/build/vpr/vpr; \
+ export VTR=`pwd`/build/common/vpr/vpr; \
export GENFASM=`pwd`/build/utils/fasm/genfasm; \
popd \
make all_xc7 -j${NPROC} && make all_ice40 -j${NPROC} && make all_v2x -j${NPROC}
diff --git a/utils/update_tools/update_tools.py b/common/utils/update_tools/update_tools.py
similarity index 100%
rename from utils/update_tools/update_tools.py
rename to common/utils/update_tools/update_tools.py
diff --git a/utils/vpr_pbtype_arch_wrapper.py b/common/utils/vpr_pbtype_arch_wrapper.py
similarity index 100%
rename from utils/vpr_pbtype_arch_wrapper.py
rename to common/utils/vpr_pbtype_arch_wrapper.py
diff --git a/utils/vpr_pbtype_to_eblif.py b/common/utils/vpr_pbtype_to_eblif.py
similarity index 100%
rename from utils/vpr_pbtype_to_eblif.py
rename to common/utils/vpr_pbtype_to_eblif.py
diff --git a/utils/vpr_place_view.py b/common/utils/vpr_place_view.py
similarity index 100%
rename from utils/vpr_place_view.py
rename to common/utils/vpr_place_view.py
diff --git a/vpr/CMakeLists.txt b/common/vpr/CMakeLists.txt
similarity index 100%
rename from vpr/CMakeLists.txt
rename to common/vpr/CMakeLists.txt
diff --git a/vpr/buf/CMakeLists.txt b/common/vpr/buf/CMakeLists.txt
similarity index 100%
rename from vpr/buf/CMakeLists.txt
rename to common/vpr/buf/CMakeLists.txt
diff --git a/vpr/buf/buf.model.xml b/common/vpr/buf/buf.model.xml
similarity index 100%
rename from vpr/buf/buf.model.xml
rename to common/vpr/buf/buf.model.xml
diff --git a/vpr/buf/buf.pb_type.xml b/common/vpr/buf/buf.pb_type.xml
similarity index 100%
rename from vpr/buf/buf.pb_type.xml
rename to common/vpr/buf/buf.pb_type.xml
diff --git a/vpr/const/CMakeLists.txt b/common/vpr/const/CMakeLists.txt
similarity index 100%
rename from vpr/const/CMakeLists.txt
rename to common/vpr/const/CMakeLists.txt
diff --git a/vpr/const/const.pb_type.xml b/common/vpr/const/const.pb_type.xml
similarity index 100%
rename from vpr/const/const.pb_type.xml
rename to common/vpr/const/const.pb_type.xml
diff --git a/vpr/dual-pad/CMakeLists.txt b/common/vpr/dual-pad/CMakeLists.txt
similarity index 100%
rename from vpr/dual-pad/CMakeLists.txt
rename to common/vpr/dual-pad/CMakeLists.txt
diff --git a/vpr/dual-pad/dual-pad.pb_type.xml b/common/vpr/dual-pad/dual-pad.pb_type.xml
similarity index 100%
rename from vpr/dual-pad/dual-pad.pb_type.xml
rename to common/vpr/dual-pad/dual-pad.pb_type.xml
diff --git a/vpr/dual-pad/ibuf.pb_type.xml b/common/vpr/dual-pad/ibuf.pb_type.xml
similarity index 100%
rename from vpr/dual-pad/ibuf.pb_type.xml
rename to common/vpr/dual-pad/ibuf.pb_type.xml
diff --git a/vpr/dual-pad/obuf.pb_type.xml b/common/vpr/dual-pad/obuf.pb_type.xml
similarity index 100%
rename from vpr/dual-pad/obuf.pb_type.xml
rename to common/vpr/dual-pad/obuf.pb_type.xml
diff --git a/vpr/ff/CMakeLists.txt b/common/vpr/ff/CMakeLists.txt
similarity index 100%
rename from vpr/ff/CMakeLists.txt
rename to common/vpr/ff/CMakeLists.txt
diff --git a/vpr/ff/vpr_ff.sim.v b/common/vpr/ff/vpr_ff.sim.v
similarity index 100%
rename from vpr/ff/vpr_ff.sim.v
rename to common/vpr/ff/vpr_ff.sim.v
diff --git a/vpr/ibuf/CMakeLists.txt b/common/vpr/ibuf/CMakeLists.txt
similarity index 100%
rename from vpr/ibuf/CMakeLists.txt
rename to common/vpr/ibuf/CMakeLists.txt
diff --git a/vpr/ibuf/ibuf.pb_type.xml b/common/vpr/ibuf/ibuf.pb_type.xml
similarity index 100%
rename from vpr/ibuf/ibuf.pb_type.xml
rename to common/vpr/ibuf/ibuf.pb_type.xml
diff --git a/vpr/muxes/CMakeLists.txt b/common/vpr/muxes/CMakeLists.txt
similarity index 100%
rename from vpr/muxes/CMakeLists.txt
rename to common/vpr/muxes/CMakeLists.txt
diff --git a/vpr/muxes/logic/CMakeLists.txt b/common/vpr/muxes/logic/CMakeLists.txt
similarity index 100%
rename from vpr/muxes/logic/CMakeLists.txt
rename to common/vpr/muxes/logic/CMakeLists.txt
diff --git a/vpr/muxes/logic/mux2/CMakeLists.txt b/common/vpr/muxes/logic/mux2/CMakeLists.txt
similarity index 100%
rename from vpr/muxes/logic/mux2/CMakeLists.txt
rename to common/vpr/muxes/logic/mux2/CMakeLists.txt
diff --git a/vpr/muxes/logic/mux2/mux2.sim.v b/common/vpr/muxes/logic/mux2/mux2.sim.v
similarity index 100%
rename from vpr/muxes/logic/mux2/mux2.sim.v
rename to common/vpr/muxes/logic/mux2/mux2.sim.v
diff --git a/vpr/muxes/logic/mux2/simtest/test_mux2.py b/common/vpr/muxes/logic/mux2/simtest/test_mux2.py
similarity index 100%
rename from vpr/muxes/logic/mux2/simtest/test_mux2.py
rename to common/vpr/muxes/logic/mux2/simtest/test_mux2.py
diff --git a/vpr/muxes/logic/mux4/mux4.sim.v b/common/vpr/muxes/logic/mux4/mux4.sim.v
similarity index 100%
rename from vpr/muxes/logic/mux4/mux4.sim.v
rename to common/vpr/muxes/logic/mux4/mux4.sim.v
diff --git a/vpr/muxes/logic/mux5/mux5.sim.v b/common/vpr/muxes/logic/mux5/mux5.sim.v
similarity index 100%
rename from vpr/muxes/logic/mux5/mux5.sim.v
rename to common/vpr/muxes/logic/mux5/mux5.sim.v
diff --git a/vpr/muxes/logic/mux6/mux6.sim.v b/common/vpr/muxes/logic/mux6/mux6.sim.v
similarity index 100%
rename from vpr/muxes/logic/mux6/mux6.sim.v
rename to common/vpr/muxes/logic/mux6/mux6.sim.v
diff --git a/vpr/muxes/logic/mux7/mux7.sim.v b/common/vpr/muxes/logic/mux7/mux7.sim.v
similarity index 100%
rename from vpr/muxes/logic/mux7/mux7.sim.v
rename to common/vpr/muxes/logic/mux7/mux7.sim.v
diff --git a/vpr/muxes/logic/mux8/CMakeLists.txt b/common/vpr/muxes/logic/mux8/CMakeLists.txt
similarity index 100%
rename from vpr/muxes/logic/mux8/CMakeLists.txt
rename to common/vpr/muxes/logic/mux8/CMakeLists.txt
diff --git a/vpr/muxes/logic/mux8/mux8.sim.v b/common/vpr/muxes/logic/mux8/mux8.sim.v
similarity index 100%
rename from vpr/muxes/logic/mux8/mux8.sim.v
rename to common/vpr/muxes/logic/mux8/mux8.sim.v
diff --git a/vpr/obuf/CMakeLists.txt b/common/vpr/obuf/CMakeLists.txt
similarity index 100%
rename from vpr/obuf/CMakeLists.txt
rename to common/vpr/obuf/CMakeLists.txt
diff --git a/vpr/obuf/obuf.pb_type.xml b/common/vpr/obuf/obuf.pb_type.xml
similarity index 100%
rename from vpr/obuf/obuf.pb_type.xml
rename to common/vpr/obuf/obuf.pb_type.xml
diff --git a/vpr/pad/CMakeLists.txt b/common/vpr/pad/CMakeLists.txt
similarity index 100%
rename from vpr/pad/CMakeLists.txt
rename to common/vpr/pad/CMakeLists.txt
diff --git a/vpr/pad/pad.pb_type.xml b/common/vpr/pad/pad.pb_type.xml
similarity index 100%
rename from vpr/pad/pad.pb_type.xml
rename to common/vpr/pad/pad.pb_type.xml
diff --git a/vpr/primitives.v b/common/vpr/primitives.v
similarity index 100%
rename from vpr/primitives.v
rename to common/vpr/primitives.v
diff --git a/vpr/wire/CMakeLists.txt b/common/vpr/wire/CMakeLists.txt
similarity index 100%
rename from vpr/wire/CMakeLists.txt
rename to common/vpr/wire/CMakeLists.txt
diff --git a/vpr/wire/wire.pb_type.xml b/common/vpr/wire/wire.pb_type.xml
similarity index 100%
rename from vpr/wire/wire.pb_type.xml
rename to common/vpr/wire/wire.pb_type.xml
diff --git a/testarch/CMakeLists.txt b/tests/fakearch/CMakeLists.txt
similarity index 100%
rename from testarch/CMakeLists.txt
rename to tests/fakearch/CMakeLists.txt
diff --git a/testarch/devices/CMakeLists.txt b/tests/fakearch/devices/CMakeLists.txt
similarity index 100%
rename from testarch/devices/CMakeLists.txt
rename to tests/fakearch/devices/CMakeLists.txt
diff --git a/testarch/devices/clutff-bidir-s4/arch.xml b/tests/fakearch/devices/clutff-bidir-s4/arch.xml
similarity index 83%
rename from testarch/devices/clutff-bidir-s4/arch.xml
rename to tests/fakearch/devices/clutff-bidir-s4/arch.xml
index e63d59965b..bc4c393921 100644
--- a/testarch/devices/clutff-bidir-s4/arch.xml
+++ b/tests/fakearch/devices/clutff-bidir-s4/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/clutff-unidir-s4/CMakeLists.txt b/tests/fakearch/devices/clutff-unidir-s4/CMakeLists.txt
similarity index 100%
rename from testarch/devices/clutff-unidir-s4/CMakeLists.txt
rename to tests/fakearch/devices/clutff-unidir-s4/CMakeLists.txt
diff --git a/testarch/devices/clutff-unidir-s4/arch.xml b/tests/fakearch/devices/clutff-unidir-s4/arch.xml
similarity index 88%
rename from testarch/devices/clutff-unidir-s4/arch.xml
rename to tests/fakearch/devices/clutff-unidir-s4/arch.xml
index cbe8b74acb..fd3bdb2da7 100644
--- a/testarch/devices/clutff-unidir-s4/arch.xml
+++ b/tests/fakearch/devices/clutff-unidir-s4/arch.xml
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/testarch/devices/ff-large/arch.xml b/tests/fakearch/devices/ff-large/arch.xml
similarity index 82%
rename from testarch/devices/ff-large/arch.xml
rename to tests/fakearch/devices/ff-large/arch.xml
index 1404d9c79b..ca0c2b1b5b 100644
--- a/testarch/devices/ff-large/arch.xml
+++ b/tests/fakearch/devices/ff-large/arch.xml
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/testarch/devices/ff1/arch.xml b/tests/fakearch/devices/ff1/arch.xml
similarity index 95%
rename from testarch/devices/ff1/arch.xml
rename to tests/fakearch/devices/ff1/arch.xml
index 47ef66f487..721783455d 100644
--- a/testarch/devices/ff1/arch.xml
+++ b/tests/fakearch/devices/ff1/arch.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/testarch/devices/layouts/10x10.fixed_layout.xml b/tests/fakearch/devices/layouts/10x10.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/10x10.fixed_layout.xml
rename to tests/fakearch/devices/layouts/10x10.fixed_layout.xml
diff --git a/testarch/devices/layouts/1x1.fixed_layout.xml b/tests/fakearch/devices/layouts/1x1.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/1x1.fixed_layout.xml
rename to tests/fakearch/devices/layouts/1x1.fixed_layout.xml
diff --git a/testarch/devices/layouts/1x1.min.fixed_layout.xml b/tests/fakearch/devices/layouts/1x1.min.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/1x1.min.fixed_layout.xml
rename to tests/fakearch/devices/layouts/1x1.min.fixed_layout.xml
diff --git a/testarch/devices/layouts/1x2.fixed_layout.xml b/tests/fakearch/devices/layouts/1x2.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/1x2.fixed_layout.xml
rename to tests/fakearch/devices/layouts/1x2.fixed_layout.xml
diff --git a/testarch/devices/layouts/2x1.fixed_layout.xml b/tests/fakearch/devices/layouts/2x1.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/2x1.fixed_layout.xml
rename to tests/fakearch/devices/layouts/2x1.fixed_layout.xml
diff --git a/testarch/devices/layouts/2x4.fixed_layout.xml b/tests/fakearch/devices/layouts/2x4.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/2x4.fixed_layout.xml
rename to tests/fakearch/devices/layouts/2x4.fixed_layout.xml
diff --git a/testarch/devices/layouts/4x4.fixed_layout.xml b/tests/fakearch/devices/layouts/4x4.fixed_layout.xml
similarity index 100%
rename from testarch/devices/layouts/4x4.fixed_layout.xml
rename to tests/fakearch/devices/layouts/4x4.fixed_layout.xml
diff --git a/testarch/devices/layouts/CMakeLists.txt b/tests/fakearch/devices/layouts/CMakeLists.txt
similarity index 100%
rename from testarch/devices/layouts/CMakeLists.txt
rename to tests/fakearch/devices/layouts/CMakeLists.txt
diff --git a/testarch/devices/layouts/all.xml b/tests/fakearch/devices/layouts/all.xml
similarity index 100%
rename from testarch/devices/layouts/all.xml
rename to tests/fakearch/devices/layouts/all.xml
diff --git a/testarch/devices/lutff-bidir-s4-g/arch.xml b/tests/fakearch/devices/lutff-bidir-s4-g/arch.xml
similarity index 80%
rename from testarch/devices/lutff-bidir-s4-g/arch.xml
rename to tests/fakearch/devices/lutff-bidir-s4-g/arch.xml
index e2c17d4056..e7e9b6dfc6 100644
--- a/testarch/devices/lutff-bidir-s4-g/arch.xml
+++ b/tests/fakearch/devices/lutff-bidir-s4-g/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/lutff-bidir-s4/arch.xml b/tests/fakearch/devices/lutff-bidir-s4/arch.xml
similarity index 80%
rename from testarch/devices/lutff-bidir-s4/arch.xml
rename to tests/fakearch/devices/lutff-bidir-s4/arch.xml
index d28bcd885e..1c6672a9c7 100644
--- a/testarch/devices/lutff-bidir-s4/arch.xml
+++ b/tests/fakearch/devices/lutff-bidir-s4/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/lutff-dpio-bidir-s4/arch.xml b/tests/fakearch/devices/lutff-dpio-bidir-s4/arch.xml
similarity index 79%
rename from testarch/devices/lutff-dpio-bidir-s4/arch.xml
rename to tests/fakearch/devices/lutff-dpio-bidir-s4/arch.xml
index 437be3e24e..643eeee026 100644
--- a/testarch/devices/lutff-dpio-bidir-s4/arch.xml
+++ b/tests/fakearch/devices/lutff-dpio-bidir-s4/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/lutff-multi-sw/arch.xml b/tests/fakearch/devices/lutff-multi-sw/arch.xml
similarity index 80%
rename from testarch/devices/lutff-multi-sw/arch.xml
rename to tests/fakearch/devices/lutff-multi-sw/arch.xml
index 95063a1df7..62bb5452b4 100644
--- a/testarch/devices/lutff-multi-sw/arch.xml
+++ b/tests/fakearch/devices/lutff-multi-sw/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/lutff-unidir-s4/arch.xml b/tests/fakearch/devices/lutff-unidir-s4/arch.xml
similarity index 80%
rename from testarch/devices/lutff-unidir-s4/arch.xml
rename to tests/fakearch/devices/lutff-unidir-s4/arch.xml
index 4d43d3bf31..8f9e748fcf 100644
--- a/testarch/devices/lutff-unidir-s4/arch.xml
+++ b/tests/fakearch/devices/lutff-unidir-s4/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/lutff3/arch.xml b/tests/fakearch/devices/lutff3/arch.xml
similarity index 80%
rename from testarch/devices/lutff3/arch.xml
rename to tests/fakearch/devices/lutff3/arch.xml
index 8aa7da61a2..8d590f46e3 100644
--- a/testarch/devices/lutff3/arch.xml
+++ b/tests/fakearch/devices/lutff3/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/routing/CMakeLists.txt b/tests/fakearch/devices/routing/CMakeLists.txt
similarity index 100%
rename from testarch/devices/routing/CMakeLists.txt
rename to tests/fakearch/devices/routing/CMakeLists.txt
diff --git a/testarch/devices/routing/bidir-min.xml b/tests/fakearch/devices/routing/bidir-min.xml
similarity index 100%
rename from testarch/devices/routing/bidir-min.xml
rename to tests/fakearch/devices/routing/bidir-min.xml
diff --git a/testarch/devices/routing/bidir-s4-g.xml b/tests/fakearch/devices/routing/bidir-s4-g.xml
similarity index 100%
rename from testarch/devices/routing/bidir-s4-g.xml
rename to tests/fakearch/devices/routing/bidir-s4-g.xml
diff --git a/testarch/devices/routing/bidir-s4.xml b/tests/fakearch/devices/routing/bidir-s4.xml
similarity index 100%
rename from testarch/devices/routing/bidir-s4.xml
rename to tests/fakearch/devices/routing/bidir-s4.xml
diff --git a/testarch/devices/routing/device.xml b/tests/fakearch/devices/routing/device.xml
similarity index 100%
rename from testarch/devices/routing/device.xml
rename to tests/fakearch/devices/routing/device.xml
diff --git a/testarch/devices/routing/multi-sw.xml b/tests/fakearch/devices/routing/multi-sw.xml
similarity index 100%
rename from testarch/devices/routing/multi-sw.xml
rename to tests/fakearch/devices/routing/multi-sw.xml
diff --git a/testarch/devices/routing/unidir-min.xml b/tests/fakearch/devices/routing/unidir-min.xml
similarity index 100%
rename from testarch/devices/routing/unidir-min.xml
rename to tests/fakearch/devices/routing/unidir-min.xml
diff --git a/testarch/devices/routing/unidir-s4.xml b/tests/fakearch/devices/routing/unidir-s4.xml
similarity index 100%
rename from testarch/devices/routing/unidir-s4.xml
rename to tests/fakearch/devices/routing/unidir-s4.xml
diff --git a/testarch/devices/test2/arch.xml b/tests/fakearch/devices/test2/arch.xml
similarity index 98%
rename from testarch/devices/test2/arch.xml
rename to tests/fakearch/devices/test2/arch.xml
index 4fad355197..001d1a2e80 100644
--- a/testarch/devices/test2/arch.xml
+++ b/tests/fakearch/devices/test2/arch.xml
@@ -50,7 +50,7 @@
-
+
diff --git a/testarch/devices/wire-bidir-min/arch.xml b/tests/fakearch/devices/wire-bidir-min/arch.xml
similarity index 80%
rename from testarch/devices/wire-bidir-min/arch.xml
rename to tests/fakearch/devices/wire-bidir-min/arch.xml
index b24a026f87..89e1390629 100644
--- a/testarch/devices/wire-bidir-min/arch.xml
+++ b/tests/fakearch/devices/wire-bidir-min/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/wire-bidir-s4/arch.xml b/tests/fakearch/devices/wire-bidir-s4/arch.xml
similarity index 80%
rename from testarch/devices/wire-bidir-s4/arch.xml
rename to tests/fakearch/devices/wire-bidir-s4/arch.xml
index 094cff4665..1a78f7e4fe 100644
--- a/testarch/devices/wire-bidir-s4/arch.xml
+++ b/tests/fakearch/devices/wire-bidir-s4/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/wire-unidir-min/arch.xml b/tests/fakearch/devices/wire-unidir-min/arch.xml
similarity index 80%
rename from testarch/devices/wire-unidir-min/arch.xml
rename to tests/fakearch/devices/wire-unidir-min/arch.xml
index 67d4685d28..a269c3e1bd 100644
--- a/testarch/devices/wire-unidir-min/arch.xml
+++ b/tests/fakearch/devices/wire-unidir-min/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/devices/wire-unidir-s4/arch.xml b/tests/fakearch/devices/wire-unidir-s4/arch.xml
similarity index 80%
rename from testarch/devices/wire-unidir-s4/arch.xml
rename to tests/fakearch/devices/wire-unidir-s4/arch.xml
index e386acc548..b13a1cf83d 100644
--- a/testarch/devices/wire-unidir-s4/arch.xml
+++ b/tests/fakearch/devices/wire-unidir-s4/arch.xml
@@ -7,8 +7,8 @@
-
-
+
+
diff --git a/testarch/primitives/CMakeLists.txt b/tests/fakearch/primitives/CMakeLists.txt
similarity index 100%
rename from testarch/primitives/CMakeLists.txt
rename to tests/fakearch/primitives/CMakeLists.txt
diff --git a/testarch/primitives/const/CMakeLists.txt b/tests/fakearch/primitives/const/CMakeLists.txt
similarity index 100%
rename from testarch/primitives/const/CMakeLists.txt
rename to tests/fakearch/primitives/const/CMakeLists.txt
diff --git a/testarch/primitives/const/gnd.model.xml b/tests/fakearch/primitives/const/gnd.model.xml
similarity index 100%
rename from testarch/primitives/const/gnd.model.xml
rename to tests/fakearch/primitives/const/gnd.model.xml
diff --git a/testarch/primitives/const/gnd.pb_type.xml b/tests/fakearch/primitives/const/gnd.pb_type.xml
similarity index 100%
rename from testarch/primitives/const/gnd.pb_type.xml
rename to tests/fakearch/primitives/const/gnd.pb_type.xml
diff --git a/testarch/primitives/const/vcc.model.xml b/tests/fakearch/primitives/const/vcc.model.xml
similarity index 100%
rename from testarch/primitives/const/vcc.model.xml
rename to tests/fakearch/primitives/const/vcc.model.xml
diff --git a/testarch/primitives/const/vcc.pb_type.xml b/tests/fakearch/primitives/const/vcc.pb_type.xml
similarity index 100%
rename from testarch/primitives/const/vcc.pb_type.xml
rename to tests/fakearch/primitives/const/vcc.pb_type.xml
diff --git a/testarch/primitives/ff/CMakeLists.txt b/tests/fakearch/primitives/ff/CMakeLists.txt
similarity index 100%
rename from testarch/primitives/ff/CMakeLists.txt
rename to tests/fakearch/primitives/ff/CMakeLists.txt
diff --git a/testarch/primitives/ff/ff.sim.v b/tests/fakearch/primitives/ff/ff.sim.v
similarity index 100%
rename from testarch/primitives/ff/ff.sim.v
rename to tests/fakearch/primitives/ff/ff.sim.v
diff --git a/testarch/primitives/lut/CMakeLists.txt b/tests/fakearch/primitives/lut/CMakeLists.txt
similarity index 100%
rename from testarch/primitives/lut/CMakeLists.txt
rename to tests/fakearch/primitives/lut/CMakeLists.txt
diff --git a/testarch/primitives/lut/lut.sim.v b/tests/fakearch/primitives/lut/lut.sim.v
similarity index 100%
rename from testarch/primitives/lut/lut.sim.v
rename to tests/fakearch/primitives/lut/lut.sim.v
diff --git a/testarch/primitives/lutff/CMakeLists.txt b/tests/fakearch/primitives/lutff/CMakeLists.txt
similarity index 100%
rename from testarch/primitives/lutff/CMakeLists.txt
rename to tests/fakearch/primitives/lutff/CMakeLists.txt
diff --git a/testarch/primitives/lutff/lutff.model.xml b/tests/fakearch/primitives/lutff/lutff.model.xml
similarity index 100%
rename from testarch/primitives/lutff/lutff.model.xml
rename to tests/fakearch/primitives/lutff/lutff.model.xml
diff --git a/testarch/primitives/lutff/lutff.pb_type.xml b/tests/fakearch/primitives/lutff/lutff.pb_type.xml
similarity index 100%
rename from testarch/primitives/lutff/lutff.pb_type.xml
rename to tests/fakearch/primitives/lutff/lutff.pb_type.xml
diff --git a/testarch/primitives/lutff/unused.lutff.sim.v b/tests/fakearch/primitives/lutff/unused.lutff.sim.v
similarity index 100%
rename from testarch/primitives/lutff/unused.lutff.sim.v
rename to tests/fakearch/primitives/lutff/unused.lutff.sim.v
diff --git a/testarch/primitives/omux/CMakeLists.txt b/tests/fakearch/primitives/omux/CMakeLists.txt
similarity index 100%
rename from testarch/primitives/omux/CMakeLists.txt
rename to tests/fakearch/primitives/omux/CMakeLists.txt
diff --git a/testarch/techmap/ff_map.v b/tests/fakearch/techmap/ff_map.v
similarity index 100%
rename from testarch/techmap/ff_map.v
rename to tests/fakearch/techmap/ff_map.v
diff --git a/testarch/tiles/CMakeLists.txt b/tests/fakearch/tiles/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/CMakeLists.txt
rename to tests/fakearch/tiles/CMakeLists.txt
diff --git a/testarch/tiles/clutff/CMakeLists.txt b/tests/fakearch/tiles/clutff/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/clutff/CMakeLists.txt
rename to tests/fakearch/tiles/clutff/CMakeLists.txt
diff --git a/testarch/tiles/clutff/clutff.model.xml b/tests/fakearch/tiles/clutff/clutff.model.xml
similarity index 100%
rename from testarch/tiles/clutff/clutff.model.xml
rename to tests/fakearch/tiles/clutff/clutff.model.xml
diff --git a/testarch/tiles/clutff/clutff.pb_type.xml b/tests/fakearch/tiles/clutff/clutff.pb_type.xml
similarity index 100%
rename from testarch/tiles/clutff/clutff.pb_type.xml
rename to tests/fakearch/tiles/clutff/clutff.pb_type.xml
diff --git a/testarch/tiles/const/CMakeLists.txt b/tests/fakearch/tiles/const/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/const/CMakeLists.txt
rename to tests/fakearch/tiles/const/CMakeLists.txt
diff --git a/testarch/tiles/const/gnd.model.xml b/tests/fakearch/tiles/const/gnd.model.xml
similarity index 100%
rename from testarch/tiles/const/gnd.model.xml
rename to tests/fakearch/tiles/const/gnd.model.xml
diff --git a/testarch/tiles/const/gnd.pb_type.xml b/tests/fakearch/tiles/const/gnd.pb_type.xml
similarity index 100%
rename from testarch/tiles/const/gnd.pb_type.xml
rename to tests/fakearch/tiles/const/gnd.pb_type.xml
diff --git a/testarch/tiles/const/vcc.model.xml b/tests/fakearch/tiles/const/vcc.model.xml
similarity index 100%
rename from testarch/tiles/const/vcc.model.xml
rename to tests/fakearch/tiles/const/vcc.model.xml
diff --git a/testarch/tiles/const/vcc.pb_type.xml b/tests/fakearch/tiles/const/vcc.pb_type.xml
similarity index 100%
rename from testarch/tiles/const/vcc.pb_type.xml
rename to tests/fakearch/tiles/const/vcc.pb_type.xml
diff --git a/testarch/tiles/ff-large/CMakeLists.txt b/tests/fakearch/tiles/ff-large/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/ff-large/CMakeLists.txt
rename to tests/fakearch/tiles/ff-large/CMakeLists.txt
diff --git a/testarch/tiles/ff-large/ff-large.model.xml b/tests/fakearch/tiles/ff-large/ff-large.model.xml
similarity index 100%
rename from testarch/tiles/ff-large/ff-large.model.xml
rename to tests/fakearch/tiles/ff-large/ff-large.model.xml
diff --git a/testarch/tiles/ff-large/ff-large.pb_type.xml b/tests/fakearch/tiles/ff-large/ff-large.pb_type.xml
similarity index 100%
rename from testarch/tiles/ff-large/ff-large.pb_type.xml
rename to tests/fakearch/tiles/ff-large/ff-large.pb_type.xml
diff --git a/testarch/tiles/ff1/CMakeLists.txt b/tests/fakearch/tiles/ff1/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/ff1/CMakeLists.txt
rename to tests/fakearch/tiles/ff1/CMakeLists.txt
diff --git a/testarch/tiles/ff1/ff1.model.xml b/tests/fakearch/tiles/ff1/ff1.model.xml
similarity index 100%
rename from testarch/tiles/ff1/ff1.model.xml
rename to tests/fakearch/tiles/ff1/ff1.model.xml
diff --git a/testarch/tiles/ff1/ff1.pb_type.xml b/tests/fakearch/tiles/ff1/ff1.pb_type.xml
similarity index 100%
rename from testarch/tiles/ff1/ff1.pb_type.xml
rename to tests/fakearch/tiles/ff1/ff1.pb_type.xml
diff --git a/testarch/tiles/lutff/CMakeLists.txt b/tests/fakearch/tiles/lutff/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/lutff/CMakeLists.txt
rename to tests/fakearch/tiles/lutff/CMakeLists.txt
diff --git a/testarch/tiles/lutff/lutff.model.xml b/tests/fakearch/tiles/lutff/lutff.model.xml
similarity index 100%
rename from testarch/tiles/lutff/lutff.model.xml
rename to tests/fakearch/tiles/lutff/lutff.model.xml
diff --git a/testarch/tiles/lutff/lutff.pb_type.xml b/tests/fakearch/tiles/lutff/lutff.pb_type.xml
similarity index 100%
rename from testarch/tiles/lutff/lutff.pb_type.xml
rename to tests/fakearch/tiles/lutff/lutff.pb_type.xml
diff --git a/testarch/tiles/lutff3/CMakeLists.txt b/tests/fakearch/tiles/lutff3/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/lutff3/CMakeLists.txt
rename to tests/fakearch/tiles/lutff3/CMakeLists.txt
diff --git a/testarch/tiles/lutff3/lutff3.model.xml b/tests/fakearch/tiles/lutff3/lutff3.model.xml
similarity index 100%
rename from testarch/tiles/lutff3/lutff3.model.xml
rename to tests/fakearch/tiles/lutff3/lutff3.model.xml
diff --git a/testarch/tiles/lutff3/lutff3.pb_type.xml b/tests/fakearch/tiles/lutff3/lutff3.pb_type.xml
similarity index 100%
rename from testarch/tiles/lutff3/lutff3.pb_type.xml
rename to tests/fakearch/tiles/lutff3/lutff3.pb_type.xml
diff --git a/testarch/tiles/wire/CMakeLists.txt b/tests/fakearch/tiles/wire/CMakeLists.txt
similarity index 100%
rename from testarch/tiles/wire/CMakeLists.txt
rename to tests/fakearch/tiles/wire/CMakeLists.txt
diff --git a/testarch/tiles/wire/wire.model.xml b/tests/fakearch/tiles/wire/wire.model.xml
similarity index 100%
rename from testarch/tiles/wire/wire.model.xml
rename to tests/fakearch/tiles/wire/wire.model.xml
diff --git a/testarch/tiles/wire/wire.pb_type.xml b/tests/fakearch/tiles/wire/wire.pb_type.xml
similarity index 90%
rename from testarch/tiles/wire/wire.pb_type.xml
rename to tests/fakearch/tiles/wire/wire.pb_type.xml
index 44666e536a..b5138d92f8 100644
--- a/testarch/tiles/wire/wire.pb_type.xml
+++ b/tests/fakearch/tiles/wire/wire.pb_type.xml
@@ -4,7 +4,7 @@
-
+
diff --git a/testarch/utils/testarch_graph.py b/tests/fakearch/utils/testarch_graph.py
similarity index 100%
rename from testarch/utils/testarch_graph.py
rename to tests/fakearch/utils/testarch_graph.py
diff --git a/testarch/yosys.tcl b/tests/fakearch/yosys.tcl
similarity index 100%
rename from testarch/yosys.tcl
rename to tests/fakearch/yosys.tcl
diff --git a/xilinx/common/primitives/common_slice/routing/Nused/ntemplate.Nused.sim.v b/xilinx/common/primitives/common_slice/routing/Nused/ntemplate.Nused.sim.v
index a8e020e33b..c53f122d64 100644
--- a/xilinx/common/primitives/common_slice/routing/Nused/ntemplate.Nused.sim.v
+++ b/xilinx/common/primitives/common_slice/routing/Nused/ntemplate.Nused.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../../vpr/muxes/logic/mux2/mux2.sim.v"
+`include "../../../../../../common/vpr/muxes/logic/mux2/mux2.sim.v"
module {N}USED(I0, O);
diff --git a/xilinx/common/primitives/common_slice/routing/ceusedmux/ceusedmux.sim.v b/xilinx/common/primitives/common_slice/routing/ceusedmux/ceusedmux.sim.v
index 5bde36b6cb..ad010b5c25 100644
--- a/xilinx/common/primitives/common_slice/routing/ceusedmux/ceusedmux.sim.v
+++ b/xilinx/common/primitives/common_slice/routing/ceusedmux/ceusedmux.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../../vpr/muxes/logic/mux2/mux2.sim.v"
+`include "../../../../../../common/vpr/muxes/logic/mux2/mux2.sim.v"
module CEUSEDMUX(IN, OUT);
input wire IN;
diff --git a/xilinx/common/primitives/common_slice/routing/clkinv/clkinv.sim.v b/xilinx/common/primitives/common_slice/routing/clkinv/clkinv.sim.v
index 2d84648261..32448146f7 100644
--- a/xilinx/common/primitives/common_slice/routing/clkinv/clkinv.sim.v
+++ b/xilinx/common/primitives/common_slice/routing/clkinv/clkinv.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../../vpr/muxes/logic/mux2/mux2.sim.v"
+`include "../../../../../../common/vpr/muxes/logic/mux2/mux2.sim.v"
module CLKINV(CLK, OUT);
input wire CLK;
diff --git a/xilinx/common/primitives/common_slice/routing/coutused/coutused.sim.v b/xilinx/common/primitives/common_slice/routing/coutused/coutused.sim.v
index f0782bb7f0..023479f185 100644
--- a/xilinx/common/primitives/common_slice/routing/coutused/coutused.sim.v
+++ b/xilinx/common/primitives/common_slice/routing/coutused/coutused.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../../vpr/muxes/logic/mux2/mux2.sim.v"
+`include "../../../../../../common/vpr/muxes/logic/mux2/mux2.sim.v"
module COUTUSED(IN, OUT);
input wire IN;
diff --git a/xilinx/common/primitives/common_slice/routing/srusedmux/srusedmux.sim.v b/xilinx/common/primitives/common_slice/routing/srusedmux/srusedmux.sim.v
index a97e4c0e29..f7be4e268a 100644
--- a/xilinx/common/primitives/common_slice/routing/srusedmux/srusedmux.sim.v
+++ b/xilinx/common/primitives/common_slice/routing/srusedmux/srusedmux.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../../vpr/muxes/logic/mux2/mux2.sim.v"
+`include "../../../../../../common/vpr/muxes/logic/mux2/mux2.sim.v"
module SRUSEDMUX(IN, OUT);
input wire IN;
diff --git a/xilinx/common/primitives/dsp48e1/carryinsel_logic/carryinsel_logic.sim.v b/xilinx/common/primitives/dsp48e1/carryinsel_logic/carryinsel_logic.sim.v
index fed2a62214..3bad517214 100644
--- a/xilinx/common/primitives/dsp48e1/carryinsel_logic/carryinsel_logic.sim.v
+++ b/xilinx/common/primitives/dsp48e1/carryinsel_logic/carryinsel_logic.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../vpr/muxes/logic/mux8/mux8.sim.v"
+`include "../../../../../common/vpr/muxes/logic/mux8/mux8.sim.v"
`include "../nreg/reg.sim.v"
`include "carryin_mux/carryin_mux.sim.v"
diff --git a/xilinx/common/primitives/dsp48e1/nmux2/nmux2.sim.v b/xilinx/common/primitives/dsp48e1/nmux2/nmux2.sim.v
index 6c7fb12389..edf0c5990d 100644
--- a/xilinx/common/primitives/dsp48e1/nmux2/nmux2.sim.v
+++ b/xilinx/common/primitives/dsp48e1/nmux2/nmux2.sim.v
@@ -1,4 +1,4 @@
-`include "../../../../../vpr/muxes/logic/mux2/mux2.sim.v"
+`include "../../../../../common/vpr/muxes/logic/mux2/mux2.sim.v"
module NMUX2
(
diff --git a/xilinx/xc7/tests/bram_sdp_test/CMakeLists.txt b/xilinx/xc7/tests/bram_sdp_test/CMakeLists.txt
index 4bdf34c788..136a798ded 100644
--- a/xilinx/xc7/tests/bram_sdp_test/CMakeLists.txt
+++ b/xilinx/xc7/tests/bram_sdp_test/CMakeLists.txt
@@ -1,7 +1,7 @@
set(BASE_TEST_NAME bram_sdp_test)
get_target_property_required(UART_SOURCES uart_library SOURCES)
-list(APPEND SOURCES ${f4pga-arch-defs_SOURCE_DIR}/library/lfsr.v ${COMMON}/error_output_logic.v ${COMMON}/ram_test.v)
+list(APPEND SOURCES ${f4pga-arch-defs_SOURCE_DIR}/xilinx/xc7/tests/library/lfsr.v ${COMMON}/error_output_logic.v ${COMMON}/ram_test.v)
get_target_property_required(DEVICE basys3 DEVICE)
get_target_property_required(ARCH ${DEVICE} ARCH)
diff --git a/xilinx/xc7/tests/bram_test/CMakeLists.txt b/xilinx/xc7/tests/bram_test/CMakeLists.txt
index c2df50d0ea..c5c67d16ae 100644
--- a/xilinx/xc7/tests/bram_test/CMakeLists.txt
+++ b/xilinx/xc7/tests/bram_test/CMakeLists.txt
@@ -1,7 +1,7 @@
set(BASE_TEST_NAME bram_test)
get_target_property_required(UART_SOURCES uart_library SOURCES)
-list(APPEND SOURCES ${f4pga-arch-defs_SOURCE_DIR}/library/lfsr.v ${COMMON}/error_output_logic.v ${COMMON}/ram_test.v)
+list(APPEND SOURCES ${f4pga-arch-defs_SOURCE_DIR}/xilinx/xc7/tests/library/lfsr.v ${COMMON}/error_output_logic.v ${COMMON}/ram_test.v)
get_target_property_required(DEVICE basys3 DEVICE)
get_target_property_required(ARCH ${DEVICE} ARCH)
diff --git a/xilinx/xc7/tests/common/error_output_logic_tb.v b/xilinx/xc7/tests/common/error_output_logic_tb.v
index f77eab92f7..fbbc80ef81 100644
--- a/xilinx/xc7/tests/common/error_output_logic_tb.v
+++ b/xilinx/xc7/tests/common/error_output_logic_tb.v
@@ -7,7 +7,7 @@
module test;
-`include "../../../../library/tbassert.v"
+`include "../../../../xilinx/xc7/tests/library/tbassert.v"
localparam ADDR_WIDTH = 10;
localparam DATA_WIDTH = 1;
diff --git a/xilinx/xc7/tests/dram_test/CMakeLists.txt b/xilinx/xc7/tests/dram_test/CMakeLists.txt
index e66ec92622..2c4b0a876b 100644
--- a/xilinx/xc7/tests/dram_test/CMakeLists.txt
+++ b/xilinx/xc7/tests/dram_test/CMakeLists.txt
@@ -12,7 +12,7 @@ foreach(type 32x1d 64x1d 32m 64m)
BOARD basys3
INPUT_IO_FILE ${COMMON}/basys3.pcf
INPUT_SDC_FILE ${COMMON}/basys3.sdc
- SOURCES ${UART_SOURCES} ${f4pga-arch-defs_SOURCE_DIR}/library/lfsr.v ${SOURCES} dram_test_${type}.v
+ SOURCES ${UART_SOURCES} ${f4pga-arch-defs_SOURCE_DIR}/xilinx/xc7/tests/library/lfsr.v ${SOURCES} dram_test_${type}.v
EXPLICIT_ADD_FILE_TARGET
)
diff --git a/xilinx/xc7/tests/ff_sr_ce/CMakeLists.txt b/xilinx/xc7/tests/ff_sr_ce/CMakeLists.txt
index 7ba04942c3..7a2145d73a 100644
--- a/xilinx/xc7/tests/ff_sr_ce/CMakeLists.txt
+++ b/xilinx/xc7/tests/ff_sr_ce/CMakeLists.txt
@@ -52,7 +52,7 @@ function(ff_ce_sr_test num_ff)
BOARD basys3
INPUT_IO_FILE ${COMMON}/basys3.pcf
SOURCES
- ${f4pga-arch-defs_SOURCE_DIR}/library/lfsr.v
+ ${f4pga-arch-defs_SOURCE_DIR}/xilinx/xc7/tests/library/lfsr.v
ff_type.v
ff_ce_sr_${num_ff}_${ff_type_lower}.v
${TESTBENCH}
diff --git a/xilinx/xc7/tests/ff_sr_ce/ff_ce_sr_testbench.v b/xilinx/xc7/tests/ff_sr_ce/ff_ce_sr_testbench.v
index 193487778f..d4341b2dcd 100644
--- a/xilinx/xc7/tests/ff_sr_ce/ff_ce_sr_testbench.v
+++ b/xilinx/xc7/tests/ff_sr_ce/ff_ce_sr_testbench.v
@@ -4,7 +4,7 @@ module test;
localparam NUM_FF = 4;
-`include "../../../../library/tbassert.v"
+`include "../library/tbassert.v"
reg clk = 0;
reg rx = 1;
diff --git a/xilinx/xc7/tests/lcu/lcu_tb.v b/xilinx/xc7/tests/lcu/lcu_tb.v
index 3d170ed470..7e133b7ce2 100644
--- a/xilinx/xc7/tests/lcu/lcu_tb.v
+++ b/xilinx/xc7/tests/lcu/lcu_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../library/tbassert.v"
+`include "../library/tbassert.v"
// ============================================================================
diff --git a/library/CMakeLists.txt b/xilinx/xc7/tests/library/CMakeLists.txt
similarity index 100%
rename from library/CMakeLists.txt
rename to xilinx/xc7/tests/library/CMakeLists.txt
diff --git a/library/lfsr.v b/xilinx/xc7/tests/library/lfsr.v
similarity index 100%
rename from library/lfsr.v
rename to xilinx/xc7/tests/library/lfsr.v
diff --git a/library/tbassert.v b/xilinx/xc7/tests/library/tbassert.v
similarity index 100%
rename from library/tbassert.v
rename to xilinx/xc7/tests/library/tbassert.v
diff --git a/library/uart/CMakeLists.txt b/xilinx/xc7/tests/library/uart/CMakeLists.txt
similarity index 100%
rename from library/uart/CMakeLists.txt
rename to xilinx/xc7/tests/library/uart/CMakeLists.txt
diff --git a/library/uart/baudgen.v b/xilinx/xc7/tests/library/uart/baudgen.v
similarity index 100%
rename from library/uart/baudgen.v
rename to xilinx/xc7/tests/library/uart/baudgen.v
diff --git a/library/uart/uart.v b/xilinx/xc7/tests/library/uart/uart.v
similarity index 100%
rename from library/uart/uart.v
rename to xilinx/xc7/tests/library/uart/uart.v
diff --git a/library/uart/uart_rx.v b/xilinx/xc7/tests/library/uart/uart_rx.v
similarity index 100%
rename from library/uart/uart_rx.v
rename to xilinx/xc7/tests/library/uart/uart_rx.v
diff --git a/library/uart/uart_tx.v b/xilinx/xc7/tests/library/uart/uart_tx.v
similarity index 100%
rename from library/uart/uart_tx.v
rename to xilinx/xc7/tests/library/uart/uart_tx.v
diff --git a/xilinx/xc7/tests/srl/srl16_amc31/srl16_dffmux_mc31_tb.v b/xilinx/xc7/tests/srl/srl16_amc31/srl16_dffmux_mc31_tb.v
index a394dfc91c..3dbae543d1 100644
--- a/xilinx/xc7/tests/srl/srl16_amc31/srl16_dffmux_mc31_tb.v
+++ b/xilinx/xc7/tests/srl/srl16_amc31/srl16_dffmux_mc31_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl16_amc31/srl16_doutmux_mc31_tb.v b/xilinx/xc7/tests/srl/srl16_amc31/srl16_doutmux_mc31_tb.v
index b5783b2543..f8ce0a1fe8 100644
--- a/xilinx/xc7/tests/srl/srl16_amc31/srl16_doutmux_mc31_tb.v
+++ b/xilinx/xc7/tests/srl/srl16_amc31/srl16_doutmux_mc31_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl16_chain/srl16_chain_tb.v b/xilinx/xc7/tests/srl/srl16_chain/srl16_chain_tb.v
index 2a90e6256e..59c84e962e 100644
--- a/xilinx/xc7/tests/srl/srl16_chain/srl16_chain_tb.v
+++ b/xilinx/xc7/tests/srl/srl16_chain/srl16_chain_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl16_init/srl16_init_tb.v b/xilinx/xc7/tests/srl/srl16_init/srl16_init_tb.v
index 0c1a7f5f59..b468231f91 100644
--- a/xilinx/xc7/tests/srl/srl16_init/srl16_init_tb.v
+++ b/xilinx/xc7/tests/srl/srl16_init/srl16_init_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl16_shift/srl16_shift_tb.v b/xilinx/xc7/tests/srl/srl16_shift/srl16_shift_tb.v
index c84b52a5b3..a688a16958 100644
--- a/xilinx/xc7/tests/srl/srl16_shift/srl16_shift_tb.v
+++ b/xilinx/xc7/tests/srl/srl16_shift/srl16_shift_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl32_amc31/srl32_dffmux_mc31_tb.v b/xilinx/xc7/tests/srl/srl32_amc31/srl32_dffmux_mc31_tb.v
index 8f2de89aa3..d3e96928b3 100644
--- a/xilinx/xc7/tests/srl/srl32_amc31/srl32_dffmux_mc31_tb.v
+++ b/xilinx/xc7/tests/srl/srl32_amc31/srl32_dffmux_mc31_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl32_amc31/srl32_doutmux_mc31_tb.v b/xilinx/xc7/tests/srl/srl32_amc31/srl32_doutmux_mc31_tb.v
index b5783b2543..f8ce0a1fe8 100644
--- a/xilinx/xc7/tests/srl/srl32_amc31/srl32_doutmux_mc31_tb.v
+++ b/xilinx/xc7/tests/srl/srl32_amc31/srl32_doutmux_mc31_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl32_chain/srl32_chain_tb.v b/xilinx/xc7/tests/srl/srl32_chain/srl32_chain_tb.v
index 60a9cfab9b..5e8f118127 100644
--- a/xilinx/xc7/tests/srl/srl32_chain/srl32_chain_tb.v
+++ b/xilinx/xc7/tests/srl/srl32_chain/srl32_chain_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl32_init/srl32_init_tb.v b/xilinx/xc7/tests/srl/srl32_init/srl32_init_tb.v
index d88ed051d9..3288c558d0 100644
--- a/xilinx/xc7/tests/srl/srl32_init/srl32_init_tb.v
+++ b/xilinx/xc7/tests/srl/srl32_init/srl32_init_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================
diff --git a/xilinx/xc7/tests/srl/srl32_shift/srl32_shift_tb.v b/xilinx/xc7/tests/srl/srl32_shift/srl32_shift_tb.v
index d717dcf2ed..54121d5417 100644
--- a/xilinx/xc7/tests/srl/srl32_shift/srl32_shift_tb.v
+++ b/xilinx/xc7/tests/srl/srl32_shift/srl32_shift_tb.v
@@ -7,7 +7,7 @@
module tb;
-`include "../../../../../library/tbassert.v"
+`include "../../library/tbassert.v"
// ============================================================================