aboutsummaryrefslogtreecommitdiffstats
path: root/frontends/ast/ast.h
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2013-07-09 19:00:10 +0200
committerClifford Wolf <clifford@clifford.at>2013-07-09 19:00:10 +0200
commit618b2ac994360de4ffc9299aecb104a5bf5ba721 (patch)
treeeab20d78333bf2d266bb3d6b62738299f871525b /frontends/ast/ast.h
parent7daeee340a7edad3f4450e1392f8bad8d8b9cb7c (diff)
parent00a6c1d9a57da0e0b0fef07b2d618847ed93a9fd (diff)
downloadyosys-618b2ac994360de4ffc9299aecb104a5bf5ba721.tar.gz
yosys-618b2ac994360de4ffc9299aecb104a5bf5ba721.tar.bz2
yosys-618b2ac994360de4ffc9299aecb104a5bf5ba721.zip
Merge branch 'master' of github.com:cliffordwolf/yosys
Diffstat (limited to 'frontends/ast/ast.h')
-rw-r--r--frontends/ast/ast.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/frontends/ast/ast.h b/frontends/ast/ast.h
index 12e9a71bc..99760e09c 100644
--- a/frontends/ast/ast.h
+++ b/frontends/ast/ast.h
@@ -174,10 +174,14 @@ namespace AST
void dumpAst(FILE *f, std::string indent, AstNode *other = NULL);
void dumpVlog(FILE *f, std::string indent);
+ // used by genRTLIL() for detecting expression width and sign
+ void detectSignWidthWorker(int &width_hint, bool &sign_hint);
+ void detectSignWidth(int &width_hint, bool &sign_hint);
+
// create RTLIL code for this AST node
// for expressions the resulting signal vector is returned
// all generated cell instances, etc. are written to the RTLIL::Module pointed to by AST_INTERNAL::current_module
- RTLIL::SigSpec genRTLIL(int width_hint = -1);
+ RTLIL::SigSpec genRTLIL(int width_hint = -1, bool sign_hint = false);
RTLIL::SigSpec genWidthRTLIL(int width, RTLIL::SigSpec *subst_from = NULL, RTLIL::SigSpec *subst_to = NULL);
// compare AST nodes