Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Switch hte -f flag to the -p flag.

  • Loading branch information...
commit 4e445150782e5ce94e3ba0f54244721455d25768 1 parent 2b11f78
steve authored
View
44 README.txt
@@ -43,7 +43,7 @@ on a UNIX-like system:
recent gcc compilers with the associated libstdc++ are known
to work. MSVC++ 5 and 6 are known to definitely *not* work.
- - bison
+ - bison and flex
- gperf 2.7
The lexical analyzer doesn't recognize keywords directly,
@@ -223,17 +223,6 @@ Usage: ivl <options>... file
The function is specified by name. Use the "ivl -h" command to
get a list of configured function names.
--f <assign>
- Use this flag to set a parameter value. The format of the
- assignment is <key>=<value> where key is any string up to the
- first '=', and <value> is the rest of the option. If the '='
- is omitted, then the key is assigned the empty string.
-
- The useful keys are defined by the functions and the target in
- use. These assignments are specifically useful for passing
- target specific information to the target back-end, or
- options/parameters to optimization functions, if any are defined.
-
-m <module>
Cause a named VPI module to be included in the module
list. This parameter appends the named module to the end of
@@ -263,6 +252,17 @@ Usage: ivl <options>... file
parsing and before elaboration. This is an aid for debugging
the compiler.
+-p <assign>
+ Use this flag to set a parameter value. The format of the
+ assignment is <key>=<value> where key is any string up to the
+ first '=', and <value> is the rest of the option. If the '='
+ is omitted, then the key is assigned the empty string.
+
+ The useful keys are defined by the functions and the target in
+ use. These assignments are specifically useful for passing
+ target specific information to the target back-end, or
+ options/parameters to optimization functions, if any are defined.
+
-s <module>
Normally, ivl will elaborate the only module in the source
file. If there are multiple modules, use this option to select
@@ -320,7 +320,9 @@ Icarus Verilog is in development - as such it still only supports a
(growing) subset of Verilog. Below is a description of some of the
currently unsupported verilog features. This list is not exhaustive,
and does not account for errors in the compiler. See the Icarus
-Verilog web page for the current state of support for Verilog.
+Verilog web page for the current state of support for Verilog, and in
+particular, browse the bug report database for reported unsupported
+constructs.
- block disable not supported, i.e.:
@@ -335,7 +337,9 @@ Verilog web page for the current state of support for Verilog.
assign foo = user_function(a,b); // sorry
always @(a or b) foo = user_function(a,b); // OK
- - real data types not supported. This includes real and realtime.
+ - real data types not supported. This includes real and
+ realtime. However, floating point constants in delay expressions
+ are supported so that `timescale works properly.
- System functions are supported, but the compiler presumes that
they return 32 bits. This is the typical case.
@@ -349,9 +353,9 @@ Verilog web page for the current state of support for Verilog.
Except where otherwise noted, Icarus Verilog, ivl and ivlpp are
Copyright Stephen Williams. The proper notices are in the head of each
-file. However, I have received aid in the form of fixes, Verilog
-guidance, and especially testing from many people, including (in
-alphabetical order):
+file. However, I have early on received aid in the form of fixes,
+Verilog guidance, and especially testing from many people, including
+(in alphabetical order):
Eric Aardoom <eric_aardoom@yahoo.com>
Stephan I. Boettcher <stephan@nevis.columbia.edu>
@@ -380,7 +384,7 @@ for collecting and organizing the test suite code for all those testers.
This is a list of people who have created ports and precompiled
packages for various operating systems. These folks have graciously
taken on the task of building Icarus Verilog on their systems and
-bundled it into neat packages.(*) If you want to be added to the list (or
+bundled it into neat packages.(+) If you want to be added to the list (or
removed from the list) send e-mail to me.
FreeBSD/{Intel,alpha}
@@ -396,7 +400,7 @@ removed from the list) send e-mail to me.
Yasuhisa Kato <ykato@mac.com>
NetBSD/*
- Dan <mcmahill@mtl.mit.edu>
+ Dan McMahill <mcmahill@mtl.mit.edu>
Solaris/SPARC packages (.pkg)
Dan McMahill <mcmahill@mtl.mit.edu>
@@ -404,7 +408,7 @@ removed from the list) send e-mail to me.
Cygwin32/*
Venkat Iyer <venkat@comit.com>
-(*) These are not the only systems where Icarus Verilog has been run,
+(+) These are not the only systems where Icarus Verilog has been run,
just the systems where precompiled binaries are publicly available.
6.2 TEST SUITE MANAGER
View
16 driver/iverilog.man
@@ -1,10 +1,10 @@
-.TH iverilog 1 "$Date: 2001/01/05 05:16:03 $" Version "$Date: 2001/01/05 05:16:03 $"
+.TH iverilog 1 "$Date: 2001/01/20 19:02:05 $" Version "$Date: 2001/01/20 19:02:05 $"
.SH NAME
iverilog - Icarus Verilog compiler
.SH SYNOPSIS
.B iverilog
-[-ESv] [-Cpath] [-ccmdfile] [-Dmacro[=defn]] [-fflag=value] [-Iincludepath] [-mmodule] [-Nfile] [-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] sourcefile
+[-ESv] [-Cpath] [-ccmdfile] [-Dmacro[=defn]] [-pflag=value] [-Iincludepath] [-mmodule] [-Nfile] [-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] sourcefile
.SH DESCRIPTION
.PP
@@ -55,12 +55,6 @@ is the Verilog input, but with file inclusions and macro references
expanded and removed. This is useful, for example, to preprocess
verilog source for use by other compilers.
.TP 8
-.B -f\fIflag=value\fP
-Assign a value to a target specific flag. The \fB-f\fP switch may be
-used as often as necessary to specify all the desired flags. The flags
-that are used depend on the target that is selected, and are described
-in target specific documentation. Flags that are not used are ignored.
-.TP 8
.B -I\fIincludedir\fP
Append directory \fIincludepdir\fP to list of directoriess searched
for Verilog include files. The \fB-I\fP switch may be used many times
@@ -82,6 +76,12 @@ elaborated and optimized.
Place output in the file \fIfilename\fP. If no output file name is
specified, \fIiverilog\fP uses the default name \fBa.out\fP.
.TP 8
+.B -p\fIflag=value\fP
+Assign a value to a target specific flag. The \fB-p\fP switch may be
+used as often as necessary to specify all the desired flags. The flags
+that are used depend on the target that is selected, and are described
+in target specific documentation. Flags that are not used are ignored.
+.TP 8
.B -S
Synthesize. Normally, if the target can accept behavioral
descriptions the compiler will leave processes in behavioral
View
17 driver/main.c
@@ -17,12 +17,12 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#if !defined(WINNT)
-#ident "$Id: main.c,v 1.6 2001/01/20 02:15:51 steve Exp $"
+#ident "$Id: main.c,v 1.7 2001/01/20 19:02:05 steve Exp $"
#endif
const char HELP[] =
"Usage: iverilog [-ESv] [-c <path>] [-Dmacro[=defn]]
- [-f flag=value] [-I<dir>] [-m module]
+ [-p flag=value] [-I<dir>] [-m module]
[-o <output>] [-s top_module] [-t<type>]
[-W class] source_file(s)
See man page for details.";
@@ -296,15 +296,17 @@ int main(int argc, char **argv)
e_flag = 1;
break;
case 'f':
+ fprintf(stderr, "warning: The -f flag is moved to -p\n");
+ case 'p':
if (f_list == 0) {
- f_list = malloc(strlen(" -f")+strlen(optarg)+1);
- strcpy(f_list, " -f");
+ f_list = malloc(strlen(" -p")+strlen(optarg)+1);
+ strcpy(f_list, " -p");
strcat(f_list, optarg);
} else {
f_list = realloc(f_list, strlen(f_list) +
- strlen(" -f") +
+ strlen(" -p") +
strlen(optarg) + 1);
- strcat(f_list, " -f");
+ strcat(f_list, " -p");
strcat(f_list, optarg);
}
break;
@@ -518,6 +520,9 @@ int main(int argc, char **argv)
/*
* $Log: main.c,v $
+ * Revision 1.7 2001/01/20 19:02:05 steve
+ * Switch hte -f flag to the -p flag.
+ *
* Revision 1.6 2001/01/20 02:15:51 steve
* apologize for not supporting non-constant delays.
*
View
2  examples/xnf_add.vl
@@ -25,7 +25,7 @@
*
* To compile this for XNF, try a command like this:
*
- * iverilog -txnf -fpart=XC4010XLPQ160 -fncf=xnf_add.ncf -oxnf_add.xnf xnf_add.v
+ * iverilog -txnf -ppart=XC4010XLPQ160 -pncf=xnf_add.ncf -oxnf_add.xnf xnf_add.v
*
* That command causes an xnf_add.xnf and xnf_add.ncf file to be created.
* Next, Use Xilinx Alliance or Foundation tools to make the xnf_add.ngd
View
10 main.cc
@@ -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.39 2000/11/22 20:48:32 steve Exp $"
+#ident "$Id: main.cc,v 1.40 2001/01/20 19:02:05 steve Exp $"
#endif
const char NOTICE[] =
@@ -130,7 +130,7 @@ int main(int argc, char*argv[])
min_typ_max_flag = TYP;
min_typ_max_warn = 10;
- while ((opt = getopt(argc, argv, "F:f:hm:N:o:P:s:T:t:vW:")) != EOF) switch (opt) {
+ while ((opt = getopt(argc, argv, "F:f:hm:N:o:P:p:s:T:t:vW:")) != EOF) switch (opt) {
case 'F': {
net_func tmp = name_to_net_func(optarg);
if (tmp == 0) {
@@ -160,6 +160,9 @@ int main(int argc, char*argv[])
case 'P':
pf_path = optarg;
break;
+ case 'p':
+ parm_to_flagmap(optarg);
+ break;
case 's':
start_module = optarg;
break;
@@ -327,6 +330,9 @@ int main(int argc, char*argv[])
/*
* $Log: main.cc,v $
+ * Revision 1.40 2001/01/20 19:02:05 steve
+ * Switch hte -f flag to the -p flag.
+ *
* Revision 1.39 2000/11/22 20:48:32 steve
* Allow sole module to be a root.
*
Please sign in to comment.
Something went wrong with that request. Please try again.