From df1bb3aced1e560dd919460a846c28ad2deacbd3 Mon Sep 17 00:00:00 2001 From: azidar Date: Sat, 16 Jan 2016 15:47:37 -0800 Subject: Standard Verilog doesn't use Resolve(), but lists out the resolution passes individually --- src/main/stanza/compilers.stanza | 21 ++++++++++----------- src/main/stanza/passes.stanza | 3 +++ 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/stanza/compilers.stanza b/src/main/stanza/compilers.stanza index cfc7824b..de775648 100644 --- a/src/main/stanza/compilers.stanza +++ b/src/main/stanza/compilers.stanza @@ -56,15 +56,13 @@ public defmethod passes (c:StandardVerilog) -> List : ;=============== ToWorkingIR() ;=============== - ResolveKinds() - InferTypes() - CheckTypes() - ResolveGenders() - CheckGenders() - InferWidths() - CheckWidths() - ;=============== - Resolve() + ResolveKinds() + InferTypes() + CheckTypes() + ResolveGenders() + CheckGenders() + InferWidths() + CheckWidths() ;=============== ExpandConnects() ;=============== @@ -96,12 +94,14 @@ public defmethod passes (c:StandardVerilog) -> List : InferWidths() CheckWidths() ;=============== + Verilog(with-output(c)) + ;=============== ;ToRealIR() ;Pad() ;CheckWidths() ;CheckHighForm() ;CheckLowForm() - Verilog(with-output(c)) + ;Verilog(with-output(c)) ] public defstruct StandardFIRRTL <: Compiler : @@ -114,7 +114,6 @@ public defmethod passes (c:StandardFIRRTL) -> List : FIRRTL(with-output(c)) ] - public defstruct StandardLoFIRRTL <: Compiler : with-output : (() -> False) -> False with: (as-method => true) public defmethod backend (c:StandardLoFIRRTL) -> List : diff --git a/src/main/stanza/passes.stanza b/src/main/stanza/passes.stanza index 45aaf755..a5d72ba4 100644 --- a/src/main/stanza/passes.stanza +++ b/src/main/stanza/passes.stanza @@ -1642,8 +1642,11 @@ public defmethod name (b:Resolve) -> String : "Resolve" public defmethod short-name (b:Resolve) -> String : "resolve" defn resolve (c:Circuit) -> Circuit : + check-width $ infer-widths $ + check-genders $ resolve-genders $ + check-types $ infer-types $ resolve-kinds $ c -- cgit v1.2.3