diff options
| author | azidar | 2015-05-29 11:34:51 -0700 |
|---|---|---|
| committer | azidar | 2015-05-29 11:34:51 -0700 |
| commit | ca49cb05f9e2fbeac1d0c722eb7d342f74508b7e (patch) | |
| tree | f8fb73ac66b7d5a50c1ab56ec2b2c8b91f71dd0b /src/main/stanza/firrtl-test-main.stanza | |
| parent | b44b49e6a6589add30b5b1d89d85f2e20432a515 (diff) | |
Added custom pass. Does not correctly run, stanza just spins. Requires debugging.
Diffstat (limited to 'src/main/stanza/firrtl-test-main.stanza')
| -rw-r--r-- | src/main/stanza/firrtl-test-main.stanza | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/stanza/firrtl-test-main.stanza b/src/main/stanza/firrtl-test-main.stanza index 5a7e593d..1a8f6780 100644 --- a/src/main/stanza/firrtl-test-main.stanza +++ b/src/main/stanza/firrtl-test-main.stanza @@ -13,6 +13,10 @@ #include("flo.stanza") #include("verilog.stanza") +;Custom Packages +#include("custom-passes.stanza") +#include("custom-compiler.stanza") + defpackage firrtl-main : import core import verse @@ -22,6 +26,9 @@ defpackage firrtl-main : import stz/parser import firrtl/ir-utils import firrtl/compiler + ;Custom Packages + import firrtl/custom-passes + import firrtl/custom-compiler defn set-printvars! (p:List<Char>) : if contains(p,'t') : PRINT-TYPES = true @@ -42,11 +49,13 @@ defn get-passes (pass-names:List<String>) -> List<Pass> : p as Pass defn main () : + println("HERE") val args = commandline-arguments() var input = false var output = false var compiler = false val pass-names = Vector<String>() + val pass-args = Vector<String>() var printvars = "" for (s in args, i in 0 to false) do : if s == "-i" : input = args[i + 1] @@ -54,7 +63,9 @@ defn main () : if s == "-x" : add(pass-names,args[i + 1]) if s == "-X" : compiler = args[i + 1] if s == "-p" : printvars = args[i + 1] + if s == "-s" : add(pass-args,args[i + 1]) + println("THERE") if input == false : error("No input file provided. Use -i flag.") if output == false : @@ -66,12 +77,14 @@ defn main () : val c = parse-firrtl(lexed) set-printvars!(to-list(printvars)) + println("EVERYWHERE") if compiler == false : run-passes(c,get-passes(to-list(pass-names))) else : switch {_ == compiler} : "flo" : run-passes(c,StandardFlo(output as String)) "verilog" : run-passes(c,StandardVerilog(output as String)) + "verilute" : run-passes(c,InstrumentedVerilog(output as String,to-list $ pass-args)) else : error("Invalid compiler flag") main() |
