Commit Graph

118 Commits

Author SHA1 Message Date
Wilson Snyder
5a9309de78 DPI import: Allow system calls to call imports 2009-12-04 07:05:44 -05:00
Wilson Snyder
a40fae04ce Support direct programming interface (DPI) "import". 2009-12-03 06:55:29 -05:00
Wilson Snyder
d2a27a84cf Support chandle 2009-11-24 09:11:25 -05:00
Wilson Snyder
c7d8eb126f Support and . 2009-11-23 21:24:55 -05:00
Wilson Snyder
d608fd77b9 Fix initialization of 2 state vars to zero 2009-11-23 19:08:25 -05:00
Wilson Snyder
19d62b7a68 Support 'time'. 2009-11-19 10:45:59 -05:00
Wilson Snyder
8e6846d9da Internals: Remove AstVar methods in preference of going via dtype 2009-11-15 08:52:19 -05:00
Wilson Snyder
68567e763c Support "package" and $unit.
Add VARHIDDEN warning when signal name hides module name.
2009-11-07 21:05:02 -05:00
Wilson Snyder
bc2d3a13f4 Internals: Detect user4 misuse 2009-11-07 18:03:23 -05:00
Wilson Snyder
e0bca07e06 Internals: Create AstNodeModule in prep for packages 2009-11-07 06:20:20 -05:00
Wilson Snyder
377f194837 Support typedef 2009-11-06 23:16:06 -05:00
Wilson Snyder
700c1f836d Internals: Move array definitions to AstArrayDType instead of under AstVars.
Prep work for more complicated data types.
2009-11-04 22:31:53 -05:00
Wilson Snyder
f59467b897 Support void functions.
Fix "int" etc added in wrong keyword section in last commit.
2009-11-02 22:50:31 -05:00
Wilson Snyder
6bc81d3d26 Support byte, shortint, int, longint in variables, parameters and functions.
Internals: function/var sizing and signing now comes via dtypep()
Internals: cleanup code that widths parameters (again)
2009-11-02 22:14:11 -05:00
Wilson Snyder
4c26792c9b Internals: Create data types and attach to AstVars, in prep for typedefs.
Added AstNodeDType and AstBasicDType and associated enums.
2009-11-02 08:06:04 -05:00
Wilson Snyder
f7efae93d5 Internals: Clean up the main flex/bison files to have some sanity.
(Hopefully) no functional change.
	. V3Parse.h		External consumer interface to V3ParseImp
	. V3ParseImp		Internals to parser, common to across flex & bison
	... V3ParseGrammar	Wrapper that includes V3ParseBison
	..... V3ParseBison	Bison output
	... V3ParseLex		Wrapper that includes lex output
	..... V3Lexer.yy.cpp	Flex output
2009-10-31 10:08:38 -04:00
Wilson Snyder
39444d83c5 Support little endian bit vectors ("reg [0:2] x;"). 2009-10-25 16:53:55 -04:00
Wilson Snyder
b4d3806f10 Fix carriage-returns embedded in display formats
Internals: Store all AstDisplay etc strings in un-backslashed raw format.
2009-10-22 21:29:18 -04:00
Wilson Snyder
64b57fa907 Internals: Commentary and new select tests for future merge-in. No functional change. 2009-10-15 21:47:15 -04:00
Wilson Snyder
dd4059beb8 Internals: Rework V3Param, V3Width and V3Const to return a AstNode* representing
any replacement edit they made to the passed in node.  Assure all callers use it
and/or comment on non-use.  Hopefully no function changed.
2009-10-14 20:13:04 -04:00
Wilson Snyder
ceb2f6894f Fix writing to out-of-bounds arrays writing element 0. 2009-10-08 20:42:45 -04:00
Wilson Snyder
db5674cb08 Fix VCD files showing internal flattened hierarchy, broke in 3.714. 2009-09-26 09:31:50 -04:00
Wilson Snyder
66d000f4ba Repair new AstConst::Unsigned32 constructor 2009-09-26 06:43:06 -04:00
Wilson Snyder
2c3c990019 Move swap to V3Ast, and tell which AstUser*InUse fails assertions 2009-09-23 23:10:46 -04:00
Wilson Snyder
59b491e3a8 Allow renaming C keywords 2009-07-22 15:21:41 -04:00
Wilson Snyder
c44febe85e Remove ; from end of some function definitions. No functional change 2009-07-22 14:38:20 -04:00
Wilson Snyder
aeeaaa53d4 Support constant function calls for parameters. 2009-07-17 14:13:11 -04:00
Wilson Snyder
6835aecdce On WIDTH warnings, show variable name causing error. 2009-07-09 17:39:24 -04:00
Wilson Snyder
4569278c53 Reconsile parser with Verilog-Perl version, to enable more SV features 2009-05-07 18:28:05 -04:00
Wilson Snyder
7df730cedd Verilator is now licensed under LGPL v3 and/or Artistic v2.0. 2009-05-04 17:07:57 -04:00
Wilson Snyder
59159b4811 Clock gating optimization, currently disabled. Merge from branch 2009-01-07 09:37:59 -05:00
Wilson Snyder
3d06720628 Copyright year update 2009-01-02 11:47:39 -05:00
Wilson Snyder
77405ddded Add toggle coverage 2008-12-12 15:34:02 -05:00
Wilson Snyder
6b46da0240 Create /*verilator coverage_on/off*/ instead of coverage_module_off.
This allows finer grained bracketing of sections of interest.
Convert tracing_on/off to use the same general scheme.
2008-12-11 16:01:41 -05:00
Wilson Snyder
0fed1d34d1 Add /*verilator coverage_module_off*/ 2008-12-10 17:10:03 -05:00
Wilson Snyder
5bdb8674ed Internals: Rename AstNode::userp to user1p for easier searching
and to disambiguate from the vertex/edge-> userp.
2008-11-25 09:03:49 -05:00
Wilson Snyder
5563c9666c Internals: Smaller AstNode to save space/time 2008-11-25 08:10:41 -05:00
Wilson Snyder
30ad20be52 Internals: Eliminate user5 for smaller AstNode/better runtime 2008-11-25 07:57:02 -05:00
Wilson Snyder
b07dd622fa Commentary: Debugging and some astgen code cleanup.
No functional change.
2008-11-22 17:37:20 -05:00
Wilson Snyder
a242c1019d Internal speedups: Skip iterator for Termop or VarRefs.
Fix AstUCFunc being mis-labeled as a Termop.
2008-11-22 15:28:29 -05:00
Wilson Snyder
c595d67311 Speed up Verilator itself by prefetching pointer-chase 2008-11-22 14:59:22 -05:00
Wilson Snyder
8b77379e2c Internal coding: Assert that user#() don't overlap.
Any use of a user() must now be declared, generally in the Visitor class with
    AstUser#InUse   arbitrary_object
This lets the code track if there's another request for the same user(),
preventing nasty hard to debug cases where they overlap.  This will also
call user#ClearTree(), so a bunch of those were removed, though many
extranious ones still remain.
2008-11-21 15:50:33 -05:00
Wilson Snyder
14756fa131 Internals: Make graph sorting usable in other visitors, in prep for future
changes.  No functional change.
2008-11-20 09:04:29 -05:00
Wilson Snyder
ddbfc176b6 Internals: Create AstNodeSelItem in prep for future commits.
No real functional change, outside of minor debug dump differences.
2008-11-20 07:55:54 -05:00
Wilson Snyder
ab668b066f Internal cleanup: no functional change.
Add cloneTree to each node type so cast not required after use.
Standardize declaring common AstNode functions via a macro.
2008-11-19 20:15:05 -05:00
Wilson Snyder
13f6c5a934 Fix --output-split-cfuncs to also split trace code. 2008-11-17 17:13:57 -05:00
Wilson Snyder
5f70c1aa68 Add debug dumps of V3Hash state 2008-11-16 20:39:49 -05:00
Wilson Snyder
3b1929259a Support negative bit indexes.
Allow arbitrary characters in symbols (to make '-' work.)
Final merge from negative_lsb branch.
2008-10-06 09:59:22 -04:00
Wilson Snyder
9e5fb5467f Add CASEZWITHX lint warning and if disabled fix handling of casez with Xs. 2008-07-22 13:07:19 -04:00
Wilson Snyder
5771ea48ef Fix IMPURE errors due to X-assignment temporary variables. 2008-07-14 10:42:58 -04:00
Wilson Snyder
09b7ba1317 Internal rework, no functionality change.
Rework V3EmitC to use a little template language for code to output,
similar to emitVerilog() functions.  Change all emitOperator() to
emitC(), elimate emitWordForm().
2008-06-29 20:02:24 -04:00
Wilson Snyder
52912c6329 Convert repository to git from svn.
- Change .cvsignore to .gitignore
- Remove Id metacomments
- Cleanup whitespace at end of lines
2008-06-09 21:25:10 -04:00
Wilson Snyder
8e812058cb Change website references to veripool.org
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1039 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-04-25 12:14:27 +00:00
Wilson Snyder
4a1729eaab Allow __ in cell names by quoting them in C.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1003 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-03-20 01:16:33 +00:00
Wilson Snyder
a2ffe86a36 Copyright update
git-svn-id: file://localhost/svn/verilator/trunk/verilator@976 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-01-15 14:29:08 +00:00
Wilson Snyder
98e35b02ad Leak repairs and node leak detection
git-svn-id: file://localhost/svn/verilator/trunk/verilator@967 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-11-02 11:23:03 +00:00
Wilson Snyder
bb9ae89049 Version bump
git-svn-id: file://localhost/svn/verilator/trunk/verilator@928 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-05-22 12:15:01 +00:00
Wilson Snyder
79ab50d84f Support trivial SV assertions
git-svn-id: file://localhost/svn/verilator/trunk/verilator@898 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-03-06 21:43:38 +00:00
Wilson Snyder
5dbae27f01 Fix 's with array select followed by wide AND. [David Hewson]
git-svn-id: file://localhost/svn/verilator/trunk/verilator@882 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-31 15:44:36 +00:00
Wilson Snyder
b5b1d94d4a Copyright date update
git-svn-id: file://localhost/svn/verilator/trunk/verilator@864 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-02 22:06:40 +00:00
Wilson Snyder
5a65f6debb Support [#] in dotted cell names
git-svn-id: file://localhost/svn/verilator/trunk/verilator@863 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-22 15:06:13 +00:00
Wilson Snyder
58b1ad1439 Rework parser and add V3LinkParse so we can handle foo[#].foo[#].foo[#:#] etc
git-svn-id: file://localhost/svn/verilator/trunk/verilator@862 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-21 21:53:51 +00:00
Wilson Snyder
3b554f4c5b Rename config.h to config_build.h, and add cross compile notes.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@842 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-18 19:20:45 +00:00
Wilson Snyder
3ad5872d30 Add verilator no_inline_task
git-svn-id: file://localhost/svn/verilator/trunk/verilator@816 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-10-11 15:41:42 +00:00
Wilson Snyder
e471a34323 Add maybePointedTo to v3Broken for better and faster checks
git-svn-id: file://localhost/svn/verilator/trunk/verilator@809 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-10-05 00:45:39 +00:00
Wilson Snyder
a4db880809 Use vluint8/16/64 in source code
git-svn-id: file://localhost/svn/verilator/trunk/verilator@789 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-19 15:27:15 +00:00
Wilson Snyder
0a765fbb54 Fix function calls inside loop bounds
git-svn-id: file://localhost/svn/verilator/trunk/verilator@776 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-05 20:06:23 +00:00
Wilson Snyder
ce10dbd11c Version bump
git-svn-id: file://localhost/svn/verilator/trunk/verilator@753 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-26 11:35:28 +00:00