Switch hte -f flag to the -p flag.
This commit is contained in:
parent
2b11f78d63
commit
4e44515078
44
README.txt
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
10
main.cc
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.
|
||||
*
|
||||
|
|
|
|||
Loading…
Reference in New Issue