Stephen Williams
f662d76b2e
Add infrastructure for enabling Verilog-AMS
...
Add the -gverilog-ams flag to the driver, and the begin_keywords support
for VAMS-2.3 keywords. With this, the infrastructure is in place to
start pulling in features from Verilog-AMS.
2008-05-02 16:28:48 -07:00
Stephen Williams
149bfa05d8
Support for the begin_keywords directive.
...
The begin_keywords directive allows the source code to select keyword
subsets so that a bit of code that uses identifiers that class with a
newer version of the standard can still be compiled.
2008-04-30 22:07:09 -07:00
Cary R
c38e8182c2
Add checks that verify an always statement has delay.
...
This patch adds check to determine if an always block has delay
in it or not. If there is no delay a runtime infinite loop will
occur. For the indeterminate case it will print a warning message
if the new -Winfloop flag is given. This flag is not part of the
-Wall check!
2008-04-22 19:53:23 -07:00
Larry Doolittle
63e2aa8d1a
refine man page treatment of -d
...
also renames config file option from scope to scopes,
for consistency with the source code, and adds a
wiki reference to the man page.
2008-02-08 15:30:21 -08:00
Larry Doolittle
d9ac146b8f
Spelling fixes
...
only comments and documentation
some punctuation and capitalization for good measure
Changelogs are purposefully untouched
2008-01-29 20:24:24 -08:00
Larry Doolittle
8ea3b6b0b8
header includes for gcc-4.3 compatibility
...
minimal changes required to build without error
tested with gcc-4.3 (Debian 4.3-20071130-1) 4.3.0 20071130 (experimental)
2008-01-04 16:14:44 -08:00
Stephen Williams
7975e14b5c
LineInfo uses perm_string for path.
...
Rework the handling of file names to use a perm_string heap to hold
the file names, instead of the custom file name heap in the lexor.
Also rename the get_line to get_fileline to reflect its real duties.
This latter chage touched a lot of files.
2007-12-20 12:31:01 -05:00
Cary R
2ea6692833
Make patch for pr1792108 synth aware.
...
This patch makes the behavior selection fro pr1792108 depend on the
synth* functors.
2007-11-07 20:00:51 -08:00
Cary R
b69c4c9a2c
Fix range handling/checking and add a flag to allow deprecated port syntax.
...
This patch is rather large and fixes a couple of problems. The major
change is that instead of keeping all the range specifications in
a list that is later processed the information is now kept as
individual entries for the port and net definitions. This allows
easier checking for multiple definitions (pr1660028), more
detailed error messages and the ability to pass the now deprecated
style of a scalar I/O definition used with a vectored net definition.
These changes did require extra code to prevent a single definition
from setting the range values in more than on place.
When using the new ANSI-C style of port declarations (1364-2001 12.3.4
list_of_port_declarations) the compiler ensures that you do not
redeclare the port in the body (it is already completely defined).
This caught a few errors in the test suite (pr859 and sqrt32*).
The flag to disable the normal port checking and allow the deprecated
port syntax is -gno-io-range-error. This will print a warning for the
case of a scalar port with a vectored definition in the body. All
other cases are still considered an error.
2007-08-29 18:10:18 -07:00
steve
f9c1c02f8d
Add support for -v flag in command file.
2007-04-19 02:52:53 +00:00
steve
f23a5bfa96
Make integer width controllable.
2007-03-07 04:24:59 +00:00
steve
d6be82f748
Support selective control of specify and xtypes features.
2006-09-28 04:35:18 +00:00
steve
fde4ff72f6
Display as version 0.9.devel
2005-07-14 23:38:43 +00:00
steve
75ad90534b
Generalize signals to carry types.
2005-07-07 16:22:49 +00:00
steve
e7f3340513
Remove reference to SystemVerilog.
2005-06-28 04:25:55 +00:00
steve
365cfedd55
Update DFF support to new data flow.
2005-04-24 23:44:01 +00:00
steve
e28636776a
Change case compare from logic to an LPM node.
2005-01-22 01:06:55 +00:00
steve
65e9b6be12
Rework of internals to carry vectors through nexus instead
...
of single bits. Make the ivl, tgt-vvp and vvp initial changes
down this path.
2004-12-11 02:31:25 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
96936456da
Add a debug_elaborate flag
2004-09-25 01:58:44 +00:00
steve
d1dac0017d
Fix the evaluation of constant ternary expressions.
2004-09-10 23:51:42 +00:00
steve
9de786fc44
Add support for module instance arrays.
2004-09-05 17:44:41 +00:00
steve
28719e8584
Add support for system function table files.
2004-03-10 04:51:24 +00:00
steve
27af95d402
Use perm_strings for named langiage items.
2004-02-18 17:11:54 +00:00
steve
c275ef9482
Report elaboration errors without crashing.
2004-02-15 00:19:29 +00:00
steve
cf33bedc2d
Properly initialize vpi_module_list with system.
2003-11-26 01:37:14 +00:00
steve
12033d7bd4
Move the DLL= flag to target config files.
2003-11-13 05:55:33 +00:00
steve
5068e3ea15
Pass flags through the temporary config file.
2003-11-13 04:09:49 +00:00
steve
435f06bd21
ivl -F and -t flags are onpassed throught the -C file.
2003-11-13 03:10:37 +00:00
steve
43f28b53a3
Design::get_flag returns const char* instead of string.
2003-11-10 20:59:03 +00:00
steve
faf33458fd
Accept functors in the config file.
2003-11-01 04:22:30 +00:00
steve
65ae69843b
Improve -V messages,
2003-10-26 22:43:42 +00:00
steve
8c30d217d5
Delete pform when done with it.
2003-09-26 02:17:14 +00:00
steve
39b2928ad8
Summary list of missing modules.
2003-09-25 00:25:14 +00:00
steve
daa85f2479
Pass -m flag from driver via iconfig file.
2003-09-23 05:57:15 +00:00
steve
933f4483b1
Pass more ivl arguments through the iconfig file.
2003-09-22 01:12:08 +00:00
steve
ccf4d4d7da
Module attributes from the parser
...
through to elaborated form.
2003-06-20 00:53:19 +00:00
steve
928cee9dab
Dump design even on errors.
2003-04-24 05:25:27 +00:00
steve
4c67de5ca7
Add the lex_strings string handler, and put
...
scope names and system task/function names
into this table. Also, permallocate event
names from the beginning.
2003-03-01 06:25:30 +00:00
steve
cd572a74ce
Add the portbind warning.
2003-02-22 04:12:49 +00:00
steve
d94b0fe3c8
Terminate if the functors signal errors.
2002-08-18 22:06:29 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
45382144c3
Verbose messages.
2002-07-24 16:21:52 +00:00
steve
9b6b081e38
Add structure for asynchronous logic synthesis.
2002-06-30 02:21:31 +00:00
steve
58c2e12507
Make link_drive_constant cache its results in
...
the Nexus, to improve cprop performance.
2002-06-24 01:49:38 +00:00
steve
28e0616543
Use standard name for iostream.
2002-06-06 18:57:18 +00:00
steve
5aa69516bb
ivl indexes the search path for libraries, and
...
supports case insensitive module-to-file lookup.
2002-05-28 20:40:37 +00:00
steve
d44ff4fd91
Pass library paths through -Cfile instead of command line.
2002-05-28 02:25:03 +00:00
steve
9a4ee873e1
Add the ivl -C flag for bulk configuration
...
from the driver, and use that to run library
modules through the preprocessor.
2002-05-28 00:50:39 +00:00
steve
42674be38b
Support language generation flag -g.
2002-05-24 01:13:00 +00:00
steve
0976fd393b
Do not allow implicit wires in sensitivity lists.
2002-04-22 00:53:39 +00:00
steve
0ab42597d9
Timescale warnings.
2002-04-15 00:04:22 +00:00
steve
284c6fd85d
Add dependency generation.
2002-04-04 05:26:13 +00:00
steve
0be48388c2
Add support for +libext+ in command files.
2001-11-16 05:07:19 +00:00
steve
6466d02eda
Add automatic module libraries.
2001-10-20 23:02:39 +00:00
steve
7a149a6943
Scope/module names are char* instead of string.
2001-10-20 05:21:51 +00:00
steve
d350620315
Support multiple root modules (Philip Blundell)
2001-10-19 21:53:24 +00:00
steve
537757a7b9
Cleanup defines and types for mingw compile.
2001-07-30 02:44:05 +00:00
steve
b825f8d2b2
Create a config.h.in file to hold all the config
...
junk, and support gcc 3.0. (Stephan Boettcher)
2001-07-25 03:10:48 +00:00
steve
e23dd57c9d
Reshuffle -v and -V flags of ivl. (Stephan Boettcher)
2001-07-16 18:14:56 +00:00
steve
039769dbaf
Generate verbuse status messages (Stephan Boettcher)
2001-07-03 04:09:24 +00:00
steve
a76d6dc352
Add the -V flag, and some verbose messages.
2001-07-02 01:57:27 +00:00
steve
0340256b4c
Include stdlib.h
2001-06-23 18:41:02 +00:00
steve
e69a3ed934
declare getopt by hand in mingw32 compile.
2001-05-20 17:34:53 +00:00
steve
4e44515078
Switch hte -f flag to the -p flag.
2001-01-20 19:02:04 +00:00
steve
c86da66b77
Allow sole module to be a root.
2000-11-22 20:48:32 +00:00
steve
7e9a7ed0cb
Version information for vlog_vpi_info.
2000-09-12 01:17:40 +00:00
steve
248baa26e1
Move all file manipulation out of target class.
2000-08-09 03:43:45 +00:00
steve
30a81731dd
Introduce min:typ:max support.
2000-07-29 17:58:20 +00:00
steve
42e4ff47c8
Move inital value handling from NetNet to Nexus
...
objects. This allows better propogation of inital
values.
Clean up constant propagation a bit to account
for regs that are not really values.
2000-07-14 06:12:56 +00:00
steve
3c9902d93e
Use yacc based synthesizer.
2000-05-13 20:55:47 +00:00
steve
e9742c662b
no need for nobufz functor.
2000-05-08 05:29:43 +00:00
steve
f95b082339
More features of ivl available through iverilog.
2000-05-03 22:14:31 +00:00
steve
4493e968da
Finally remove the NetNEvent and NetPEvent classes,
...
Get synthesis working with the NetEvWait class,
and get started supporting multiple events in a
wait in vvm.
2000-04-12 20:02:52 +00:00
steve
48de739506
Switch to control warnings.
2000-03-17 21:50:25 +00:00
steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
ef98be1192
Support for multiple VPI modules.
2000-01-13 05:11:24 +00:00
steve
7033836e01
Remove the now useless sigfold functor.
1999-12-30 17:37:13 +00:00
steve
68a7ce3745
include getopt if present.
1999-11-29 17:02:21 +00:00
steve
9d6392fda9
Turn NetTmp objects into normal local NetNet objects,
...
and add the nodangle functor to clean up the local
symbols generated by elaboration and other steps.
1999-11-18 03:52:19 +00:00
steve
89881adece
Add the synth functor to do generic synthesis
...
and add the LPM_FF device to handle rows of
flip-flops.
1999-11-01 02:07:40 +00:00
steve
0955058fbe
Catch parallel blocks in vvm emit.
1999-09-22 16:57:23 +00:00
steve
5f10342f52
Parse into pform arbitrarily complex module
...
port declarations.
1999-08-03 04:14:49 +00:00
steve
7d876f7735
xnfsyn generates DFF objects for XNF output, and
...
properly rewrites the Design netlist in the process.
1999-07-18 05:52:46 +00:00
steve
9754507eb0
Add the functor interface for functor transforms.
1999-07-17 22:01:13 +00:00
steve
e9f4e01da8
pform even on parse errors.
1999-07-10 23:29:21 +00:00
steve
04592d3c91
Add the -v switch.
1999-06-19 03:46:42 +00:00
steve
332a2d7ff7
Redundant declaration of pform_parse.
1999-06-17 05:33:12 +00:00
steve
d0afc9adee
Get rid of the STL vector template.
1999-06-15 03:44:53 +00:00
steve
10f46dae66
More intelligent selection of module to elaborate.
1999-05-05 03:27:14 +00:00
steve
32b52cbb97
Make debug output file parameters.
1999-04-23 04:34:32 +00:00
steve
a7ad8985ac
Carry some line info to the netlist,
...
Dump line numbers for processes.
Elaborate prints errors about port vector
width mismatch
Emit better handles null statements.
1999-02-01 00:26:48 +00:00
steve
3d2993be0a
Support null target for generating no output.
1999-01-24 01:35:08 +00:00
steve
63a8b4abe2
Function to calculate wire initial value.
1998-12-20 02:05:41 +00:00
steve
45f45f73b7
Support the include directive.
1998-12-09 04:02:47 +00:00
steve
9a73433759
Generate OBUF or IBUF attributes (and the gates
...
to garry them) where a wire is a pad. This involved
figuring out enough of the netlist to know when such
was needed, and to generate new gates and signales
to handle what's missing.
1998-12-07 04:53:16 +00:00
steve
ada45acb0c
Add the nobufz function to eliminate bufz objects,
...
Object links are marked with direction,
constant propagation is more careful will wide links,
Signal folding is aware of attributes, and
the XNF target can dump UDP objects based on LCA
attributes.
1998-12-02 04:37:13 +00:00
steve
e097c999d5
Elaborate UDP devices,
...
Support UDP type attributes, and
pass those attributes to nodes that
are instantiated by elaboration,
Put modules into a map instead of
a simple list.
1998-12-01 00:42:13 +00:00
steve
91aad30e1f
Parse UDP primitives all the way to pform.
1998-11-25 02:35:53 +00:00
steve
ac71df5257
Add -f flags for generic flag key/values.
1998-11-18 04:25:22 +00:00
steve
4661006e4b
Add the sigfold function that unlinks excess
...
signal nodes, and add the XNF target.
1998-11-16 05:03:52 +00:00
steve
3d6d334f80
Introduce netlist optimizations with the
...
cprop function to do constant propogation.
1998-11-13 06:23:17 +00:00
steve
b118634189
Handle procedural conditional, and some
...
of the conditional expressions.
Elaborate signals and identifiers differently,
allowing the netlist to hold signal information.
1998-11-07 17:05:05 +00:00
steve
3fb7a053be
Introduce verilog to CVS.
1998-11-03 23:28:49 +00:00