Permalink
Browse files

Use yacc based synthesizer.

  • Loading branch information...
steve
steve committed May 13, 2000
1 parent e5511fd commit 3c9902d93e431c987cb407d96d0ff3045b6ad2f9
Showing with 382 additions and 252 deletions.
  1. +1 −0 .cvsignore
  2. +5 −2 Makefile.in
  3. +6 −3 iverilog.c
  4. +6 −1 main.cc
  5. +350 −0 syn-rules.y
  6. +14 −246 synth.cc
View
@@ -2,6 +2,7 @@ lexor_keyword.cc
parse.h
parse.cc
parse.cc.output
+syn-rules.cc
lexor.cc
ivl
dep
View
@@ -18,7 +18,7 @@
# 59 Temple Place - Suite 330
# Boston, MA 02111-1307, USA
#
-#ident "$Id: Makefile.in,v 1.54 2000/05/12 05:23:15 steve Exp $"
+#ident "$Id: Makefile.in,v 1.55 2000/05/13 20:55:47 steve Exp $"
#
#
SHELL = /bin/sh
@@ -67,7 +67,7 @@ distclean: clean
rm -f Makefile
TT = t-null.o t-verilog.o t-vvm.o t-xnf.o
-FF = nodangle.o propinit.o synth.o xnfio.o
+FF = nodangle.o propinit.o synth.o syn-rules.o xnfio.o
O = main.o cprop.o design_dump.o dup_expr.o elaborate.o elab_expr.o \
elab_net.o elab_pexpr.o elab_scope.o elab_sig.o emit.o eval.o eval_tree.o \
@@ -119,6 +119,9 @@ parse.h parse.cc: $(srcdir)/parse.y
bison --verbose -t -p VL -d $(srcdir)/parse.y -o parse.cc
mv parse.cc.h parse.h
+syn-rules.cc: $(srcdir)/syn-rules.y
+ bison --verbose -p syn_ -o syn-rules.cc $(srcdir)/syn-rules.y
+
lexor.cc: $(srcdir)/lexor.lex
flex -PVL -s -olexor.cc $(srcdir)/lexor.lex
View
@@ -17,7 +17,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT)
-#ident "$Id: iverilog.c,v 1.12 2000/05/09 00:02:13 steve Exp $"
+#ident "$Id: iverilog.c,v 1.13 2000/05/13 20:55:47 steve Exp $"
#endif
#include <stdio.h>
@@ -96,7 +96,7 @@ static int t_vvm(char*cmd, unsigned ncmd)
sprintf(tmp, " | %s/ivl %s -o %s.cc -tvvm -Fcprop %s -Fnodangle"
" -fVPI_MODULE_PATH=%s", base, warning_flags, opath,
- synth_flag?"-Fsynth":"", base);
+ synth_flag?"-Fsynth -Fsyn-rules":"", base);
rc = strlen(tmp);
cmd = realloc(cmd, ncmd+rc+1);
@@ -155,7 +155,7 @@ static int t_xnf(char*cmd, unsigned ncmd)
{
int rc;
- sprintf(tmp, " | %s/ivl %s -o %s -txnf -Fcprop -Fsynth "
+ sprintf(tmp, " | %s/ivl %s -o %s -txnf -Fcprop -Fsynth -Fsyn-rules "
"-Fnodangle -Fxnfio", base, warning_flags, opath);
rc = strlen(tmp);
@@ -355,6 +355,9 @@ int main(int argc, char **argv)
/*
* $Log: iverilog.c,v $
+ * Revision 1.13 2000/05/13 20:55:47 steve
+ * Use yacc based synthesizer.
+ *
* Revision 1.12 2000/05/09 00:02:13 steve
* Parameterize LD lib in C++ command line.
*
View
@@ -19,7 +19,7 @@ const char COPYRIGHT[] =
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT) && !defined(macintosh)
-#ident "$Id: main.cc,v 1.33 2000/05/08 05:29:43 steve Exp $"
+#ident "$Id: main.cc,v 1.34 2000/05/13 20:55:47 steve Exp $"
#endif
const char NOTICE[] =
@@ -89,6 +89,7 @@ extern Design* elaborate(const map<string,Module*>&modules,
extern void cprop(Design*des);
extern void propinit(Design*des);
extern void synth(Design*des);
+extern void syn_rules(Design*des);
extern void nodangle(Design*des);
extern void xnfio(Design*des);
@@ -101,6 +102,7 @@ static struct net_func_map {
{ "nodangle",&nodangle },
{ "propinit",&propinit },
{ "synth", &synth },
+ { "syn-rules", &syn_rules },
{ "xnfio", &xnfio },
{ 0, 0 }
};
@@ -303,6 +305,9 @@ int main(int argc, char*argv[])
/*
* $Log: main.cc,v $
+ * Revision 1.34 2000/05/13 20:55:47 steve
+ * Use yacc based synthesizer.
+ *
* Revision 1.33 2000/05/08 05:29:43 steve
* no need for nobufz functor.
*
Oops, something went wrong.

0 comments on commit 3c9902d

Please sign in to comment.