Wilson Snyder
4cfa3f879a
Internals: Allow VL_DANGLING on pointer const.
2020-05-29 18:31:53 -04:00
Ludwig Rogiers
460315128b
Fix vpi_get_value() error message when passing unsupported vpiHandle. ( #2378 )
2020-05-29 08:10:22 -04:00
Wilson Snyder
ebda8f866c
Cleanup codacity and missing consts.
2020-05-28 21:04:36 -04:00
Wilson Snyder
5089ac6119
Remove VL_ULL as ULL now in MSVC & C++11
2020-05-28 20:32:07 -04:00
Wilson Snyder
279f21bb5b
Configure now enables SystemC if it is installed as a system headers.
2020-05-28 18:51:46 -04:00
Wilson Snyder
773ed97504
Internals Most VerilatedLockGuard can be const. No functional change intended.
2020-05-28 18:23:46 -04:00
Stephen Henry
c4aab57c62
Internals: Refactor to introduce VerilatedFdList. ( #2363 )
2020-05-28 17:59:18 -04:00
Maarten De Braekeleer
e8f27be200
Fix Visual Studio compiler issues ( #2375 )
...
* Make sure compiler creates same object file as target of rule
* MSVC requires a string return
* Case ranges are a gnu extension which MSVC does not understand
* _dupenv_s also returns 0 if the var could not be found
See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/dupenv-s-wdupenv-s?view=vs-2019
2020-05-28 17:39:20 -04:00
Geza Lore
622f59ad65
Set OPT_FAST=-Os as default ( #2374 )
2020-05-28 00:57:49 +01:00
Geza Lore
d737266f64
Add OPT_GLOBAL to use for run-time library ( #2373 )
...
This allows compiling the run-time library with optimization even when OPT_FAST is not used in order to imporove model build speed, possibly during debug cycles.
2020-05-27 01:52:08 +01:00
Geza Lore
9d7086067c
Rework serial/parallel build mode
...
Instead of __ALLfast.cpp and __ALLslow.cpp, we now create only a single
__ALL.cpp and compile it with OPT_FAST, this speeds up small builds
where the C compiler does not dominate. A separate patch will follow
turning VM_PARALLEL_BUILDS on by default at a certain size.
Given this change to the build there is now no point in emitting both
fast and slow routines into the same .cpp file when --output-split is
not set as they will be just included in the same __ALL.cpp file. To
keep things simpler and the output easier to comprehend, V3EmitC has
also been changed to always emit the fast and slow files separately.
Also change verilated.mk to apply OPT_SLOW to all slow files, not just
ones called *__Slow.cpp. This change in particular ensures __Syms.cpp
is build as slow.
Part of #2360 .
2020-05-26 01:22:10 +01:00
Jan Van Winkel
424769c32b
Fix warning for unused param in VL_RTOIROUND_Q_D ( #2356 )
2020-05-25 08:13:12 -04:00
Wilson Snyder
50662751fe
Fix compiler unsigned warnings
2020-05-23 22:38:17 -04:00
Wilson Snyder
6a882f9dc6
Internal code coverage improvements. No functional change intended.
2020-05-23 10:34:58 -04:00
Ludwig Rogiers
101314a572
Add VPI error reset to vpi_get_time() ( #2347 )
2020-05-22 07:09:47 -04:00
Wilson Snyder
c64c81b7a3
Workaround missing guard (partial #2333 ).
2020-05-19 08:31:52 -04:00
Geza Lore
53cde90c8f
De-constify fields to appease old GCC with broken STL
...
No functional change intended, fixes #2342
2020-05-18 19:01:08 +01:00
Stephen Henry
ba3930777a
Support display/scan %u/%z ( #2324 ) ( #2332 )
2020-05-18 08:10:32 -04:00
Stephen Henry
cef0105dfc
Fix requiring C++11 algorithms. ( #2339 ) ( #2340 )
2020-05-17 11:44:42 -04:00
Wilson Snyder
ed4c7038b4
Tracing: Remove dead code. No functional change intended.
2020-05-17 09:53:58 -04:00
Wilson Snyder
c4f31d3bb6
Tracing: Remove dead code. No functional change intended.
2020-05-17 09:52:03 -04:00
Wilson Snyder
17e7da77f0
Misc internal coverage improvements.
2020-05-16 18:02:54 -04:00
Wilson Snyder
6fd7f45cef
Internals: Remove dead needHInlines code
2020-05-16 07:53:27 -04:00
Wilson Snyder
57a937df03
Misc internal coverage cleanups
2020-05-16 07:43:22 -04:00
Wilson Snyder
29bcbb0417
Suppress impossible code coverage issues
2020-05-15 22:34:29 -04:00
Wilson Snyder
35a53d9adb
Add t_trace_c_api test.
2020-05-15 20:38:08 -04:00
Geza Lore
900c023bb5
Refactor trace implementation to allow experimentation
...
The main goal of this patch is to enable splitting the full and
incremental tracing functions into multiple functions, which can then be
run in parallel at a later stage. It also simplifies further
experimentation as all of the interesting trace code construction now
happens in V3Trace. No functional change is intended by this patch, but
there are some implementation changes in the generated code.
Highlights:
- Pass symbol table directly to trace callbacks for simplicity.
- A new traceRegister function is generated which adds each trace
function as an individual callback, which means we can have multiple
callbacks for each trace function type.
- A new traceCleanup function is generated which clears the activity
flags, as the trace callbacks might be implemented as multiple functions.
- Re-worked sub-function handling so there is no separate sub-function
for each trace activity class. Sub-functions are generate when required
by splitting.
- traceFull/traceChg are now created in V3Trace rather than V3TraceDecl,
this requires carrying the trace value tree in TraceDecl until it
reaches V3Trace where the TraceInc nodes are created (previously a
TraceInc was also created in V3TraceDecl which carries the value).
2020-05-15 18:34:29 +01:00
Wilson Snyder
c1a9fe07e9
Support multi channel descriptor I/O ( #2190 )
...
clang-format and Changes update. No functional change.
2020-05-14 18:14:50 -04:00
Stephen Henry
1a0da2e4ec
Support multi-channel descriptor (MCD) I/O ( #2197 )
2020-05-14 18:03:00 -04:00
Wilson Snyder
f005b7fd87
Support scan %* format
2020-05-11 22:13:59 -04:00
Wilson Snyder
29695adf70
Fix 10s/100s timeunits.
2020-05-11 08:15:52 -04:00
Yossi Nivin
f9a0cf0cff
Support $countbits ( #2287 )
2020-05-10 14:27:22 -04:00
Geza Lore
ac09ad3ffd
Minor improvements to DPI open array handling ( #2316 )
...
- Allow arbitrary number of open array dimensions, not just 3. Note
right now this only works with the array querying functions specified
in IEEE 1800-2017 H.12.2
- Issue error when passing dynamic array or queue as DPI open array
(currently unsupported)
- Also tweaked AstVar::vlArgTypeRecurse, which should now error or fail
for unsupported types.
2020-05-08 18:22:44 +01:00
Dan Petrisko
ee1b20e1cd
Adding missing sstream include ( #2312 )
2020-05-06 19:16:41 -04:00
Geza Lore
8afcd67a1f
Fix FST tracing of little endian vectors
2020-05-03 22:39:45 +01:00
John Demme
6e9008fb5a
Fix VerilatedVarProps::totalSize missing the first unpacked dim ( #2296 )
2020-05-01 07:42:29 -04:00
Wilson Snyder
5ded80cf79
Fix MacOs Homebrew by removing default LIBS, #2298 .
2020-04-30 19:53:21 -04:00
Wilson Snyder
9fd4541069
Fix reduction OR on wide data, broke in v4.026, #2300 .
2020-04-30 17:53:54 -04:00
Peter Horvath
dc64b43152
Fix xcode clang bug workaround ( #2295 )
2020-04-30 07:20:31 -04:00
Geza Lore
209a585a68
Remove VL_NEGATE_{I,Q,E}, use C native unary '-' instead
...
This is to avoid slowing down -O0 models unnecessarily.
2020-04-30 01:05:52 +01:00
Geza Lore
aa9cde22c8
Use SIMD intrinsics to render VCD traces ( #2289 )
...
Use SIMD intrinsics to render VCD traces.
I have measured 10-40% single threaded performance increase with VCD
tracing on SweRV EH1 and lowRISC Ibex using SSE2 intrinsics to render
the trace. Also helps a tiny bit with FST, but now almost all of the FST
overhead is in the FST library.
I have reworked the tracing routines to use more precisely sized
arguments. The nice thing about this is that the performance without the
intrinsics is pretty much the same as it was before, as we do at most 2x
as much work as necessary, but in exchange there are no data dependent
branches at all.
2020-04-30 00:09:09 +01:00
Geza Lore
dd967f7769
Improve trace buffer memory utilization and performance.
...
Convert trace buffer to 32-bit entries, rather than a union containing a
pointer type. Also tweaked trace entry layouts for a bit more
performance. This gains another 10% on SweRV EH1 CoreMark.
2020-04-27 19:00:17 +01:00
Geza Lore
b79ef672e1
Various minor optimizations of VCD trace routines
...
- Change templated trace routines to branch table.
Removed templating from trace chgBus and fullBus and replaced them with
a branch table like the other there is a very small (< 1%) penalty for
this on SwerRV EH1 CoreMark, but this is less than the variability of
disk IO so it's worth it to keep the code simpler and smaller.
- Prefetch VCD suffix buffer at the top of emit*
- Increase ILP in VCD emit* routines
- Use a 64-bit unaligned store to emit the VCD suffix (on x86 only)
The performance difference with these is very small, but the changes
hopefully make this code more performance-portable across various
micro-architectures.
2020-04-27 18:44:53 +01:00
Geza Lore
9991b19610
Another attempt at flushing threaded VCD correctly.
2020-04-25 18:40:09 +01:00
Geza Lore
c1665818b9
Fix missing flush with threaded VCD tracing. ( #2282 )
...
VerilatedVcdC::openNext() failed to flush the tracing thread before
opening the next output file, which caused t_trace_cat.pl to fail
with --vltmt on occasion.
2020-04-24 03:09:26 +01:00
Wilson Snyder
df52e481fb
Collected minor output code cleanups.
2020-04-23 21:22:47 -04:00
Geza Lore
c96a43b452
Fix unused variable in VL_READMEM_N ( #2274 )
2020-04-22 17:25:35 -04:00
Geza Lore
c52f3349d1
Initial implementation of generic multithreaded tracing ( #2269 )
...
The --trace-threads option can now be used to perform tracing on a
thread separate from the main thread when using VCD tracing (with
--trace-threads 1). For FST tracing --trace-threads can be 1 or 2, and
--trace-fst --trace-threads 1 is the same a what --trace-fst-threads
used to be (which is now deprecated).
Performance numbers on SweRV EH1 CoreMark, clang 6.0.0, Intel i7-3770 @
3.40GHz, IO to ramdisk, with numactl set to schedule threads on different
physical cores. Relative speedup:
--trace -> --trace --trace-threads 1 +22%
--trace-fst -> --trace-fst --trace-threads 1 +38% (as --trace-fst-thread)
--trace-fst -> --trace-fst --trace-threads 2 +93%
Speed relative to --trace with no threaded tracing:
--trace 1.00 x
--trace --trace-threads 1 0.82 x
--trace-fst 1.79 x
--trace-fst --trace-threads 1 1.23 x
--trace-fst --trace-threads 2 0.87 x
This means FST tracing with 2 extra threads is now faster than single
threaded VCD tracing, and is on par with threaded VCD tracing. You do
pay for it in total compute though as --trace-fst --trace-threads 2 uses
about 240% CPU vs 150% for --trace-fst --trace-threads 1, and 155% for
--trace --trace threads 1. Still for interactive use it should be
helpful with large designs.
2020-04-21 23:49:07 +01:00
Wilson Snyder
174fd1bf0e
Codacy cleanups. No functional change.
2020-04-20 22:01:47 -04:00
Geza Lore
39d903375b
Factor out trace implementation common to all formats. ( #2268 )
...
This patch de-duplicates common functionality between the VCD and FST
trace implementation. It also enables adding new trace formats more
easily and consistently.
No functional nor performance change intended.
2020-04-19 23:57:36 +01:00
Geza Lore
6a54922044
Set FST timescale correctly. ( #2266 )
...
The FST trace timescale used to be set in the constructor via
set_time_unit, but at that point we haven't normally opened the
file yet so it was just dropped. On top of that, we actually want
to use set_time_resolution... FST trace timescales now match the VCD.
2020-04-19 08:47:22 -04:00
Geza Lore
74e16d85c5
Fix FST trace initial time stamp. ( #2264 )
...
If the first dump was not at time zero, then the FST trace used
to contain the initial values as if they were set at time zero. Now
they only appear at the time the first dump call is actually made,
and hence match the VCD trace exactly.
2020-04-18 18:54:02 -04:00
Wilson Snyder
e6f345e45d
Internal: clang-tidy fixes. No functional change.
2020-04-15 21:47:37 -04: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
5c966ec510
clang-format many files. No functional change.
...
Use nodist/clang_formatter to reformat files that are now clean.
2020-04-13 22:52:23 -04:00
Geza Lore
dc5c259069
Improve tracing performance. ( #2257 )
...
* Improve tracing performance.
Various tactics used to improve performance of both VCD and FST tracing:
- Both: Change tracing functions to templates to take variable widths as
template parameters. For VCD, subsequently specialize these to the
values used by Verilator. This avoids redundant instructions and hard
to predict branches.
- Both: Check for value changes via direct pointer access into the
previous signal value buffer. This eliminates a lot of simple pointer
arithmetic instructions form the tracing code.
- Both: Verilator provides clean input, no need to mask out used bits.
- VCD: pre-compute identifier codes and use memory copy instead of
re-computing them every time a code is emitted. This saves a lot of
instructions and hard to predict branches. The added D-cache misses
are cheaper than the removed branches/instructions.
- VCD: re-write the routines emitting the changes to be more efficient.
- FST: Use previous signal value buffer the same way as the VCD tracing
code, and only call the FST API when a change is detected.
Performance as measured on SweRV EH1, with the pre-canned CoreMark
benchmark running from DCCM/ICCM, clang 6.0.0, Intel i7-3770 @ 3.40GHz,
and IO to ramdisk:
+--------------+---------------+----------------------+
| VCD | FST | FST separate thread |
| (--trace) | (--trace-fst) | (--trace-fst-thread) |
------------+-----------------------------------------------------+
Before | 30.2 s | 121.1 s | 69.8 s |
============+==============+===============+======================+
After | 24.7 s | 45.7 s | 32.4 s |
------------+--------------+---------------+----------------------+
Speedup | 22 % | 256 % | 215 % |
------------+--------------+---------------+----------------------+
Rel. to VCD | 1 x | 1.85 x | 1.31 x |
------------+--------------+---------------+----------------------+
In addition, FST trace size for the above reduced by 48%.
2020-04-14 00:13:10 +01:00
Wilson Snyder
dc27a179e2
Always define VL_SIG etc; conditional definitions were long removed SystemPerl.
2020-04-13 19:07:56 -04:00
Wilson Snyder
ef211fc9e0
Make sure SystemC always included in -sc mode to prevent ordering issues.
2020-04-11 10:33:40 -04:00
Nathan Myers
4c1ae4701a
Add assertion for monotonic dump times #2103 ( #2237 )
2020-04-09 19:00:27 -04:00
Geza Lore
05f213c266
VCD tracing speed improvements ( #2246 )
...
* Don't inline VCD dump functions
Improves model speed with tracing. Measured on SweRW cmark:
- GCC 5.5 ~3% faster
- Clang 6.0 ~12% faster (!)
* Remove redundant test from VCD bit tracing.
Improves model speed with tracing. Measured on SweRW cmark:
- GCC 5.5 ~7.5% faster
- Clang 6.0 ~1.5% faster
2020-04-09 08:19:26 -04:00
Geza Lore
0f617988d4
Compile fast tracing code with OPT_FAST in single compile mode. ( #2245 )
...
When using the __ALL*.cpp based single compile mode (i.e.: without
VM_PARALLEL_BUILDS), the fast path tracing code used to be included in
__Allsup.cpp, which was compiled with OPT_SLOW, severely harming tracing
performance. We now have __ALLfast.cpp and __ALLslow.cpp instead of
__ALLcls.cpp and __ALLsup.cpp, so we can compile the fast support code
with OPT_FAST as well.
2020-04-08 21:05:43 -04:00
Geza Lore
991d8b178b
Fix FST tracing performance by removing std::map from hot path. ( #2244 )
...
This patch eliminates a major piece of inefficiency in FST tracing
support, by using an array to lookup fstHandle values corresponding
to trace codes, instead of a tree based std::map. With this change, FST
tracing is now only about 3x slower than VCD tracing. We do require
more memory to store the symbol lookup table, but the size of that is
still small, for the speed benefit.
2020-04-08 17:54:35 -04:00
Wilson Snyder
914a6edd33
Add error if use SystemC 2.2 and earlier (pre-2011) as is deprecated.
2020-04-07 19:58:17 -04:00
Geza Lore
0cfa828572
Fix DPI import/export to be standard compliant, #2236 .
2020-04-07 19:07:47 -04:00
Wilson Snyder
cba05480ba
Fix clang warning.
2020-04-06 20:13:24 -04:00
Wilson Snyder
2abbae8dd0
Internals: Remove strncpy to appease codacity.
2020-04-06 19:26:31 -04:00
Wilson Snyder
50535a1894
Internals: cppcheck 1.90 fixes. No functional change intended.
2020-04-05 18:57:47 -04:00
Wilson Snyder
763f621d4c
Deprecate VL_ULL.
2020-04-05 16:45:53 -04:00
Wilson Snyder
efaf375887
Configuring with ccache present now defaults to using it; see OBJCACHE in the manual.
2020-04-05 16:10:33 -04:00
Wilson Snyder
a494ad5ec7
Support $ferror, #1638 .
2020-04-05 11:22:05 -04:00
Wilson Snyder
e55338f927
Support $fflush without arguments, #1638 .
2020-04-05 10:11:28 -04:00
Wilson Snyder
6eadb8e771
Add simplistic class support with many restrictions, see manual, #377 .
2020-04-05 09:30:23 -04:00
Wilson Snyder
9fdb026e95
Add VM_C11 for future need of C++11
2020-04-04 20:48:03 -04:00
Wilson Snyder
5302a9d0e6
Internals: clang-format cleanups. No functional change.
2020-04-04 17:55:37 -04:00
Wilson Snyder
e07e9390f6
Internals: clang-format cleanups. No functional change.
2020-04-04 14:09:21 -04:00
Wilson Snyder
a13eab55f5
Internals: Add missing VL_DO_CLEARs. No functional change.
2020-04-04 13:06:31 -04:00
Wilson Snyder
38a31ae168
Cleanup misc clang-tidy warnings. No functional change intended
2020-04-03 22:31:54 -04:00
Wilson Snyder
6f4a8fe695
Fix Travis-CI failures.
2020-04-02 09:22:10 -04:00
Wilson Snyder
4361c4b57a
Add vlsint8_t types.
2020-03-31 21:30:18 -04:00
Wilson Snyder
e6beab4037
Fix implicit conversion of floats to wide integers.
2020-03-31 20:42:07 -04:00
Sean Cross
a1a2650f1e
Modernize va args ( #2214 )
...
Verilator uses a form of variadic macros that are nonstandard, making it
unable to be compiled under MSVC. Replace the old synax with the
standard syntax. This fixes MSVC usage.
Signed-off-by: Sean Cross <sean@xobs.io>
2020-03-29 10:29:12 -04:00
Matthew Ballance
510be53521
Expose VPI cbNextDeadline via the public API ( #2212 )
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2020-03-28 13:47:21 -04:00
Wilson Snyder
08a51e3e09
Fix VCD open with empty filename, #2198 .
2020-03-24 17:32:47 -04:00
Wilson Snyder
75ebe7a4be
Update gtkwave from upstream.
2020-03-21 21:45:57 -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
6c6d70a5e5
Fix FST when multi-model tracing.
2020-03-07 18:39:58 -05:00
Wilson Snyder
e70cba77e6
Add support for dynamic arrays, #379 .
2020-03-07 10:24:27 -05:00
Wilson Snyder
905067d13f
Fix $dumpvar multithreaded assert, broke last commit.
2020-03-02 07:43:10 -05:00
Wilson Snyder
30a33a6104
Add support for and , #2126 .
2020-03-01 21:39:23 -05:00
Wilson Snyder
0ca0e07354
Internals: Vcd doesn't need code when registering. No functional change intended.
2020-02-29 20:42:52 -05:00
Wilson Snyder
991d81cd0a
Recommend -Os.
2020-02-27 07:46:34 -05:00
Wilson Snyder
23eb96579c
Fix duplicate __STDC_FORMAT_MACROS definition.
2020-02-24 18:11:41 -05:00
Wilson Snyder
28e19cef90
Fix undeclared VL_SHIFTR_WWQ, #2114 .
2020-02-23 19:33:37 -05:00
Tobias Wölfel
18f8cd0529
Allow assert disable ( #2168 )
...
* Add +verilator+noassert flag
This allows to disable the assert check per simulation argument.
* Add AssertOn check for assert
Insert the check AssertOn to allow disabling of asserts.
Asserts can be disabled by not using the `--assert` flag or by calling
`AssertOn(false)`, or passing the "+verilator+noassert" runtime flag.
Add tests for this behavior.
Bad tests check that the assert still causes a stop.
Non bad tests check that asserts are properly disabled and cause no stop
of the simulation.
Fixes #2162 .
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
* Correct file location
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
* Add description for single test execution
Without this description it is not obvious how to run a single test from
the regression test suite.
Signed-off-by: Tobias Wölfel <tobias.woelfel@mailbox.org>
2020-02-15 18:17:23 -06:00
Wilson Snyder
70358e8587
Fix compiler warning.
2020-02-08 10:58:07 -05:00
Wilson Snyder
f7bad37e88
Fix GCC 4.4.7 errors.
2020-02-08 07:09:41 -05:00
Wilson Snyder
0d6ebf21b3
Suggest svSetScope, #2152 .
2020-02-07 17:59:02 -05:00
Wilson Snyder
0aabe6ce00
Internals: Fix cppcheck warning including missing init.
2020-02-03 22:10:29 -05:00
Wilson Snyder
a8ad97eef2
Add VL_CACHE_LINE_BYTES and use 64 as defult.
2020-02-01 20:28:03 -05:00
Wilson Snyder
68fa82fb14
Support $typename, and use to cleanup error messages.
2020-01-26 13:21:25 -05:00
Wilson Snyder
11380bc3b2
Merge from upstream gtkwave includes.
2020-01-23 17:48:27 -05:00
Wilson Snyder
4266d31443
Internals: Add VL_OVERRIDE to includes. No functional change intended.
2020-01-21 18:02:23 -05:00
Yutetsu TAKATSUKASA
fbdf5f2dad
Internals: Mark all visit() with VL_OVERRIDE. Closes #2132 .
...
* Add VL_OVERRIDE macro so that compiler can tell my typo when trying to override a function.
* Mark visit() with VL_OVERRIDE. No functional change intended.
2020-01-21 17:35:56 -05:00
Matthew Ballance
d87648c258
Correct FST-support issue with some GCC versions. Closes #2129 .
2020-01-20 17:33:40 -05:00
Wilson Snyder
09199f79a6
Internals: Add VL_DO_CLEAR delete protections. No functional change intended.
2020-01-18 10:29:49 -05:00
Wilson Snyder
623c4ec103
Internals: Create VL_DO_DANGLING. No functional change intended.
2020-01-16 20:17:11 -05:00
Tobias Rosenkranz
b41b9417b9
Fix sign compare warning. Closes #2112 .
2020-01-15 07:40:22 -05:00
Pieter Kapsenberg
4443ab34fd
Support left justified . Closes #2101 .
2020-01-15 07:32:45 -05:00
Wilson Snyder
e9a309ea8d
Clang warning fix.
2020-01-15 07:27:04 -05:00
Wilson Snyder
918df2e618
Support / with assoc arrarys. Closes #2100 .
2020-01-14 07:01:17 -05:00
Wilson Snyder
b71eb76252
For / allow 64-bit addressing.
2020-01-11 14:08:07 -05:00
Wilson Snyder
1d2a7b2f41
Style cleanups. No functional change.
2020-01-11 12:36:30 -05:00
Wilson Snyder
2a50fafef2
Fix %{number}s with strings. #2093 .
2020-01-09 19:39:27 -05:00
Wilson Snyder
9978cbfa5c
Fix tracing -1 index arrays. Closes #2090 .
2020-01-08 07:32:31 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Todd Strader
b70d1c1349
Update gtkwave files
2020-01-02 07:39:24 -05:00
Wilson Snyder
5c361efaea
Internals: Minor format cleanups. No functional change.
2019-12-22 18:09:46 -05:00
Yutetsu TAKATSUKASA
8cdc0c4e00
Support string putc, getc, substr, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-15 08:09:52 -05:00
Wilson Snyder
2408de16a0
Support bounded queues.
2019-12-14 21:39:47 -05:00
Wilson Snyder
7387db506d
GTKWave: Merge from upstream.
2019-12-14 09:25:36 -05:00
Stefan Wallentowitz
3ac6745658
Add vpiTimeUnit and allow to specify time as string, bug1636.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-13 19:11:37 -05:00
Wilson Snyder
521418d832
Update FST trace API for better performance.
2019-12-10 18:55:09 -05:00
Yutetsu TAKATSUKASA
c2037ddbc5
Support string compare, icompare, ato* methods, bug1606.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-09 19:17:52 -05:00
Wilson Snyder
ca1b083d5c
Fix clang warning.
2019-12-09 18:53:56 -05:00
Wilson Snyder
700f2072c0
Framework for WDatas being vectors of 64-bit EDatas, but not supporting this at this time.
2019-12-08 21:36:38 -05:00
Todd Strader
4480938b25
Fix interface reference tracing, bug1595.
2019-12-07 12:28:19 -05:00
Wilson Snyder
35e9489f33
Includes: Allow VCD trace of 64 bit array.
2019-12-05 22:25:30 -05:00
Wilson Snyder
8611ff230d
GTKWave: Merge from upstream. No functional change.
2019-12-04 05:31:38 -05:00
Wilson Snyder
fe684e8733
Allow redefining VL_PRINTF, bug1598.
2019-12-03 19:12:18 -05:00
Garrett Smith
96f8bbd023
Support float and shorts, bug1592, bug1619.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-03 18:26:22 -05:00
Wilson Snyder
95ffcad12e
Fix t_queue crash on Trusty due to lifetime issue.
2019-12-03 07:18:59 -05:00
Wilson Snyder
ebed1a9000
Fix 64-bit signed power with -1.
2019-12-03 06:58:38 -05:00
Wilson Snyder
2240f42bfa
Fix 64-bit signed power with -1.
2019-12-03 06:26:17 -05:00
Wilson Snyder
e28175108f
Support queues (excluding {} notation and pattern assignments), bug545.
2019-12-01 12:35:49 -05:00
Wilson Snyder
b81295230a
Support associative arrays.
2019-12-01 11:52:48 -05:00
Matthew Ballance
f63dfd7028
Fix VPI timed callbacks to be one-shot, pull5.
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-19 22:44:33 -05:00
Wilson Snyder
2ff22d9050
Fix earlier +verilated+error+count to do all .
2019-11-17 08:12:39 -05:00
Wilson Snyder
0c0198cf55
Support string.toupper and string.tolower.
2019-11-17 05:05:09 -05:00
Wilson Snyder
d480c2f033
Add +verilator+error+limit to see more assertion errors.
2019-11-16 18:25:47 -05:00
Wilson Snyder
66727670f9
Override gtkwave config in upstreamable way. No functional change.
2019-11-16 03:54:05 -05:00
Wilson Snyder
b9322206d7
Update gtkwave files to latest
2019-11-16 03:44:51 -05:00
Wilson Snyder
21a380def0
Rework variable emit to prep for other data types.
2019-11-12 21:52:25 -05:00
Wilson Snyder
f87107e757
Tests etc: Cleanup some clang-format suggestions. No functional change.
2019-11-09 20:35:12 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
f1b10e2b4c
Improve error messages on DIDNOTSETTLE, bug1556.
2019-11-06 19:47:34 -05:00
Wilson Snyder
2bbb9dccb1
Less verbose ar messages
2019-10-27 11:30:25 -04:00
Wilson Snyder
352adbed74
Codacy/Cppcheck cleanups.
2019-10-24 22:40:15 -04:00
Wilson Snyder
9f977ed419
Codacy/Cppcheck cleanups and badge.
2019-10-24 21:48:45 -04:00
Wilson Snyder
89c3c5f952
Internals: Style cleanup. No functional change.
2019-10-18 20:28:59 -04:00
Wilson Snyder
7311c84937
Slightly faster FST tracing.
2019-10-18 19:48:27 -04:00
Wilson Snyder
58a42834a6
Tests: Remove some old makefile rules.
2019-10-08 19:12:33 -04:00
Wilson Snyder
8c836e1222
Fix clang thread lint error.
2019-10-08 12:07:46 -04:00
Wilson Snyder
ce179bd2e3
Fix clang mutex check.
2019-10-08 08:29:53 -04:00
Patrick Stewart
0ed58a4217
Fix multithreaded yield behavior when no work.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-07 19:27:31 -04:00
Patrick Stewart
8e6d68147c
Support multithreading on Windows.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-07 19:23:06 -04:00
Wilson Snyder
307549e8a6
Internals: Fix some cppcheck warnings.
2019-10-06 08:20:02 -04:00
Maarten De Braekeleer
977a767477
Avoid tabs in C output.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-04 21:10:53 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Stefan Wallentowitz
633131b984
Return vpiModule when it is the scope.
...
Return the vpiModule when it is searched for by name and not the vpiScope,
now that we actually have it (one step further to supporting vpiModule in
complete).
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-02 18:47:12 -04:00
Stefan Wallentowitz
045ff25f80
Support vpiModule, bug1469.
...
Add very basic support for vpiModule. Basically it allows to traverse
the module tree to find a variable etc. It does not support more than
vpi_iterate and vpi_scan for vpiModule along basic operations like
vpi_get_str on vpiModule.
The support is added non-intrusively to non-VPI verilator runs. It
essentially:
- Tracks the creation of cell instances and keeps them alive until
the emit phase. They are there converted to scopes if modules.
- Emits empty (don't add anything during construction)
VerilatedScopes for all inlined modules, only for those inlined
modules that are on the hierarchical path to public variables.
- Adds VerilatedHierarchy as abstraction to structure of the
scopes. It is only created for VPI designs. It allows to traverse
the hierarchy from the top (NULL).
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-01 21:57:45 -04:00
Stefan Wallentowitz
99a8845a96
Fix VerilatedVpioVar vpiMemory/vpiReg accessor, bug1528.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-27 00:01:09 -04:00
Philipp Wagner
d7b6b53c4d
Make callCbs() public.
...
VerilatedVpi::callCbs() can be used by the user to signal
simulation-related callbacks, e.g.
VerilatedVpi::callCbs(cbStartOfSimulation).
The information if any callbacks have been called may be important to
drive an evaluation until no further changes are observed.
Signed-off-by: Lukasz Dalek <ldalek@antmicro.com>
Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-21 07:43:20 -04:00
Stefan Wallentowitz
8686ed9b00
Fix vpiType accessor, bug1510.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-18 12:24:19 -04:00
Stefan Wallentowitz
32e1207782
Fix vpiType accessor, bug1509.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-18 07:22:59 -04:00
Wilson Snyder
6b798830c9
Fix spacing
2019-07-29 21:07:37 -04:00
Wilson Snyder
7e54ff1b37
Additional lcov code coverage.
2019-07-05 22:30:19 -04:00
Wilson Snyder
01ef7122e9
Internals: Add lcov code coverage markers.
2019-06-30 22:37:03 -04:00
Wilson Snyder
02a3f2089f
Include filenames in savable error.
2019-06-30 22:01:53 -04:00
Wilson Snyder
659c7b78d5
Warn only once if too few CPUs.
2019-06-15 09:17:51 -04:00
Wilson Snyder
2cedd14d43
Fix build error on MinGW, bug1460.
2019-06-11 21:38:17 -04:00
Wilson Snyder
6ffbb7cabf
Internals: Remove extra semicolons. No functional change.
2019-06-11 18:31:06 -04:00
Wilson Snyder
4e115d4b69
Fix performance when mulithreaded on 1 CPU, bug1455.
2019-06-03 19:13:03 -04:00
Wilson Snyder
13ecb8e177
Fix fault on with %t, bug1443.
2019-05-16 19:35:10 -04:00
Wilson Snyder
96c70ea2df
Internals: Fix some long lines in include files. No functional change.
...
When merging, recommend using "git merge -Xignore-all-space"
2019-05-14 22:49:32 -04:00
Wilson Snyder
afea6d84e3
Mark infrequently called functions with GCC cold attribute.
2019-05-14 22:03:50 -04:00
Sergey Kvachonok
16997d153f
Fix sign-compare warning in verilated.cpp, bug1437.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-14 06:07:16 -04:00
Wilson Snyder
afdfa4df87
Support VerilatedFstC set_time_unit, bug1433.
2019-05-12 08:19:49 -04:00
Wilson Snyder
5df3032b11
gtkwave: Merge from upstream.
2019-05-09 20:38:48 -04:00
Wilson Snyder
f96942a526
Internals: Detab and fix spacing style issues in include files. No functional change.
...
When merging, recommend using "git merge -Xignore-all-space"
2019-05-08 21:13:38 -04:00
Wilson Snyder
b23fc06388
Internals: Detab and fix spacing style issues in some include files. No functional change.
2019-05-07 23:30:24 -04:00
Wilson Snyder
a2a7021914
Reorder VCD codes for better viewer packing.
2019-05-06 18:55:38 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
6b3304320b
For FST tracing use LZ4 compression.
2019-05-02 19:55:16 -04:00
Wilson Snyder
274b2002c2
Fix GTKWave register warning, bug1421.
2019-04-29 05:28:30 -04:00
Larry Lee
6a331e37fc
Fix missing VL_SHIFTL_ errors, bug1412, bug1415.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-04-05 19:32:25 -04:00
Sergey Kvachonok
d8a020905a
Fix MinGW GCC 6 printf formats, bug1413.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-04-02 18:24:36 -04:00
Wilson Snyder
efa6f4cd95
Fix extraction, part of fix missing VL_SHIFTL_QQW error, bug1412.
2019-03-28 19:46:39 -04:00
Larry Lee
ca537dc3ed
Fix missing VL_SHIFTL_QQW error, bug1412.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-03-28 19:11:46 -04:00
Wilson Snyder
3b64f54cea
Support '#' comments in , bug1411.
2019-03-27 07:40:14 -04:00
Wilson Snyder
7bf3366041
Support .
2019-03-07 20:56:53 -05:00
Wilson Snyder
455c552132
Fix MSVC compile error, bug1406.
2019-03-04 20:29:01 -05:00
Wilson Snyder
f26fb51509
Commentary, bug1339.
2019-03-01 20:14:48 -05:00
Wilson Snyder
27fa19eb94
Add +verilator+seed, bug1396.
2019-02-04 20:28:17 -05:00
Wilson Snyder
cf2e8f7a9c
Add sizeof checks on types.
2019-01-25 18:26:14 -05:00
Wilson Snyder
f700a73b3e
Fix cygwin warning on fstapi, msg2770.
2019-01-20 14:16:09 -05:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
47107a5a36
Fix FST tracing of wide arrays, bug1376.
2018-12-18 20:49:44 -05:00
Wilson Snyder
f0cdae129e
Removed --trace-lxt2, use --trace-fst instead.
2018-12-06 19:06:20 -05:00
Wilson Snyder
a226111829
Fix fst_config compile error on MINGW, msg2670.
2018-12-06 07:12:21 -05:00
Wilson Snyder
49353784fd
Fix __Slow files getting compiled with OPT_FAST, bug1370.
2018-11-29 20:35:21 -05:00
Wilson Snyder
8170391573
Internals: Fix spacing of comments. No functional change.
2018-11-28 19:59:10 -05:00
Wilson Snyder
7be1678fb0
Fix --trace-lxt2 compile error on MinGW, msg2711.
2018-10-30 07:35:30 -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
9bc8d77f39
Includes: Move version to implementation only.
2018-10-14 11:21:09 -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
e8b8b33ff6
Internals: Cleanup find with chars for clang-tidy. No functional change.
2018-10-13 22:28:59 -04:00
Wilson Snyder
fe0dae74c1
include: Upstream update for GTKWave
2018-10-12 06:55:12 -04:00
Wilson Snyder
6047049fc7
Fix --trace-lxt2 compile error on MinGW, msg2684.
2018-10-11 21:03:49 -04:00
Wilson Snyder
5c9da65606
Fix --trace-lxt2 compile error on MinGW, msg2667.
2018-10-10 06:54:51 -04:00
Wilson Snyder
cc45a3dd72
For --trace-fst, save enum decoding information, bug1358.
2018-10-08 07:21:22 -04:00
Wilson Snyder
9ad252be34
For --trace-fst, instead of *.fst.hier, put data into *.fst.
2018-10-07 20:47:26 -04:00
Wilson Snyder
d11592cadd
Support signal types in FST dumps, bug1358.
2018-10-04 20:24:41 -04:00
Wilson Snyder
8ef9ac7dba
Support in/out directions in FST dumps, bug1358.
2018-10-03 19:51:05 -04:00
Sergi Granell
a5aa0e2b0a
Add GTKWave FST native tracing, bug1356.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-10-02 18:42:53 -04:00
Wilson Snyder
f8ae08c0c2
Internals: Fix whitespace.
2018-10-02 06:31:11 -04:00
Wilson Snyder
72f5d39ace
Rename include/lxt2 to include/gtkwave.
2018-10-01 18:29:04 -04:00
Wilson Snyder
e4d6fa0e3b
include: Update license from GTKWave upstream.
2018-09-27 19:55:00 -04:00
Wilson Snyder
7876fe94ad
Fix Mac OSX 10.13.6 / LLVM 9.1 compile issues, bug1348.
2018-09-17 06:39:43 -04:00
Wilson Snyder
4684f1d4cc
Include sys/types to make sure __WORDSIZE is set, bug1333.
2018-08-31 06:52:12 -04:00
johnjohnlin
acf4a3fa99
Add GTKWave LXT2 native tracing, bug1333.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-08-28 06:41:17 -04:00
Wilson Snyder
3ed8d968ff
Commentary and spacing. No functional change.
2018-08-28 06:30:30 -04:00
Wilson Snyder
45c09f3fae
Fix LLVM thread_safety function
2018-08-27 18:25:58 -04:00
Wilson Snyder
c93d28050e
Fix mkdir on MSYS2, msg2614.
2018-08-27 18:07:52 -04:00
Wilson Snyder
15abb4d590
Fix OS X compile issues, bug1332.
2018-08-27 06:15:12 -04:00
Wilson Snyder
ae98e87222
Fix OS X compile issues, bug1332.
2018-08-26 19:55:02 -04:00
Wilson Snyder
77f6b8cf5f
Use local algorithm for random, bug1332.
2018-08-26 07:07:01 -04:00
Wilson Snyder
573e79a329
Fix OS X compile issues, bug1332.
2018-08-25 17:54:27 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
8f838433df
Internals: Fix spacing and style of v4 changes. No functional change.
2018-08-23 05:22:34 -04:00
Wilson Snyder
0b84222500
Includes: Fix spacing and style in prep for new LXT2. No functional change.
2018-08-22 19:14:06 -04:00
Wilson Snyder
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
0ef3baa87d
Merge from master
2018-07-22 11:53:58 -04:00
Wilson Snyder
3a777c2a37
Verilated: Always define VL_RDTSC, though unused; useful for benchmarking.
2018-07-22 11:53:35 -04:00
Wilson Snyder
a18d6c8159
Merge from master
2018-07-18 21:34:38 -04:00
Wilson Snyder
a0b09b6450
Remove tabs inside generated files/quotes.
2018-07-18 21:25:21 -04:00
Wilson Snyder
9156a0e400
Internals: Allow override of initial value for vl_unordered_set()
2018-07-05 20:39:03 -04:00
Wilson Snyder
dddc51b75c
Internals: Rename templated types to be T_*. Use Euler hashing.
2018-06-21 21:14:38 -04:00
Wilson Snyder
e89cb1b9f7
Internals: For unordered set, add constant accessor. No functional change.
2018-06-17 10:31:27 -04:00
Wilson Snyder
ec82243ee6
Fix shrinking new unordered_set_map to save memory. No end-result change intended.
2018-06-15 20:57:07 -04:00
Wilson Snyder
9f5a4c9b22
Fix cppcheck warnings. No functional change intended.
2018-06-14 19:04:52 -04:00
Wilson Snyder
7fc565a1bd
Merge from master
2018-06-14 19:04:36 -04:00
Wilson Snyder
0eb1d0a84e
Fix cppcheck warnings. No functional change intended.
2018-06-14 18:59:24 -04:00
John Coiner
ba69297c33
Merge branch 'develop-v4' of ssh://git-verilator-jcoiner/git/verilator into develop-v4
2018-06-13 08:23:40 -04:00
John Coiner
8b5dc0b678
Fix nasty performance bug in rehash() that could lead to rehashing everything into one giant bucket, but only for tables with >256K elements, so we never saw it in regression.
2018-06-13 08:20:19 -04:00
Wilson Snyder
5988bba9fb
Merge from master
2018-06-12 21:25:26 -04:00
Wilson Snyder
1c5c9e2435
cppcheck fixes
2018-06-12 21:14:20 -04:00
John Coiner
c124fe6d0c
Add clones of std::unordered_map and std::unordered_set for pre-C++11 compilers.
2018-06-11 22:05:15 -04:00
Wilson Snyder
b1ab48b9fc
Include: Fix command line parser hang when threaded.
2018-05-25 07:02:15 -04:00
Wilson Snyder
e4e3294363
Merge from master
2018-05-24 22:18:09 -04:00
Wilson Snyder
92649ba494
includes: Fix VL_RDTSC & misc stuff.
2018-05-24 22:17:44 -04:00
Wilson Snyder
f3c9b4fb03
Add runtime arguments.
2018-05-20 08:40:35 -04:00
Wilson Snyder
26c31db75e
Merge from master
2018-05-20 08:37:03 -04:00
Wilson Snyder
84335b9580
Verilated: Cleanup command line parsing. Backport from pending v4 change.
2018-05-20 08:36:39 -04:00
Wilson Snyder
3d49136e27
Merge from master
2018-05-19 09:32:15 -04:00
Wilson Snyder
5e22ca77ec
Tests: Fix misc multithreaded issues, merge from threads branch.
2018-05-19 09:30:54 -04:00
Wilson Snyder
02a22c12ea
Internals: Add missing [] to delete call in verilated_vcd_c.cpp, bug1309
2018-05-17 07:08:11 -04:00
Wilson Snyder
4abf5be9ce
Detect linker requirements for multithreaded runtime.
2018-05-13 19:47:35 -04:00
Wilson Snyder
fe917ba7f4
include: Merge misc thread runtime support.
2018-05-13 19:30:51 -04:00
Wilson Snyder
0ef3c10931
Pull some thread include changes from thread branch.
2018-05-08 21:43:32 -04:00
Wilson Snyder
8b954dc381
Additional debug prints
2018-04-12 22:00:34 -04:00
Wilson Snyder
2d580e6939
Support IEEE 1800-2017 as default language.
2018-03-12 22:26:34 -04:00
John Coiner
fc48008c1c
Support
2018-03-12 16:44:01 -04:00
Wilson Snyder
770045676f
Internals: Split some extremely long lines. No functional change.
2018-03-10 16:32:04 -05:00
Wilson Snyder
22573d238b
Internals: Fix GCC8 cppcheck warnings. No functional change.
2018-02-07 20:16:53 -05:00
Wilson Snyder
32859d9fc2
Fix GCC 8.0 issues
2018-02-07 18:58:21 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
f98940e40a
Fix cppcheck warnings. No functional change.
2017-12-17 18:44:35 -05:00
Wilson Snyder
49fe4d081c
Support DPI open arrays, bug909, bug1245.
2017-12-17 16:28:58 -05:00
Wilson Snyder
b888158907
Fix DPI svGetBitselLogic and svPutPartselLogic.
2017-12-17 12:19:40 -05:00
Tymoteusz Blazejczyk
173f71dca6
Fix SystemC 2.3.2 compile error, bug1251.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-12-17 08:23:22 -05:00
Wilson Snyder
79f5c7fbda
Internals: Split verilated_syms.h and rename some methods. No functional change intended.
2017-12-16 10:52:43 -05:00
Wilson Snyder
d1b8f53711
Support DPI time and svLogicVal.
...
Note older version incorrectly assumed svBitVal even for logicals.
2017-12-09 20:17:37 -05:00
Wilson Snyder
27b5bfe9b1
DPI: Implement IEEE DPI copy routines.
2017-12-09 17:05:32 -05:00
Wilson Snyder
662ebece71
Support string len() method.
2017-12-07 19:57:11 -05:00
Wilson Snyder
895fc0911a
Support > 64 bit decimal $display.
2017-12-02 22:10:58 -05:00
Wilson Snyder
754527edfd
verilated internals: Add VL_BITRSHIFT_W. No functional change.
2017-12-02 08:17:20 -05:00
Wilson Snyder
7369500bb7
Fix cppcheck warnings
2017-11-23 10:43:34 -05:00
Wilson Snyder
12607abb33
Remove tabs from --xml output.
2017-11-13 18:24:18 -05:00
Wilson Snyder
cbb7cd16d0
Detect MSB overflow when under VL_DEBUG, bug1238.
2017-11-05 21:47:55 -05:00
Wilson Snyder
add5cc8b56
Internals: Add VL_UNCOPYABLE to make classes uncopyable. No functional change intended.
2017-11-01 18:51:41 -04:00
Wilson Snyder
f91bac7b31
Rewrite include libraries to support VL_THREADED towards future threading
2017-10-26 21:51:51 -04:00
Wilson Snyder
ad693d67b2
Mark Verilated functions with multithreaded status. No functional change.
2017-10-26 20:05:42 -04:00
Wilson Snyder
252ed4c1ae
Fix clang warning
2017-10-26 07:27:47 -04:00
Wilson Snyder
f9fd634fae
Internals: Fix VL_DBG_MSGF va_list corruption in last commit.
2017-10-25 23:01:45 -04:00
Wilson Snyder
c17c81254e
Internals: Use = delete via a macro for a bit of C++11 forward compatibility
2017-10-25 20:00:38 -04:00
Wilson Snyder
5ead61dc7b
Unify format of VL_DEBUG print messages
2017-10-24 22:56:58 -04:00
Wilson Snyder
32874fa848
Internals: Misc VCD code cleanups. No functional change.
2017-10-21 17:53:23 -04:00
Wilson Snyder
b90f383cfe
Add --threads option through to makefiles, unadvertised for now.
2017-10-21 16:41:43 -04:00
Wilson Snyder
10e0d34140
Refactor verilated_vpi.h to move most code to .cpp. No functional change intended.
2017-10-19 21:33:22 -04:00
Wilson Snyder
f4b00d3c64
Call VL_PRINTF/vl_stop/vl_finish/vl_fatal through wrappers as hook for future MT use.
2017-10-19 19:40:51 -04:00
Wilson Snyder
cc0b780412
Internals: More use of unordered_map/set. No functional change intended.
2017-10-18 18:22:58 -04:00
Wilson Snyder
1372d62186
Remove duplicate class forward declarations.
2017-10-18 17:38:10 -04:00
Wilson Snyder
21030f0a4f
Internals: C++ style casts. No functional change intended.
2017-10-14 13:00:42 -04:00
Wilson Snyder
d21824cbae
Internals: Refactor verilated_vcd to move singleton into only .cpp. No functional change intended.
2017-10-14 13:00:25 -04:00
Wilson Snyder
de35c90847
Fix float-conversion warning, bug1229.
2017-10-11 19:01:37 -04:00
Wilson Snyder
13c91f5fce
Internals: Refactor VerilatorSerialize to remove intermediate class. No functional change intended.
2017-10-11 18:55:31 -04:00
Wilson Snyder
ac4690d74b
Internals: Add const's. No functional change
2017-10-10 22:22:17 -04:00
Wilson Snyder
a1a8f17617
Internals: Add const's. No functional change
2017-10-10 20:24:10 -04:00
Wilson Snyder
440fbef79b
Untabify examples. No functional change.
2017-10-10 07:18:01 -04:00
Wilson Snyder
3c1b82255e
Change VL_THREADED to use C++11, and compute and test related GCC flags automatically
2017-10-07 21:29:57 -04:00
Wilson Snyder
6bd47b54df
Tests: Add t_include_all. Fix GCC warning when DPI with VPI.
2017-10-07 21:21:12 -04:00
Wilson Snyder
0ac116bb4e
Internals: Favor C++ cast style. No functional change intended.
2017-10-07 15:01:19 -04:00
Wilson Snyder
89ac6ab594
Fix memory leak in VerilatedVcd dumps, bug1222 partial.
2017-10-02 18:49:00 -04:00
Wilson Snyder
3f14e649b5
Internals: Use singleton in place of global
2017-09-23 07:44:52 -04:00
Wilson Snyder
c2e8062f84
Verilated headers no longer "use namespace std;"
2017-09-23 07:32:37 -04:00
Wilson Snyder
38ab22bf1d
Simplify VL_CONST_W macro generation for faster compiles.
2017-09-18 21:36:18 -04:00
Wilson Snyder
ce16f7689d
Fix clang 3.8 warnings
2017-09-18 20:05:56 -04:00
Wilson Snyder
778564e63b
Compling: Turn on -Wextra when using --enable-ccwarn
2017-09-14 23:28:02 -04:00
Wilson Snyder
960b2ed023
Internals: Fix some shadow and other warnings. No functional change
2017-09-14 23:26:23 -04:00
Wilson Snyder
77804b4d38
Fix GCC noreturn compile error, bug1209.
2017-09-13 19:27:59 -04:00
Wilson Snyder
c28a6eef3b
Fix whitespace issues, bug1203.
2017-09-11 19:18:58 -04:00
Wilson Snyder
074689b5de
SystemPerl mode (-sp-deprecated) has been removed.
2017-09-07 21:08:49 -04:00
Wilson Snyder
cb82c42e35
Test for bug1191.
2017-08-28 22:41:38 -04:00
Wilson Snyder
ca26596695
Fix undefined VL_POW_WWI.
2017-07-12 20:08:32 -04:00
Wilson Snyder
13f790360d
Fix compile error on unused VL_VALUEPLUSARGS_IW, bug1181.
2017-07-07 07:50:45 -04:00
Wilson Snyder
70daadf987
Fix cpp-check warnings; support XML format 2
2017-07-06 20:25:59 -04:00
Wilson Snyder
9d5004db1c
Fix GCC 7 warnings.
2017-07-06 19:49:34 -04:00
Wilson Snyder
00a502942e
Fix valueplus exceeding array bounds.
2017-07-06 19:01:35 -04:00
Wilson Snyder
3adb22e971
Support x in ,
2017-07-05 18:51:06 -04:00
Wilson Snyder
6c87724af8
Support set_time_unit/set_time_precision in C traces, msg2261.
2017-06-20 19:33:58 -04:00
Wilson Snyder
97093fdf81
Fix power operator on wide constants, bug761.
2017-06-05 20:30:01 -04:00
Wilson Snyder
50c4f60c68
Internals: Favor preincrement. No functional change.
2017-06-05 20:16:51 -04:00
Wilson Snyder
f0fb3b78d1
Internals: New VL_ZERO_W for faster inline. Prefer WData for wide. No functional change intended.
2017-06-05 20:04:09 -04:00
Wilson Snyder
9b06178f35
Fix shifts by more than 32-bit numbers, bug1174.
2017-06-05 07:56:59 -04:00
Wilson Snyder
447d803800
Fix internal clang warnings.
2017-05-24 23:51:15 -04:00
Wilson Snyder
b032fce962
Support $value$plusargs with variables, bug1165.
2017-05-18 22:41:43 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
5b6f47cd0f
If VM_PARALLEL_BUILDS=1, use OPT_FAST and OPT_SLOW.
2016-09-19 19:31:09 -04:00
Wilson Snyder
6789d247e2
Fix SystemC compiles with VPI, bug1081.
2016-08-23 18:05:29 -04:00
David Horton
31c9e26e2e
Fix compiler warning in GCC 6.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-07-09 04:09:34 -04:00
Wilson Snyder
4f1398f773
Add commandArgsAdd, msg1890.
2016-05-16 22:04:21 -04:00
Wilson Snyder
ae89e399a3
Fix to string, msg1890.
2016-05-16 21:57:49 -04:00
Wilson Snyder
80678ae7bc
Fix clang 3.8.0 warnings.
2016-03-31 22:26:49 -04:00
Stefan Wallentowitz
c5332de86d
Support SV strings to readmemh, bug1040.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-03-01 18:57:15 -05:00
Wilson Snyder
b488666c1e
Fix cppcheck 1.71 issues. No functional change intended.
2016-02-04 18:30:21 -05:00
Wilson Snyder
850100c9c2
Fix compares to null, part of bug1030.
2016-02-02 19:35:44 -05:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
e8b5001cfe
Fix model restore crash, bug1013.
2015-12-14 19:58:22 -05:00
Wilson Snyder
b0a249f338
Fix display %u, %v, %p, %z, bug989.
2015-11-10 21:12:15 -05:00
Wilson Snyder
64162efebd
Fix commit 379bfd06
, crash in commandArgsPlusMatch
2015-11-01 08:14:18 -05:00
Wilson Snyder
0d7b1a7dc7
Remove VlCovCvtToCStr to avoid scary scope issues.
2015-10-29 21:58:00 -04:00
Wilson Snyder
379bfd062f
Fix crash in commandArgsPlusMatch, bug987.
2015-10-29 21:07:49 -04:00
Wilson Snyder
4fc9a906f6
Internals: Fix cppcheck warnings; add VL_DANGLING. No functional change.
2015-10-04 13:16:35 -04:00
Wilson Snyder
5de83c9805
Internals: Fix cppcheck warnings. No functional change.
2015-10-04 13:11:32 -04:00
Wilson Snyder
318ded4198
Internals: Cleanup cppcheck warnings.
2015-10-03 22:33:06 -04:00
Wilson Snyder
9a16001e51
Add --vpi flag, and fix VPI linkage, bug969.
2015-09-25 22:57:28 -04:00
Todd Strader
34870e899f
Add VerilatedScopeNameMap for introspection, bug966.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2015-09-24 21:08:58 -04:00
Wilson Snyder
5e41350588
Fix makefile with --coverage, bug953.
2015-08-12 19:06:15 -04:00