Commit Graph

198 Commits

Author SHA1 Message Date
Wilson Snyder 17bf13fcb6 Support DPI context imports 2009-12-05 10:38:49 -05:00
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 2f2f416bea Fix auto-indentation of AstCStmts - again 2009-12-02 19:32:41 -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 2f2f367c0b Internals: AstConst named functions when want true/false size 1 2009-11-22 20:05:33 -05:00
Wilson Snyder d7a2362a76 Parse UDP Tables, and report single unsupported error 2009-11-20 19:53:40 -05:00
Wilson Snyder 62f707f501 Support $test$plusargs and $value$plusargs, but see the docs. 2009-11-19 17:04:21 -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 3b39c3391d Support "import". 2009-11-09 19:07:59 -05:00
Wilson Snyder 8a55c6fd9f Internals: Fix missing privates; no functional change 2009-11-09 08:20:28 -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 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 de9989d5a2 Remove dead code 2009-11-06 18:09:04 -05:00
Wilson Snyder ffbd1fd474 Support "reg [1:0][1:0][1:0]", bug176. 2009-11-05 09:57:23 -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 47b5157f01 Support division and modulus of > 64 bit vectors. 2009-10-26 20:12:09 -04:00
Wilson Snyder 39444d83c5 Support little endian bit vectors ("reg [0:2] x;"). 2009-10-25 16:53:55 -04:00
Wilson Snyder b1e6fe7139 Fix core dump with SystemVerilog var declarations under unnamed begins. 2009-10-11 20:50:31 -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 7069d7d802 Internals: Remove AstAssignW::allowImplicit - dead code 2009-10-06 21:58:00 -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 7a86514505 Rename opRange->opSel to match AstRange. No functional change. 2009-09-20 09:30:39 -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 15b3c9797b Fix constant functions with and begin/end 2009-07-21 14:31:16 -04:00
Wilson Snyder aeeaaa53d4 Support constant function calls for parameters. 2009-07-17 14:13:11 -04:00
Wilson Snyder 556d90a1b4 Remove implicit width 1 var creation. No functional change 2009-07-16 14:06:53 -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 193dcf38f4 Add --pins-bv option to use sc_bv for all ports. 2009-03-13 14:17:30 -04:00
Wilson Snyder d60d0a60c7 Support repeat and forever statements. 2009-02-25 22:06:59 -05:00
Wilson Snyder 59159b4811 Clock gating optimization, currently disabled. Merge from branch 2009-01-07 09:37:59 -05:00
Lane Brooks 0e4f9170fa Tristate support; merge from branch. 2009-01-06 11:03:57 -05:00
Wilson Snyder 3d06720628 Copyright year update 2009-01-02 11:47:39 -05:00
Wilson Snyder 74cf205bcf Move coverage type field into page field, and add module name 2008-12-12 16:04:56 -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 d3d1291d5a Fix line coverage of public functions.
Line coverage now aggregates by hierarchy automatically.
Previously this would be done inside SystemPerl, which was slower.
2008-12-05 10:54:14 -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 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 211894cb3e Fix arrayed variables under function not compiling, bug44. 2008-11-19 09:43:03 -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 ef69f36403 More renames of asInt/toUInt where deemed correct 2008-09-04 11:03:46 -04:00
Wilson Snyder fc7a449f6d Rename asInt/asQuad to indicate signed/unsigned.
Internal code rename, no function change.
2008-09-03 17:40:01 -04:00
Wilson Snyder 3463080a71 Fix extra evaluation of pure combo blocks in SystemC output. 2008-08-06 17:09:33 -04:00
Wilson Snyder 500dc2170f Support SystemVerilog "cover property" statements. 2008-08-06 12:52:39 -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 701bd38d01 Add support for , . Bug14. 2008-07-01 14:15:10 -04:00
Wilson Snyder 8c6adeb85a Internals: Convert to use common string convert routine 2008-06-30 07:10:23 -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 0703843ac1 Support , . 2008-06-27 20:04:20 -04:00
Wilson Snyder d6884db439 Support . 2008-06-27 11:36:25 -04:00
Wilson Snyder fdcbedef8f Add support 2008-06-27 08:45:05 -04:00
Wilson Snyder 8afd19648f Support 2008-06-26 08:52:02 -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 956a0a9c99 Add Verilog 2005 () function.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1032 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-04-24 13:52:51 +00:00
Wilson Snyder f6fb2362c6 Fix dropping of backslash quoted-quote at end of .
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1012 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-03-26 14:58:30 +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 5f6d69affd Support SystemVerilog ==? and !=? operators.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@945 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-07-18 15:01:39 +00:00
Wilson Snyder c18f9da400 Put display scope tracking under special node type
git-svn-id: file://localhost/svn/verilator/trunk/verilator@936 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-06-14 16:41:32 +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 d2ce499b59 Support SystemVerilog .name and .* interconnect.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@906 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-03-14 13:06:08 +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 98282114c9 Fix display %m names inside named blocks.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@897 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-03-06 18:53:24 +00:00
Wilson Snyder 44fe8741f3 Add /*verilator public_flat*/
git-svn-id: file://localhost/svn/verilator/trunk/verilator@891 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-03-02 22:24:51 +00:00
Wilson Snyder ecb938f20e Add isolate_assignments to functions
git-svn-id: file://localhost/svn/verilator/trunk/verilator@881 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-30 15:51:16 +00:00
Wilson Snyder 3ff10b40d6 Fix isolate_assignments when many signals per always.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@877 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-23 18:11:26 +00:00
Wilson Snyder 895a3264a3 Add isolate_assignments meta comment
git-svn-id: file://localhost/svn/verilator/trunk/verilator@871 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-18 00:51:26 +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 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 52e36fb434 Reduce depth of priority encoded case statements.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@848 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-19 16:26:49 +00:00
Wilson Snyder 699563c9bd Add support.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@846 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-12-19 14:09:57 +00:00
Wilson Snyder 318a6e348c Support wide public task outputs.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@810 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-10-05 14:53:17 +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 74d7c55f1b Fix dotted variables in always sensitivity lists.
git-svn-id: file://localhost/svn/verilator/trunk/verilator@803 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-10-03 13:02:21 +00:00
Wilson Snyder 94f0809d33 Add more boolean identity fixes
git-svn-id: file://localhost/svn/verilator/trunk/verilator@798 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-27 18:00:53 +00:00
Wilson Snyder ba7b4f261a Redo V3Life to also do constant propagation
git-svn-id: file://localhost/svn/verilator/trunk/verilator@796 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-26 15:05:35 +00:00
Wilson Snyder 4f42c25c7c Fix inout task arguments
git-svn-id: file://localhost/svn/verilator/trunk/verilator@795 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-25 20:40:52 +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 6f48185a1f Fix arrayed instances
git-svn-id: file://localhost/svn/verilator/trunk/verilator@774 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-09-01 15:31:07 +00:00
Wilson Snyder 764e067c84 Mark functions static when possible
git-svn-id: file://localhost/svn/verilator/trunk/verilator@771 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-30 22:00:55 +00:00
Wilson Snyder 3909ba1cef Reorder structures to always go through symp
git-svn-id: file://localhost/svn/verilator/trunk/verilator@770 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-30 21:07:55 +00:00
Wilson Snyder c82235a2de Add `systemc_dtor option
git-svn-id: file://localhost/svn/verilator/trunk/verilator@767 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-30 17:27:53 +00:00
Wilson Snyder 268f0544be Cast as scope always under topscopes - no func change
git-svn-id: file://localhost/svn/verilator/trunk/verilator@765 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-29 19:10:55 +00:00
Wilson Snyder 81d2329e88 Part of last change; appease SystemPerl with statics
git-svn-id: file://localhost/svn/verilator/trunk/verilator@764 77ca24e4-aefa-0310-84f0-b9a241c72d87
2006-08-29 12:01:02 +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