diff options
Diffstat (limited to 'frontend/json')
| -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 | 
