aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dummy/chip.cc1
-rw-r--r--dummy/chip.h4
-rw-r--r--dummy/main.cc2
-rw-r--r--gui/mainwindow.cc6
-rw-r--r--gui/mainwindow.h4
-rw-r--r--ice40/chip.cc29
-rw-r--r--ice40/chip.h2
-rw-r--r--ice40/main.cc2
8 files changed, 45 insertions, 5 deletions
diff --git a/dummy/chip.cc b/dummy/chip.cc
index 04961d25..603be7e5 100644
--- a/dummy/chip.cc
+++ b/dummy/chip.cc
@@ -21,6 +21,7 @@
Chip::Chip(ChipArgs) {}
+std::string Chip::getChipName() { return "Dummy"; }
// ---------------------------------------------------------------
BelId Chip::getBelByName(IdString name) const { return BelId(); }
diff --git a/dummy/chip.h b/dummy/chip.h
index 255bfee4..da9ee7af 100644
--- a/dummy/chip.h
+++ b/dummy/chip.h
@@ -61,10 +61,14 @@ struct ChipArgs
{
};
+std::string getChipName(ChipArgs id);
+
struct Chip
{
Chip(ChipArgs args);
+ std::string getChipName();
+
BelId getBelByName(IdString name) const;
IdString getBelName(BelId bel) const;
void bindBel(BelId bel, IdString cell);
diff --git a/dummy/main.cc b/dummy/main.cc
index 4de749b7..c84d595c 100644
--- a/dummy/main.cc
+++ b/dummy/main.cc
@@ -28,7 +28,7 @@ int main(int argc, char *argv[])
Design design(ChipArgs{});
QApplication a(argc, argv);
- MainWindow w;
+ MainWindow w(&design);
w.show();
return a.exec();
diff --git a/gui/mainwindow.cc b/gui/mainwindow.cc
index c535f878..a6e6cbda 100644
--- a/gui/mainwindow.cc
+++ b/gui/mainwindow.cc
@@ -6,8 +6,8 @@
#include "pybindings.h"
#include "ui_mainwindow.h"
-MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent), ui(new Ui::MainWindow)
+MainWindow::MainWindow(Design *_design, QWidget *parent)
+ : QMainWindow(parent), ui(new Ui::MainWindow), design(_design)
{
ui->setupUi(this);
PyImport_ImportModule("emb");
@@ -19,6 +19,8 @@ MainWindow::MainWindow(QWidget *parent)
ui->plainTextEdit->appendPlainText(s.c_str());
};
emb::set_stdout(write);
+ std::string title = "nextpnr-ice40 - " + design->chip.getChipName();
+ setWindowTitle(title.c_str());
}
MainWindow::~MainWindow() { delete ui; }
diff --git a/gui/mainwindow.h b/gui/mainwindow.h
index 55d82e9b..6bc4d21f 100644
--- a/gui/mainwindow.h
+++ b/gui/mainwindow.h
@@ -1,5 +1,6 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
+#include "design.h"
#include "emb.h"
#include <QMainWindow>
@@ -13,7 +14,7 @@ class MainWindow : public QMainWindow
Q_OBJECT
public:
- explicit MainWindow(QWidget *parent = 0);
+ explicit MainWindow(Design *design, QWidget *parent = 0);
~MainWindow();
private:
@@ -25,6 +26,7 @@ class MainWindow : public QMainWindow
private:
Ui::MainWindow *ui;
emb::stdout_write_type write;
+ Design *design;
};
#endif // MAINWINDOW_H
diff --git a/ice40/chip.cc b/ice40/chip.cc
index b2601e2a..e6116287 100644
--- a/ice40/chip.cc
+++ b/ice40/chip.cc
@@ -106,6 +106,35 @@ Chip::Chip(ChipArgs args) : args(args)
// -----------------------------------------------------------------------
+std::string Chip::getChipName()
+{
+#ifdef ICE40_HX1K_ONLY
+ if (args.type == ChipArgs::HX1K) {
+ return "Lattice LP1K";
+ } else {
+ log_error("Unsupported iCE40 chip type.\n");
+ }
+#else
+ if (args.type == ChipArgs::LP384) {
+ return "Lattice LP384";
+ } else if (args.type == ChipArgs::LP1K) {
+ return "Lattice LP1K";
+ } else if (args.type == ChipArgs::HX1K) {
+ return "Lattice HX1K";
+ } else if (args.type == ChipArgs::UP5K) {
+ return "Lattice UP5K";
+ } else if (args.type == ChipArgs::LP8K) {
+ return "Lattice LP8K";
+ } else if (args.type == ChipArgs::HX8K) {
+ return "Lattice HX8K";
+ } else {
+ log_error("Unknown chip\n");
+ }
+#endif
+}
+
+// -----------------------------------------------------------------------
+
BelId Chip::getBelByName(IdString name) const
{
BelId ret;
diff --git a/ice40/chip.h b/ice40/chip.h
index 760ef3b1..252cf303 100644
--- a/ice40/chip.h
+++ b/ice40/chip.h
@@ -419,6 +419,8 @@ struct Chip
ChipArgs args;
// -------------------------------------------------
+ std::string getChipName();
+
BelId getBelByName(IdString name) const;
IdString getBelName(BelId bel) const
diff --git a/ice40/main.cc b/ice40/main.cc
index b4f61108..3b5ffd53 100644
--- a/ice40/main.cc
+++ b/ice40/main.cc
@@ -269,7 +269,7 @@ int main(int argc, char *argv[])
if (vm.count("gui")) {
QApplication a(argc, argv);
- MainWindow w;
+ MainWindow w(&design);
w.show();
rc = a.exec();