aboutsummaryrefslogtreecommitdiffstats
path: root/frontend/json
diff options
context:
space:
mode:
authorZipCPU <dgisselq@ieee.org>2018-06-06 14:44:54 -0400
committerZipCPU <dgisselq@ieee.org>2018-06-06 14:44:54 -0400
commit16b9a2f1b5ad10aa0b426183b4e071d3afb09e88 (patch)
treed38578150224f95b8ce539ad2db7e32c92d397ac /frontend/json
parent5e463b8543585e4e1d2d3f80a2e32142015a73dd (diff)
downloadnextpnr-16b9a2f1b5ad10aa0b426183b4e071d3afb09e88.tar.gz
nextpnr-16b9a2f1b5ad10aa0b426183b4e071d3afb09e88.tar.bz2
nextpnr-16b9a2f1b5ad10aa0b426183b4e071d3afb09e88.zip
Attempt to add JSON parser--not working yet w/ build system
Diffstat (limited to 'frontend/json')
-rw-r--r--frontend/json/jsonparse.cc25
-rw-r--r--frontend/json/jsonparse.h29
2 files changed, 35 insertions, 19 deletions
diff --git a/frontend/json/jsonparse.cc b/frontend/json/jsonparse.cc
index 4d0fc1b1..45edabad 100644
--- a/frontend/json/jsonparse.cc
+++ b/frontend/json/jsonparse.cc
@@ -26,8 +26,9 @@
#include <fstream>
#include <assert.h>
#include <log.h>
-#include "common/design.h"
-#include "ice40/chip.h"
+#include "design.h"
+#include "chip.h"
+#include "jsonparse.h"
extern bool check_all_nets_driven(Design *design);
@@ -670,21 +671,7 @@ struct JsonFrontend {
}; // End Namespace JsonParser
-#warning "Main routine should be removed from jsonparse.cc before production"
-
-int main(int argc, char **argv) {
- JsonParser::JsonFrontend *parser = new JsonParser::JsonFrontend;
- ChipArgs chip_args;
- chip_args.type = ChipArgs::LP384;
-
- log_files.push_back(stderr);
-
- Design *design = new Design(chip_args);
- // std::string fname = "../../ice40/blinky.json";
- std::string fname = "/home/dan/work/rnd/opencores/icozip/trunk/rtl/icozip/icozip.json";
- std::istream *f = new std::ifstream(fname);
- parser->execute(f, fname, design);
-
- printf("Successful exit\n");
+void parse_json_file(std::istream *&f, std::string filename, Design *design){
+ auto *parser = new JsonParser::JsonFrontend();
+ parser->execute(f, filename, design);
}
-
diff --git a/frontend/json/jsonparse.h b/frontend/json/jsonparse.h
new file mode 100644
index 00000000..12bf6dcd
--- /dev/null
+++ b/frontend/json/jsonparse.h
@@ -0,0 +1,29 @@
+/*
+ * nextpnr -- Next Generation Place and Route
+ *
+ * Copyright (C) 2018 SymbioticEDA
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ */
+
+#ifndef JSON_PARSER
+#define JSON_PARSER
+
+#include <string>
+#include <istream>
+#include "design.h"
+
+extern void parse_json_file(std::istream *&, std::string &, Design *);
+
+#endif