mirror of https://github.com/KLayout/klayout.git
Netlist browser: command line option -mn to open netlist DB from command line.
This commit is contained in:
parent
20eb53d626
commit
655d4bccdd
|
|
@ -51,6 +51,7 @@
|
||||||
#include "dbLibrary.h"
|
#include "dbLibrary.h"
|
||||||
#include "dbLibraryManager.h"
|
#include "dbLibraryManager.h"
|
||||||
#include "dbInit.h"
|
#include "dbInit.h"
|
||||||
|
#include "dbLayoutToNetlist.h"
|
||||||
#include "tlExceptions.h"
|
#include "tlExceptions.h"
|
||||||
#include "tlException.h"
|
#include "tlException.h"
|
||||||
#include "tlAssert.h"
|
#include "tlAssert.h"
|
||||||
|
|
@ -496,6 +497,10 @@ ApplicationBase::parse_cmd (int &argc, char **argv)
|
||||||
|
|
||||||
m_files.push_back (std::make_pair (rdb_file, std::make_pair (std::string (args [++i]), std::string ())));
|
m_files.push_back (std::make_pair (rdb_file, std::make_pair (std::string (args [++i]), std::string ())));
|
||||||
|
|
||||||
|
} else if (a == "-mn" && (i + 1) < argc) {
|
||||||
|
|
||||||
|
m_files.push_back (std::make_pair (l2ndb_file, std::make_pair (std::string (args [++i]), std::string ())));
|
||||||
|
|
||||||
} else if (a[0] == '-') {
|
} else if (a[0] == '-') {
|
||||||
|
|
||||||
throw tl::Exception (tl::to_string (QObject::tr ("Unknown option: ")) + a);
|
throw tl::Exception (tl::to_string (QObject::tr ("Unknown option: ")) + a);
|
||||||
|
|
@ -951,6 +956,7 @@ ApplicationBase::usage ()
|
||||||
r += tl::to_string (QObject::tr (" -lx With -l: add other layers as well")) + "\n";
|
r += tl::to_string (QObject::tr (" -lx With -l: add other layers as well")) + "\n";
|
||||||
r += tl::to_string (QObject::tr (" -lf With -l: use the lyp file as it is (no expansion to multiple layouts)")) + "\n";
|
r += tl::to_string (QObject::tr (" -lf With -l: use the lyp file as it is (no expansion to multiple layouts)")) + "\n";
|
||||||
r += tl::to_string (QObject::tr (" -m <database file> Load RDB (report database) file (into previous layout view)")) + "\n";
|
r += tl::to_string (QObject::tr (" -m <database file> Load RDB (report database) file (into previous layout view)")) + "\n";
|
||||||
|
r += tl::to_string (QObject::tr (" -mn <database file> Load L2NDB (layout to netlist database) file (into previous layout view)")) + "\n";
|
||||||
r += tl::to_string (QObject::tr (" -n <technology> Technology to use for next layout(s) on command line")) + "\n";
|
r += tl::to_string (QObject::tr (" -n <technology> Technology to use for next layout(s) on command line")) + "\n";
|
||||||
r += tl::to_string (QObject::tr (" -nn <tech file> Technology file (.lyt) to use for next layout(s) on command line")) + "\n";
|
r += tl::to_string (QObject::tr (" -nn <tech file> Technology file (.lyt) to use for next layout(s) on command line")) + "\n";
|
||||||
r += tl::to_string (QObject::tr (" -p <plugin> Load the plugin (can be used multiple times)")) + "\n";
|
r += tl::to_string (QObject::tr (" -p <plugin> Load the plugin (can be used multiple times)")) + "\n";
|
||||||
|
|
@ -1069,7 +1075,7 @@ ApplicationBase::run ()
|
||||||
mw->current_view ()->set_active_cellview_index (0);
|
mw->current_view ()->set_active_cellview_index (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else if (f->first == rdb_file) {
|
||||||
|
|
||||||
if (mw->current_view () == 0) {
|
if (mw->current_view () == 0) {
|
||||||
mw->create_view ();
|
mw->create_view ();
|
||||||
|
|
@ -1082,6 +1088,19 @@ ApplicationBase::run ()
|
||||||
mw->current_view ()->open_rdb_browser (rdb_index, mw->current_view ()->active_cellview_index ());
|
mw->current_view ()->open_rdb_browser (rdb_index, mw->current_view ()->active_cellview_index ());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else if (f->first == l2ndb_file) {
|
||||||
|
|
||||||
|
if (mw->current_view () == 0) {
|
||||||
|
mw->create_view ();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mw->current_view () != 0) {
|
||||||
|
std::auto_ptr <db::LayoutToNetlist> db (new db::LayoutToNetlist ());
|
||||||
|
db->load (f->second.first);
|
||||||
|
int l2ndb_index = mw->current_view ()->add_l2ndb (db.release ());
|
||||||
|
mw->current_view ()->open_l2ndb_browser (l2ndb_index, mw->current_view ()->active_cellview_index ());
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -332,7 +332,8 @@ private:
|
||||||
layout_file,
|
layout_file,
|
||||||
layout_file_with_tech,
|
layout_file_with_tech,
|
||||||
layout_file_with_tech_file,
|
layout_file_with_tech_file,
|
||||||
rdb_file
|
rdb_file,
|
||||||
|
l2ndb_file
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector <std::pair<file_type, std::pair<std::string, std::string> > > m_files;
|
std::vector <std::pair<file_type, std::pair<std::string, std::string> > > m_files;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue