diff options
-rw-r--r-- | dummy/chip.cc | 1 | ||||
-rw-r--r-- | dummy/chip.h | 4 | ||||
-rw-r--r-- | dummy/main.cc | 2 | ||||
-rw-r--r-- | gui/mainwindow.cc | 6 | ||||
-rw-r--r-- | gui/mainwindow.h | 4 | ||||
-rw-r--r-- | ice40/chip.cc | 29 | ||||
-rw-r--r-- | ice40/chip.h | 2 | ||||
-rw-r--r-- | ice40/main.cc | 2 |
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(); |