aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2019-01-17 13:33:45 +0100
committerClifford Wolf <clifford@clifford.at>2019-01-17 13:33:45 +0100
commit841ca74c90872985ae4e128608260b4a38d04762 (patch)
tree57e638ae2e80506de524fbfe1e21b2e45e4d4c59 /techlibs
parent54dc33b90518d8962d949a8f8b25842f720ac670 (diff)
downloadyosys-841ca74c90872985ae4e128608260b4a38d04762.tar.gz
yosys-841ca74c90872985ae4e128608260b4a38d04762.tar.bz2
yosys-841ca74c90872985ae4e128608260b4a38d04762.zip
Add "synth_sf2 -vlog", fix "synth_sf2 -edif"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
Diffstat (limited to 'techlibs')
-rw-r--r--techlibs/sf2/synth_sf2.cc19
1 files changed, 17 insertions, 2 deletions
diff --git a/techlibs/sf2/synth_sf2.cc b/techlibs/sf2/synth_sf2.cc
index 62b3cd0e2..6828a4298 100644
--- a/techlibs/sf2/synth_sf2.cc
+++ b/techlibs/sf2/synth_sf2.cc
@@ -44,6 +44,10 @@ struct SynthSf2Pass : public ScriptPass
log(" write the design to the specified EDIF file. writing of an output file\n");
log(" is omitted if this parameter is not specified.\n");
log("\n");
+ log(" -vlog <file>\n");
+ log(" write the design to the specified Verilog file. writing of an output file\n");
+ log(" is omitted if this parameter is not specified.\n");
+ log("\n");
log(" -json <file>\n");
log(" write the design to the specified JSON file. writing of an output file\n");
log(" is omitted if this parameter is not specified.\n");
@@ -65,13 +69,14 @@ struct SynthSf2Pass : public ScriptPass
log("\n");
}
- string top_opt, edif_file, json_file;
+ string top_opt, edif_file, vlog_file, json_file;
bool flatten, retime;
void clear_flags() YS_OVERRIDE
{
top_opt = "-auto-top";
edif_file = "";
+ vlog_file = "";
json_file = "";
flatten = true;
retime = false;
@@ -93,6 +98,10 @@ struct SynthSf2Pass : public ScriptPass
edif_file = args[++argidx];
continue;
}
+ if (args[argidx] == "-vlog" && argidx+1 < args.size()) {
+ vlog_file = args[++argidx];
+ continue;
+ }
if (args[argidx] == "-json" && argidx+1 < args.size()) {
json_file = args[++argidx];
continue;
@@ -192,7 +201,13 @@ struct SynthSf2Pass : public ScriptPass
if (check_label("edif"))
{
if (!edif_file.empty() || help_mode)
- run(stringf("write_edif %s", help_mode ? "<file-name>" : edif_file.c_str()));
+ run(stringf("write_edif -gndvccy %s", help_mode ? "<file-name>" : edif_file.c_str()));
+ }
+
+ if (check_label("vlog"))
+ {
+ if (!vlog_file.empty() || help_mode)
+ run(stringf("write_verilog %s", help_mode ? "<file-name>" : vlog_file.c_str()));
}
if (check_label("json"))