From f88f86125dcdfcdb3bd53685a6a3f670a7baab49 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 10 Jul 2018 13:54:05 +0200 Subject: [PATCH 1/2] Set family specific parameters for GUI --- gui/CMakeLists.txt | 1 + gui/generic/family.cmake | 0 gui/ice40/family.cmake | 3 +++ 3 files changed, 4 insertions(+) create mode 100644 gui/generic/family.cmake create mode 100644 gui/ice40/family.cmake diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index 68fd0229..5ac4d955 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -26,6 +26,7 @@ qt5_add_resources(GUI_RESOURCE_FILES ${_RESOURCES}) set(GUI_LIBRARY_FILES_${ufamily} Qt5::Widgets Qt5::OpenGL ${OPENGL_LIBRARIES} QtPropertyBrowser PARENT_SCOPE) add_library(gui_${family} STATIC ${GUI_SOURCE_FILES} ${PYTHON_CONSOLE_SRC} ${GUI_RESOURCE_FILES}) +include(${family}/family.cmake) target_include_directories(gui_${family} PRIVATE ../${family} ${family} ../3rdparty/QtPropertyBrowser/src) if (BUILD_PYTHON) diff --git a/gui/generic/family.cmake b/gui/generic/family.cmake new file mode 100644 index 00000000..e69de29b diff --git a/gui/ice40/family.cmake b/gui/ice40/family.cmake new file mode 100644 index 00000000..ede5b805 --- /dev/null +++ b/gui/ice40/family.cmake @@ -0,0 +1,3 @@ +if(ICE40_HX1K_ONLY) + target_compile_definitions(gui_${family} PRIVATE ICE40_HX1K_ONLY=1) +endif() From bfc47e9cd4512a503266c3f9cbe8841ed6136580 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Tue, 10 Jul 2018 13:58:20 +0200 Subject: [PATCH 2/2] Added ICE40_HX1K_ONLY check in gui and main --- gui/ice40/mainwindow.cc | 4 ++++ ice40/main.cc | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/gui/ice40/mainwindow.cc b/gui/ice40/mainwindow.cc index f423ee37..c4e568a3 100644 --- a/gui/ice40/mainwindow.cc +++ b/gui/ice40/mainwindow.cc @@ -220,12 +220,16 @@ QStringList getSupportedPackages(ArchArgs::ArchArgsTypes chip) void MainWindow::new_proj() { QMap arch; +#ifdef ICE40_HX1K_ONLY + arch.insert("Lattice HX1K", ArchArgs::HX1K); +#else arch.insert("Lattice LP384", ArchArgs::LP384); arch.insert("Lattice LP1K", ArchArgs::LP1K); arch.insert("Lattice HX1K", ArchArgs::HX1K); arch.insert("Lattice UP5K", ArchArgs::UP5K); arch.insert("Lattice LP8K", ArchArgs::LP8K); arch.insert("Lattice HX8K", ArchArgs::HX8K); +#endif bool ok; QString item = QInputDialog::getItem(this, "Select new context", "Chip:", arch.keys(), 0, false, &ok); if (ok && !item.isEmpty()) { diff --git a/ice40/main.cc b/ice40/main.cc index 87a32ded..ff823cbe 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -98,12 +98,16 @@ int main(int argc, char *argv[]) options.add_options()("seed", po::value(), "seed value for random number generator"); options.add_options()("version,V", "show version"); options.add_options()("tmfuzz", "run path delay estimate fuzzer"); +#ifdef ICE40_HX1K_ONLY + options.add_options()("hx1k", "set device type to iCE40HX1K"); +#else options.add_options()("lp384", "set device type to iCE40LP384"); options.add_options()("lp1k", "set device type to iCE40LP1K"); options.add_options()("lp8k", "set device type to iCE40LP8K"); options.add_options()("hx1k", "set device type to iCE40HX1K"); options.add_options()("hx8k", "set device type to iCE40HX8K"); options.add_options()("up5k", "set device type to iCE40UP5K"); +#endif options.add_options()("freq", po::value(), "set target frequency for design in MHz"); options.add_options()("no-tmdriv", "disable timing-driven placement"); options.add_options()("package", po::value(), "set device package");