Geza Lore
708abe0dd1
Introduce model interface class, make $root part or Syms ( #3036 )
...
This patch implements #3032 . Verilator creates a module representing the
SystemVerilog $root scope (V3LinkLevel::wrapTop). Until now, this was
called the "TOP" module, which also acted as the user instantiated model
class. Syms used to hold a pointer to this root module, but hold
instances of any submodule. This patch renames this root scope module
from "TOP" to "$root", and introduces a separate model class which is
now an interface class. As the root module is no longer the user
interface class, it can now be made an instance of Syms, just like any
other submodule. This allows absolute references into the root module to
avoid an additional pointer indirection resulting in a potential speedup
(about 1.5% on OpenTitan). The model class now also contains all non
design specific generated code (e.g.: eval loops, trace config, etc),
which additionally simplifies Verilator internals.
Please see the updated documentation for the model interface changes.
2021-06-30 16:35:40 +01:00
Wilson Snyder
dfab80fab1
Fix false TIMESCALEMOD on generate-ignored instances ( #2838 ).
2021-03-16 22:52:29 -04:00
Wilson Snyder
26c0fa0a6a
Fix --timescale-override not suppressing TIMESCALEMOD ( #2838 ).
2021-03-16 22:42:28 -04:00
Wilson Snyder
12eb4e85ac
Changed TIMESCALEMOD from error into a warning. ( #2838 )
2021-03-16 21:58:15 -04:00
Wilson Snyder
3a55600913
Internals: Restyle with C++11 using replacing typedef
2021-03-12 18:10:45 -05:00
github action
555269f791
Apply clang-format
2021-01-23 15:32:52 +00:00
Wilson Snyder
64941538b7
Fix TIMESCALE warnings on primitives ( #2763 ).
2021-01-23 10:31:41 -05:00
Yutetsu TAKATSUKASA
7a18adc716
Emit timescale in hierarchical block only when timescale is specified ( #2735 )
...
* Add a test for hierarchical verilation without timescale
* Emit timeunit in hierarchical wrapper only when it is specified in the input design or command line option.
* Update src/V3AstNodes.h
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2021-01-02 08:31:27 +09:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
212e8fb14b
Internals: Cleanup some inlines, use constexpr. No functional change intended.
2020-12-01 18:49:03 -05:00
Wilson Snyder
79d33bf1ee
Use C++11 for loops, from clang-migrate. No functional change intended
2020-11-10 22:10:38 -05:00
Wilson Snyder
1899a875a4
Internals: Create VAccess class. No functional change intended.
2020-09-07 17:09:25 -04:00
Wilson Snyder
ac04e85a1c
C++11: More range for. No functional change intended.
2020-08-16 12:54:32 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
7c54a451a9
C++11: Remove pre-c11 VL_OVERRIDE etc. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
6de78d58fa
Add new UNSUPPORTED error code to replace most previous Unsupported: messages.
2020-06-09 19:20:16 -04:00
Geza Lore
a67ba04c37
Remove dead code and some unused parameters
...
Found with CLion inspections
2020-06-01 17:49:42 +01:00
Geza Lore
95534fa5c5
Remove unused headers ( #2389 )
2020-05-31 20:21:07 +01:00
Wilson Snyder
d4f7f5297a
Support IEEE time units and time precisions, #234 . ( #2253 )
...
Includes `timescale, $printtimescale, $timeformat.
VL_TIME_MULTIPLIER, VL_TIME_PRECISION, VL_TIME_UNIT have been removed
and the time precision must now match the SystemC time precision.
To get closer behavior to older versions, use e.g. --timescale-override
"1ps/1ps".
2020-04-15 19:39:03 -04:00
Wilson Snyder
f3308d236b
clang-format remaining sources. No functional change.
2020-04-15 07:58:34 -04:00
Wilson Snyder
afa8e4c786
Internals: Favor const_iterator. No functional change.
2020-04-11 10:54:42 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
5d9d1cc09f
Internals: Favor const_iterator (in a few obvious spots, more needed). No functional change.
2020-03-15 18:34:09 -04:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
91f1acd85f
Add --protect-ids to obscure information in objects, bug1521.
2019-10-06 13:24:21 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -04:00
Wilson Snyder
ee469eedaf
Fix some errors reporting wrong objects.
2019-07-14 15:06:49 -04:00
Wilson Snyder
0f857ce423
In errors, single quote signals and other from-user data.
2019-07-11 22:09:30 -04:00
Wilson Snyder
8548ecfdac
Internals: Add UASSERT_OBJ macro to replace hand-done ifs. No functional change intended.
...
This makes it easier to filter out correctly zero code-coverage lines.
2019-07-06 12:57:50 -04:00
Wilson Snyder
f7641d2ecc
Change MULTITOP to warning to help linting, see manual.
2019-06-30 16:46:48 -04:00
Wilson Snyder
c514bb26e8
Always internal module wrapper TOP.
2019-06-22 13:43:49 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -04:00
Wilson Snyder
b83b606267
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-05-19 16:13:13 -04:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
0198a2e9f3
Fix error when no modules in , bug1381.
2019-01-02 18:38:49 -05:00
Wilson Snyder
ad2929dff0
Support "ref" and "const ref" pins and functions, bug1360.
2018-10-30 20:50:09 -04:00
Wilson Snyder
b8098098d8
Internals: Refactor input/output to new class in prep for ref support.
2018-10-27 17:29:00 -04:00
Wilson Snyder
304a24d03a
Internals: Fix many clang-tidy issues. No functional change intended.
2018-10-14 18:39:33 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Wilson Snyder
595419b370
Internals: Sort includes for clang-tidy. No functional change intended.
2018-10-14 07:04:18 -04:00
Wilson Snyder
e4d638c73d
Internals: Cleanup string casts. No functional change.
2018-10-13 22:02:39 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
597d28b505
Fix internals to make null-pointer-check clean. Also add more const's. No functional change intended, but likely something will break.
2018-02-01 21:32:58 -05:00
Wilson Snyder
94e8cf1de9
Internals: Use explicit std:: instead of using namespace std. No functional change intended.
2018-02-01 21:24:41 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
63361fc56e
Add performance information to --stats file.
2017-09-17 22:52:57 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
691de22ae3
Add --l2-name option for controlling 'v' naming, bug1050.
2016-05-07 14:01:02 -04:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
0ee5743853
Add --dump-treei-<srcfile>, bug894.
2015-03-12 19:48:04 -04:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
2b5017e610
Fix tracing SystemC signals with structures, bug858. Remove SC tracing of wrapper.
2014-12-10 22:33:28 -05:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
d6e8b0263c
Fix crash on 32-bit Ubuntu, bug670.
2013-09-03 21:40:43 -04:00
Wilson Snyder
ae763ea93d
Internals: Debugs for bug666.
2013-08-08 07:05:21 -04:00
Wilson Snyder
2d64077fd0
Internals: Prep to allow future move of wrapping. No functional change.
2013-05-25 10:15:10 -04:00
Wilson Snyder
175d59ecba
Fix GCC version runtime changes, bug651.
2013-05-23 20:19:51 -04:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
c6e7d87960
Commentary - Remove author lines as amany contributors now
2012-05-24 19:19:48 -04:00
Wilson Snyder
87e8736823
IMPORTANT: Major internal changes for supporting complex data types.
...
Adds dtype() to every node, keep global table of dtypes and remove duplicates.
Final merge from dtype branch.
2012-04-29 10:14:13 -04:00
Wilson Snyder
50edef4ab2
Add Emacs indentation line. No functional change
2012-04-12 21:08:20 -04:00
Wilson Snyder
c2c7c7bd9a
Copyright year update
2012-01-15 10:26:28 -05:00
Wilson Snyder
71c1f00ec2
Copyright year update
2011-01-01 18:21:19 -05:00
Wilson Snyder
729dfdfed7
Copyright year update
2010-01-05 21:15:06 -05:00
Wilson Snyder
ad0fcb745e
Internals: Use common function to resolve task pins
2009-11-30 18:36:31 -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
7df730cedd
Verilator is now licensed under LGPL v3 and/or Artistic v2.0.
2009-05-04 17:07:57 -04:00
Wilson Snyder
50f835c701
Fix segfault with error on bad --top-module, bug79.
2009-04-24 10:32:11 -04:00
Wilson Snyder
3d85cbe6b5
Fix "cloning" error with -y/--top-module, bug76.
2009-04-07 13:23:25 -04:00
Wilson Snyder
3d06720628
Copyright year update
2009-01-02 11:47:39 -05:00
Wilson Snyder
a1e091cff7
Internals: Last commit showed that V3LinkLevel is mostly redundant with V3LinkCells
2008-12-09 21:05:47 -05:00
Wilson Snyder
adebc99e49
Fix certain generate-if cells causing clone error.
2008-12-09 20:59:22 -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
adefa45fb4
After module, clear m_modp as not relevant any longer
2008-11-12 15:32:09 -05:00
Wilson Snyder
20aa21d4b6
Replace stdio.h and stdarg.h with C++ versions
2008-06-30 13:11:25 -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
93531e520a
Add --top-module option to select between multiple tops. [Stefan Thiede]
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@1010 77ca24e4-aefa-0310-84f0-b9a241c72d87
2008-03-25 19:57:41 +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
a583592cd4
Make error code for MULTITOP and document
...
git-svn-id: file://localhost/svn/verilator/trunk/verilator@875 77ca24e4-aefa-0310-84f0-b9a241c72d87
2007-01-18 14:30:45 +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
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
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
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