Stephen Williams
3a61b94e98
Realign generation flags to correspond to IEEE1364 nomenclature.
...
IEEE1364 has specific names for the various generations of Verilog that
are supported. Icarus Verilog should stick to those names for selection
the language feature set.
In the process, the extensions that were tied to the 2x generations
are pulled out out and given their own enable flags. The makes all the
feature control more regular and understandable.
2008-05-07 17:46:56 -07:00
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
785aad94c5
Ignore a few more compiler directives.
...
This patch adds `default_decay_time, `default_trireg_strength,
`delay_mode_zero and `line as ignored compiler directives.
2008-04-27 21:18:21 -07:00
Cary R
b5b5a9935c
Fix malloc/free and new/delete problems, plus some initializations.
...
This patch fixes some allocation problems (mostly in the parser
and lexor relating to identifiers). It also fixes a couple places
where uninitialized variables were used. All found with valgrind.
There are still 100 tests that have problems. Many of these appear
to be related.
2008-03-27 20:58:16 -07:00
Larry Doolittle
39dd22ace4
Adjust unusual spacing
...
minimal changes, nearly eliminates oddball/inconsistent
source code use of whitespace
2008-02-19 09:15:03 -08:00
Larry Doolittle
17cc661336
Squelch useless flex-induced warning messages
...
tested in a gcc-4.2.2 flex-2.5.33 environment
2008-01-04 15:54:03 -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
676695c78f
Check for extra digits in sized binary, octal and hex constants.
...
Print out a warning if extra digits are given for sized binary, octal
or hex constants. Decimal constants are very hard since we never
calculate the true number of bits the digits represent, so for now
decimal constants are not checked.
2007-10-18 10:12:20 -07:00
Cary R
2e12dee658
Decimal constants can be undefined or high-z.
...
Add the ability for decimal constants to undefined or high-z.
2007-09-17 10:28:52 -07:00
steve
87e813766a
Detect and ignore specify edge expressions
2007-06-14 03:50:00 +00:00
steve
f9c1c02f8d
Add support for -v flag in command file.
2007-04-19 02:52:53 +00:00
steve
97234cb7ca
Lexor handle escaped slash in strings.
2007-02-09 05:19:04 +00:00
steve
2de8bafb5c
Fix padding of x when literal is sized and unsigned.
2007-01-27 05:36:11 +00:00
steve
49b65e86fe
Add support for power in constant expressions.
2006-07-31 03:50:17 +00:00
steve
f0e114d59f
Lexor os never interactive.
2006-05-17 04:15:12 +00:00
steve
3e45f4302b
Be more accepting of the protect directive.
2006-03-30 05:44:36 +00:00
steve
fa6e4a69a6
Parse more cases of (*).
2006-02-02 05:21:45 +00:00
steve
c946f27d9b
Add b0 and b1 edges to parser.
2005-09-14 15:01:07 +00:00
steve
75ad90534b
Generalize signals to carry types.
2005-07-07 16:22:49 +00:00
steve
9949040285
Add support for the default_nettype directive.
2004-06-13 04:56:53 +00:00
steve
fdb5731b8b
Add $recrem to specify syntax.
2003-08-31 21:14:28 +00:00
steve
7c1401a2ba
Spelling patch.
2003-08-28 04:11:17 +00:00
steve
14150d6fba
ifdef idents correctly.
2003-08-26 16:26:01 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
b544b319fa
Handle special case of (*).
2003-06-17 04:23:25 +00:00
steve
2f241ae95b
Handle B and b in binary constants.
2003-06-11 01:58:21 +00:00
steve
577554cca5
Better error message for stray characters.
2003-05-28 04:21:12 +00:00
steve
561a268c9c
Break sized constants into a size token
...
and a based numeric constant.
2003-04-14 03:37:47 +00:00
steve
20c0d8f3ba
Add bx support for udps.
2003-03-18 01:36:14 +00:00
steve
b0f7c33ab1
Fix missing return from decimal parse.
2003-02-02 18:58:36 +00:00
steve
46253ed873
Rework expression parsing and elaboration to
...
accommodate real/realtime values and expressions.
2003-01-26 21:15:58 +00:00
steve
88da7804c4
Improve the bad character error message.
2002-12-04 02:07:00 +00:00
steve
28e0616543
Use standard name for iostream.
2002-06-06 18:57:18 +00:00
steve
e6c0629626
Add language support for Verilog-2001 attribute
...
syntax. Hook this support into existing $attribute
handling, and add number and void value types.
Add to the ivl_target API new functions for access
of complex attributes attached to gates.
2002-05-23 03:08:50 +00:00
steve
0ab42597d9
Timescale warnings.
2002-04-15 00:04:22 +00:00
steve
95ccc1e904
lexor support for huge decimal numbers.
2002-04-14 21:42:01 +00:00
steve
ba8465abd2
Support pragma comments.
2002-02-15 05:20:58 +00:00
steve
989e9d4d94
Newline can terminate escaped names.
2001-12-29 19:00:13 +00:00
steve
ab6c8cb4b8
Parser and pform use hierarchical names as hname_t
...
objects instead of encoded strings.
2001-12-03 04:47:14 +00:00
steve
0c4bea473c
Parse specparam parsepulse assignments.
2001-11-06 02:52:19 +00:00
steve
40e7bc2450
line number in line directive is for the *next* line.
2001-10-30 21:46:56 +00:00
steve
6466d02eda
Add automatic module libraries.
2001-10-20 23:02:39 +00:00
steve
e933b56507
extend xz from the top character, not the second-from-top.
2001-09-08 01:22:55 +00:00
steve
47031767fa
Parse $setuphold statements.
2001-08-31 17:38:41 +00:00
steve
271a835305
Bind escaped names with non-escaped equivilents. (PR#256)
2001-08-30 22:40:12 +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
7eab75ded1
Parse a lot more specify syntax.
2001-07-01 23:44:43 +00:00
steve
e40efec4bd
Add more UDP edge types, and finish up compile
...
and run-time support. (Stephan Boettcher)
2001-06-18 00:51:23 +00:00
steve
35e0dcdd3d
More robust parsing of compiler directives.
2001-04-28 18:43:18 +00:00
steve
32e9c8049a
Spurious declaration
2001-04-26 16:12:48 +00:00
steve
57d1bfaf29
Add 0? and 1? patterns to UDP syntax. (PR#137)
2001-02-07 01:08:21 +00:00
steve
36a1b37789
Fix truncated octal constants (PR#76)
2000-12-12 06:13:44 +00:00
steve
ef49fc127f
Change LineInfo to store const C strings.
2000-11-30 17:31:42 +00:00
steve
d7788b88b7
Modifications in support of gcc 2.96
2000-11-04 01:54:01 +00:00
steve
bb9eb2cd1d
Fix decimal constant overflow warning (PR#26)
2000-10-22 22:27:59 +00:00
steve
7ee46bc621
More sophisticated number length warning.
2000-10-14 16:48:59 +00:00
steve
368e5b72be
bit width warnings from Jim Norris (PR#24)
2000-10-14 04:07:54 +00:00
steve
06f5482631
Skip the o radix in octal numbers.
2000-10-14 01:31:30 +00:00
steve
eb93e3d2f5
Treat CR as white space in timespec lines.
2000-08-01 02:14:34 +00:00
steve
286cef19fb
Parse and elaborate timescale to scopes.
2000-07-22 22:09:03 +00:00
steve
62d83e962a
properly match unconnected_drive directive. (Wen-jung Tseng)
2000-06-27 04:36:29 +00:00
steve
6eef54595f
Support localparam.
2000-03-12 17:09:40 +00:00
steve
7b5b5c2f39
Handle mixed case in UDP edges.
2000-03-05 06:14:10 +00:00
steve
b734ecf02f
Macintosh compilers do not support ident.
2000-02-23 02:56:53 +00:00
steve
d6f53b2582
Initial support for signed constants.
2000-01-07 03:45:49 +00:00
steve
5ce35e3e60
Fix event trigger and repeat control parse errors.
1999-12-31 03:24:30 +00:00
steve
98a57f4fac
Handle blanks after b is binary numbers
1999-12-16 01:20:17 +00:00
steve
3a69ab8934
support line directives with the line keyword.
1999-11-23 02:49:04 +00:00
steve
16f7268729
notice d and D in numbers.
1999-11-17 00:50:06 +00:00
steve
0c1c826410
Accept white after . in portname tokens.
1999-09-30 04:51:14 +00:00
steve
0c7722ce7e
Hashed keyword lookup for the lexor.
1999-09-29 01:50:35 +00:00
steve
6847dac5c2
fix parsing of sized octal digits.
1999-09-13 03:08:52 +00:00
steve
cfb27a1fc4
Get bits of odd sized hex representation.
1999-07-17 18:25:38 +00:00
steve
5f86263518
handle unsupported directives.
1999-07-11 17:15:16 +00:00
steve
46df679fc5
remove string from lexical phase.
1999-07-10 01:03:18 +00:00
steve
a5edb959bb
support the question chracter in numbers.
1999-07-08 02:06:39 +00:00
steve
db07d18bcb
Numbers patch for Xx and Zz. (Stefan Thiede)
1999-07-07 00:24:42 +00:00
steve
4939e9fe61
Support line directives from the preprocessor.
1999-07-03 21:27:22 +00:00
steve
38148ba322
Handle comments in various start states.
1999-06-22 03:59:37 +00:00
steve
ddef533089
line comments not inside strings or c comments.
1999-06-22 03:46:08 +00:00
steve
c01399fcda
Parse some more specify syntax.
1999-06-19 03:21:21 +00:00
steve
add2803267
More syntax parse with sorry stubs.
1999-06-16 03:13:29 +00:00
steve
430d7b22e4
Add lexical support for real numbers.
1999-06-15 02:50:02 +00:00
steve
bcbd2abb8d
Handle white space in numbers.
1999-06-14 03:15:14 +00:00
steve
0d210c90e5
More unary operators.
1999-06-13 17:30:23 +00:00
steve
7000a56845
hex numbers exactly 4 bits.
1999-06-12 23:16:08 +00:00
steve
29da349106
parse more verilog.
1999-06-12 20:35:27 +00:00
steve
ae21b93af1
Fix handling of unsized decimal numbers.
1999-06-12 03:41:30 +00:00
steve
2f69505953
integer size independent of host.
1999-06-06 23:08:00 +00:00
steve
7addc608a6
Make compiler width a compile time constant.
1999-06-06 20:42:48 +00:00
steve
10ffaeda90
Redo constant expression detection to happen
...
after parsing.
Parse more operators and expressions.
1999-05-16 05:08:42 +00:00
steve
c677afd8e3
More precise handling of verinum bit lengths.
1999-05-13 04:02:09 +00:00
steve
6625ea71c2
Parse more things.
1999-05-08 20:19:20 +00:00
steve
b2b9097488
Parse more constant expressions.
1999-05-06 04:09:28 +00:00
steve
bd40e5dfe1
Support sized decimal numbers,
...
Fix operator precedence order.
1999-03-16 04:44:45 +00:00
steve
b7f833dd71
Support more operators, especially logical.
1999-03-15 02:43:32 +00:00
steve
e2a37a8ccd
Add support for module parameters.
1999-02-21 17:01:57 +00:00
steve
3f4d5bf376
Fix off-by-one placement of hex bytes in a number.
1999-02-15 05:52:08 +00:00
steve
2c1df3e6f7
Parse more UDP input edge descriptions.
1998-12-18 05:16:25 +00:00