diff options
author | ZipCPU <dgisselq@ieee.org> | 2018-06-06 14:44:54 -0400 |
---|---|---|
committer | ZipCPU <dgisselq@ieee.org> | 2018-06-06 14:44:54 -0400 |
commit | 16b9a2f1b5ad10aa0b426183b4e071d3afb09e88 (patch) | |
tree | d38578150224f95b8ce539ad2db7e32c92d397ac /frontend | |
parent | 5e463b8543585e4e1d2d3f80a2e32142015a73dd (diff) | |
download | nextpnr-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')
-rw-r--r-- | frontend/json/jsonparse.cc | 25 | ||||
-rw-r--r-- | frontend/json/jsonparse.h | 29 |
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 |