diff --git a/Changes b/Changes index acf6dcee5..c3958d189 100644 --- a/Changes +++ b/Changes @@ -52,7 +52,7 @@ Verilator 4.220 2022-03-12 * Add VERILATOR_VERSION_INTEGER for determining API (#3343). [Larry Doolittle] * Improve various V3Combine algorithm details (#3328). [Yutetsu TAKATSUKASA] * Improve various V3Order algorithm details. [Geza Lore] -* Fix macOS arm64 build (#3285) (#3291). [Guokai Chen] +* Fix MacOS arm64 build (#3285) (#3291). [Guokai Chen] * Fix signed number operation (#3294) (#3308). [Raynard Qiao] * Fix FST traces to include vector range (#3296) (#3297). [Jamie Iles] * Fix skipping public enum values with four-state values (#3303). @@ -117,7 +117,7 @@ Verilator 4.216 2021-12-05 **Minor:** * Internal code cleanups and improvements. [Geza Lore] -* Improve --thread verilation-time performance. +* Improve --thread Verilation-time performance. * Support task name in $display %m (#3211). [Julie Schwartz] * Make 'bit', 'logic' and 'time' types unsigned by default. [Geza Lore] * Optimize $random concatenates/selects (#3114). @@ -141,7 +141,7 @@ Verilator 4.214 2021-10-17 **Major:** -* Add profile-guided optmization of mtasks (#3150). +* Add profile-guided optimization of mtasks (#3150). **Minor:** @@ -207,7 +207,7 @@ Verilator 4.210 2021-07-07 * Add --prof-c to pass profiling to compiler (#3059). [Alexander Grobman] * Optimize a lot more model variables into function locals (#3027). [Geza Lore] -* Support middle-of-design nested topmodules (#3026). [Dan Petrisko] +* Support middle-of-design nested top modules (#3026). [Dan Petrisko] * Remove deprecated --no-relative-cfuncs option (#3024). [Geza Lore] * Remove deprecated --inhibit-sim option (#3035). [Geza Lore] * Merge const static data globally into a new constant pool (#3013). [Geza Lore] @@ -249,7 +249,7 @@ Verilator 4.204 2021-06-12 * Fix merging of assignments in C++ code (#2970). [Ruper Swarbrick] * Fix unused variable warnings (#2991). [Pieter Kapsenberg] * Fix --protect-ids when using SV classes (#2994). [Geza Lore] -* Fix constant function calls with uninit value (#2995). [yanx21] +* Fix constant function calls with uninitialized value (#2995). [yanx21] * Fix Makefiles to support Windows EXEEXT usage (#3008). [Miodrag Milanovic] @@ -287,7 +287,7 @@ Verilator 4.202 2021-04-24 * Fix Cygwin example compile issues (#2856). [Mark Shaw] * Fix select of with index variable (#2880). [Alexander Grobman] * Fix cmake version number to be numeric (#2881). [Yuri Victorovich] -* Fix MinGW not supportting 'localtime_r' (#2882). [HyungKi Jeong] +* Fix MinGW not supporting 'localtime_r' (#2882). [HyungKi Jeong] * Fix cast from packed, typedef'ed interface signal (#2884). [Todd Strader] * Fix VPI package reported as vpiModule (#2885). [Todd Strader] * Fix dumping waveforms to multiple FST files (#2889). [David Metz] @@ -434,7 +434,7 @@ Verilator 4.102 2020-10-15 * Support # as a comment in -f files (#2497). [phantom-killua] * Support 'this' (#2585). [Rafal Kapuscik] * Support defines for FST tracing (#2592). [Markus Krause] -* Support non-overapping implication inside properties (#1292). [Peter Monsson] +* Support non-overlapping implication inside properties (#1292). [Peter Monsson] * Fix timescale with --hierarchical (#2554). [Yutetsu TAKATSUKASA] * Fix cmake build with --hierarchical (#2560). [Yutetsu TAKATSUKASA] * Fix -G dropping public indication (#2561). [Andrew Goessling] @@ -460,7 +460,7 @@ Verilator 4.100 2020-09-07 * Support (with limitations) class extern, class extends, virtual class. * Support $urandom, $urandom_range without stability. * Support assume property. [Peter Monsson] -* Support non-overapping implication inside properties (#1292). [Peter Monsson] +* Support non-overlapping implication inside properties (#1292). [Peter Monsson] * Fix false DECLFILENAME on black-boxed modules (#2430). [Philipp Wagner] * Fix naming of "id : begin" blocks. * Fix class constructor error on assignments to const. diff --git a/docs/.gitignore b/docs/.gitignore index 4e1217655..3a270f863 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -2,3 +2,4 @@ *.html *.pdf _build +guide/spelling.txt diff --git a/docs/Makefile b/docs/Makefile index 7e4a96d69..8a5d1af7d 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -35,6 +35,7 @@ default: # Intermediate rules vl-extract: ../bin/verilator ../Changes + ln -sf ../spelling.txt guide/spelling.txt mkdir -p _build/gen $(PYTHON3) bin/vl_sphinx_extract ../bin/verilator sed 's/`/\&96;/g' < ../Changes > _build/gen/Changes @@ -77,6 +78,7 @@ clean mostlyclean distclean maintainer-clean:: rm -f *.pg *.pgs *.toc *.tp *.tps *.vr *.vrs *.idx rm -f *.ev *.evs *.ov *.ovs *.cv *.cvs *.ma *.mas rm -f *.tex + rm -f guide/spelling.txt distclean maintainer-clean:: rm -f *.info* *.1 *.html *.pdf $(INFOS) diff --git a/docs/guide/exe_verilator.rst b/docs/guide/exe_verilator.rst index 53b66550b..00e101ed0 100644 --- a/docs/guide/exe_verilator.rst +++ b/docs/guide/exe_verilator.rst @@ -847,12 +847,12 @@ Summary: .. option:: --prof-exec - Enable collection of execution trace, that can be convered into a gantt + Enable collection of execution trace, that can be converted into a gantt chart with verilator_gantt See :ref:`Execution Profiling`. .. option:: --prof-pgo - Enable collection of profiling data for profile guided verilation. Currently + Enable collection of profiling data for profile guided Verilation. Currently this is only useful with :vlopt:`--threads`. See :ref:`Thread PGO`. .. option:: --prof-threads diff --git a/docs/guide/extensions.rst b/docs/guide/extensions.rst index 491ff18fc..bd5171c52 100644 --- a/docs/guide/extensions.rst +++ b/docs/guide/extensions.rst @@ -217,7 +217,7 @@ or "`ifdef`"'s may break other tools. :option:`public_flat` signals. To force a marked signal from C++, set the corresponding `__VforceVal` - variable to the desired value, and the `__VforceEn` signal to the bitmask + variable to the desired value, and the `__VforceEn` signal to the bit-mask indicating which bits of the signal to force. To force all bits of the target signal, set `__VforceEn` to all ones. To release the signal (or part thereof), set appropriate bits of the `__VforceEn` signal to zero. diff --git a/docs/guide/languages.rst b/docs/guide/languages.rst index c4c714351..074f91d31 100644 --- a/docs/guide/languages.rst +++ b/docs/guide/languages.rst @@ -343,7 +343,7 @@ Verilator supports the procedural `force` (and corresponding `release`) statement. The behavior of the `force` statement however does not entirely comply with the IEEE 1800 SystemVerilog standard. According to the standard, when a procedural statement of the form `force a = b;` is executed, the -simulation should behave as if from that point onwards, a continuous +simulation should behave as if from that point forwards, a continuous assignment `assign a = b;` have been added to override the drivers of `a`. More specifically: the value of `a` should be updated, whenever the value of `b` changes, all the way until a `release a;` statement is executed. diff --git a/docs/guide/simulating.rst b/docs/guide/simulating.rst index c6c5fba7b..01dd7f844 100644 --- a/docs/guide/simulating.rst +++ b/docs/guide/simulating.rst @@ -405,7 +405,7 @@ others as they prove beneficial. Thread Profile-Guided Optimization ---------------------------------- -Verilator supports profile-guided optimization (verilation) of multi-threaded +Verilator supports profile-guided optimization (Verilation) of multi-threaded models (Thread PGO) to improve performance. When using multithreading, Verilator computes how long macro tasks take and diff --git a/docs/guide/warnings.rst b/docs/guide/warnings.rst index e122fec90..55206295c 100644 --- a/docs/guide/warnings.rst +++ b/docs/guide/warnings.rst @@ -1506,7 +1506,7 @@ List Of Warnings Error that a construct might be legal according to IEEE but is not currently supported by Verilator. - A typical workaround is to recode the construct into a simpler and more + A typical workaround is to rewrite the construct into a simpler and more common alternative language construct. Alternatively, check if the construct is supported by other tools, and diff --git a/docs/spelling.txt b/docs/spelling.txt index 82c6984da..c0c5e738d 100644 --- a/docs/spelling.txt +++ b/docs/spelling.txt @@ -2,9 +2,11 @@ ABCp Accellera Affe Aleksander +Alexandre Ami Amir Anastasiadis +Anikin Antonin Antwerpen Arasanipalai @@ -70,6 +72,7 @@ Eda Eddleston Egbert Egil +Ehab Eiler Eivind El @@ -82,6 +85,7 @@ Fabrizio Fekete Ferrandi Flachs +Flavien Foletto Forker Francillon @@ -104,6 +108,7 @@ Goessling Gonnen Goorah Gossner +Graybeal Grobman Gunter Guo @@ -121,6 +126,7 @@ Hornung Hossell Hsu Hyperthreading +Ibrahim Iles Inlines Inout @@ -134,6 +140,7 @@ Jannis Jens Jeras Jiuyang +Joannou Joly Jullien Junji @@ -147,6 +154,7 @@ Kamendje Kandadi Kaplan Karge +Karlsson Katz Katzman Keren @@ -161,6 +169,7 @@ Kolecki Koonce Korteland Koszek +Kouping Kravitz Krolnik Kruse @@ -194,6 +203,7 @@ Mednick Michiels Microsystems Milanovic +Millis MinW Mindspeed Miodrag @@ -224,12 +234,14 @@ Petr Piechotka Piersall Plunkett +Popolon Popov Prabhat Prabhu Prateek Pre Preprocess +Pretet Priyadharshini Pullup Pulver @@ -245,6 +257,7 @@ Rodionov Rolfe Roodselaar Runtime +Ruper Ruud Rystsov STandarD @@ -262,12 +275,15 @@ Shi Shinkarovsky Shirakawa Shuba +Shunyao Slatter SoC Sobhan Sokorac Solaris Solomatnikov +Solt +Southwell Srini Stamness Stephane @@ -286,6 +302,7 @@ SystemVerilog Takatsukasa Tambe Tariq +Tejada Tengstrand Terpstra Thiede @@ -293,8 +310,10 @@ Thierry Thyer Tichelaar Tomov +Tood Topa Tota +Trefor Tresidder Tri Tristate @@ -304,11 +323,13 @@ Ubixum Uints Undefines Unsized +Urbach Uselib Usha Usuario VERILATOR Vasu +Vdeeptemp Vdly Vemumtab Vemuri @@ -351,7 +372,9 @@ Zhang abirkmanis accessor accessors +adrienlemasle agrobman +ahouska al ala andit @@ -372,8 +395,12 @@ backtrace backtraces basename bbox +benchmarking biguint biops +bitOpTree +bitOpTree +bitop bitstoreal blackbox bokke @@ -389,6 +416,7 @@ casez casted cb ccache +ccall cdc ceil celldefine @@ -411,6 +439,8 @@ concat concats config const +constexpr +constpool coredump countbits countones @@ -426,6 +456,7 @@ da dat datadir datafiles +david ddd deassign debugi @@ -434,6 +465,7 @@ defname defparam demangling der +dereference desassign destructor detections @@ -462,6 +494,7 @@ dumpvars dut dx elab +elike elsif endcase endcelldefine @@ -480,15 +513,18 @@ enums env envvar eof +errae erroring et eval +evals exe executables expr extern fanin fasttrace +fauto fbranch fclose fdisplay @@ -503,6 +539,7 @@ filt flto flushCall fopen +forceable foreach fprintf fprofile @@ -521,6 +558,7 @@ funcs fwrite gantt gcc +gcda gdb genblk genvar @@ -552,6 +590,7 @@ incdir includer inferfaces inhibitSim +initarray initializer initializers inits @@ -570,6 +609,7 @@ killua lang lcov ld +leavinel len libext libgoogle @@ -584,6 +624,7 @@ ln loc localparam localparams +localtime logicals longint lsb @@ -618,6 +659,7 @@ multithreaded multithreading mutexes mux +myftptoyman mysignal namespace nand @@ -646,11 +688,14 @@ param parameterized params parens +pawel pc pdf perf perftools +pgo picoChip +pinIndex pinout plusargs pmos @@ -676,6 +721,7 @@ prev printf printtimescale profcfunc +profiler prototyptes ps pthread @@ -703,12 +749,14 @@ regs reloop resetall respecified +rodata rr rst runtime runtimes rw sVerilator +sawatzke sc scalared sccanf @@ -743,6 +791,7 @@ subcells subexpressions submodule submodules +substring sv svBitVal svBitVecVal @@ -777,6 +826,7 @@ trunc txt typ typedef +typedef'ed typedefed typedefs typename @@ -790,6 +840,7 @@ uniquified unistd unlink unlinked +unnamedblk unopt unoptflat unoptimizable @@ -845,5 +896,7 @@ xnor xout xuejiazidi yanx +ypq yurivict zdave +Øyvind