aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gui/CMakeLists.txt1
-rw-r--r--gui/generic/family.cmake0
-rw-r--r--gui/ice40/family.cmake3
-rw-r--r--gui/ice40/mainwindow.cc4
-rw-r--r--ice40/main.cc4
5 files changed, 12 insertions, 0 deletions
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
--- /dev/null
+++ b/gui/generic/family.cmake
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()
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<QString, int> 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<int>(), "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<double>(), "set target frequency for design in MHz");
options.add_options()("no-tmdriv", "disable timing-driven placement");
options.add_options()("package", po::value<std::string>(), "set device package");