aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ice40/main.cc')
-rw-r--r--ice40/main.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/ice40/main.cc b/ice40/main.cc
index 9f909bba..a57cd0a8 100644
--- a/ice40/main.cc
+++ b/ice40/main.cc
@@ -23,6 +23,7 @@
#include <boost/program_options.hpp>
#include <fstream>
#include <iostream>
+#include "bitstream.h"
#include "design.h"
#include "jsonparse.h"
#include "log.h"
@@ -69,6 +70,8 @@ int main(int argc, char *argv[])
"python file to execute");
options.add_options()("json", po::value<std::string>(),
"JSON design file to ingest");
+ options.add_options()("asc", po::value<std::string>(),
+ "asc bitstream file to write");
options.add_options()("version,v", "show version");
options.add_options()("lp384", "set device type to iCE40LP384");
options.add_options()("lp1k", "set device type to iCE40LP1K");
@@ -251,6 +254,12 @@ int main(int argc, char *argv[])
route_design(&design);
}
+ if (vm.count("asc")) {
+ std::string filename = vm["asc"].as<std::string>();
+ std::ofstream f(filename);
+ write_asc(design.chip, f);
+ }
+
if (vm.count("run")) {
std::vector<std::string> files =
vm["run"].as<std::vector<std::string>>();