verilator/Changes

3076 lines
92 KiB
Plaintext
Raw Normal View History

2014-05-11 20:51:56 +00:00
Revision history for Verilator
The contributors that suggested a given feature are shown in []. Thanks!
2012-03-08 04:02:24 +00:00
2018-03-17 16:01:59 +00:00
* Verilator 3.923 devel
*** Renamed --profile-cfuncs to --prof-cfuncs.
**** Report interface ports connected to wrong interface, bug1294. [Todd Strader]
**** When tracing, use scalars on single bit arrays to appease vcddiff.
**** Fix parsing "output signed" in V2K port list, msg2540. [James Jung]
**** Fix parsing error on bad missing #, bug1308. [Dan Kirkham]
2018-03-17 16:01:59 +00:00
2018-03-17 15:56:37 +00:00
* Verilator 3.922 2018-03-17
2018-02-02 01:14:40 +00:00
** Support IEEE 1800-2017 as default language.
*** Support trig functions ($sin() etc), bug1281. [Patrick Stewart]
*** Support calling system functions as tasks, bug1285. [Joel Holdsworth]
*** Support assert properties, bug785, bug1290. [John Coiner, et al]
2018-03-12 20:44:01 +00:00
*** Support $writememh. [John Coiner]
*** Add --no-debug-leak to reduce memory use under debug. [John Coiner]
**** Fix severe runtime performance bug in certain foreach loops. [John Coiner]
2018-03-10 17:52:11 +00:00
**** On convergence errors, show activity. [John Coiner]
2018-02-07 23:58:21 +00:00
**** Fix GCC 8.0 issues, bug1273.
**** Fix pullup/pulldowns on bit selects, bug1274. [Rob Stoddard]
**** Fix verilator_coverage --annotate-min, bug1284. [Tymoteusz Blazejczyk]
**** Fix quoting of quoted arguments. [John Coiner]
2018-02-02 01:14:40 +00:00
2018-02-02 01:09:58 +00:00
* Verilator 3.920 2018-02-01
2018-01-02 23:13:45 +00:00
2018-02-02 00:20:08 +00:00
** Moving forward, use the git "stable" branch to track the latest release,
and git "v#.###" tags for specific releases.
2018-02-02 00:18:00 +00:00
*** Support 'assume' similar to 'assert', bug1269. [Dan Gisselquist]
**** Fix tracing example file output, bug1268. [Enzo Chi]
**** Fix gate optimization out of memory, add --gate-stmts, bug1260. [Alex Solomatnikov]
**** Fix compile error on public real parameters by suppressing, bug1261. [Alex Solomatnikov]
**** Fix input-only tristate comparisons, bug1267. [Alexis G]
**** Fix missing edge type in xml output, msg2480. [Alexis G]
**** Fix compile error with --public and interface bind, bug1264. [Alexis G]
**** Remove c++filt, bug1265. [Stefan Wallentowitz]
2018-01-02 23:13:45 +00:00
2018-01-02 23:06:05 +00:00
* Verilator 3.918 2018-01-02
2017-11-27 23:50:14 +00:00
*** Workaround GCC/clang bug with huge compile times, bug1248.
*** Support DPI open arrays, bug909, bug1245. [David Pierce, Victor Besyakov]
2017-12-27 02:35:08 +00:00
*** Add INFINITELOOP warning, bug1254. [Alex Solomatnikov]
2017-12-03 03:10:58 +00:00
**** Support > 64 bit decimal $display.
**** Support DPI time and svLogicVal. [Victor Besyakov]
Note older version incorrectly assumed svBitVal even for logicals.
2017-12-08 00:57:11 +00:00
**** Support string len() method. [Victor Besyakov]
**** Add error if always_comb has sensitivity list. [Arjen Roodselaar]
**** Fix SystemC 2.3.2 compile error, bug1251. [Tymoteusz Blazejczyk]
2017-12-03 03:10:58 +00:00
**** Fix modport outputs being treated as inputs, bug1246. [Jeff Bush]
**** Fix false ALWCOMBORDER on interface references, bug1247. [Josh Redford]
**** Fix constant propagation across DPI imports of inout strings. [Victor Besyakov]
**** Fix resolving inline nested interface names, bug1250. [Arjen Roodselaar]
2017-11-27 23:50:14 +00:00
2017-11-25 20:42:11 +00:00
* Verilator 3.916 2017-11-25
2017-10-15 00:47:25 +00:00
*** Support self-recursive modules, bug659. [Sean Moore, et al]
*** Support $error/$warning in elaboration time blocks.
*** Support $size/$bits/etc on type references.
*** Add error when driving input-only modport, bug1110. [Trevor Elbourne]
*** Add BSSPACE and COLONPLUS lint warnings.
2017-10-15 14:36:50 +00:00
**** Detect MSB overflow when under VL_DEBUG, bug1238. [Junyi Xi]
2017-11-09 02:27:15 +00:00
**** Add data types to --xml. [Rui Terra]
**** Fix partial slicing with pattern assignments, bug991. [Johan Bjork]
**** Fix false unused warning on interfaces, bug1241. [Laurens van Dam]
**** Fix error on "unique case" with no cases.
**** Fix MacOS portability, bug1232. [Jeff Bush]
2017-10-15 14:36:50 +00:00
2017-10-14 20:20:17 +00:00
* Verilator 3.914 2017-10-14
2017-09-23 14:11:06 +00:00
** Added new examples/ directory with appropriate examples. This replaces the
old test_c and test_sc directories.
2017-10-02 01:31:40 +00:00
*** Add --getenv option for simplifying Makefiles.
*** Add --x-initial option for specifying initial value assignment behavior.
2017-09-23 22:03:39 +00:00
*** Add --no-relative-cfuncs and related default optimization, bug1224. [John Coiner]
*** Add /*verilator tag*/ for XML extraction applications. [Chris Randall]
**** The internal test_verilated test directory is moved to be part of test_regress.
**** The experimental VL_THREADED setting (only, not normal mode) now requires C++11.
**** Fix over-aggressive inlining, bug1223. [John Coiner]
**** Fix Ubuntu 17.10 issues, bug1223 partial. [John Coiner]
**** Fix compiler warning when WIDTH warning ignored on large compare.
**** Fix memory leak in VerilatedVcd dumps, bug1222 partial. [Shareef Jalloq]
**** Fix unnecessary Vdly variables, bug1224 partial. [John Coiner]
**** Fix conditional slices and add related optimizations.
**** Fix `` expansion of `defines, bug1225, bug1227, bug1228. [Odd Magne Reitan]
2017-10-10 01:08:50 +00:00
**** Fix -E duplicating output, bug1226. [Odd Magne Reitan]
2017-10-11 23:01:37 +00:00
**** Fix float-conversion warning, bug1229. [Robert Henry]
2017-10-14 16:56:16 +00:00
**** Fix MacOS portability, bug1230, bug1231. [Jeff Bush]
2017-10-14 13:00:39 +00:00
2017-09-23 14:11:06 +00:00
2017-09-23 14:04:52 +00:00
* Verilator 3.912 2017-09-23
2017-09-08 01:15:48 +00:00
** Verilated headers no longer "use namespace std;"
User's code without "std::" prefixes may need "use namespace std;" to compile.
*** Support or/and/xor array intrinsic methods, bug1210. [Mike Popoloski]
2017-09-21 01:04:59 +00:00
*** Support package export, bug1217. [Usuario Eda]
*** Fix ordering of arrayed cell wide connections, bug1202 partial. [Mike Popoloski]
**** Support module port parameters without defaults, bug 1213. [Mike Popoloski]
**** Add performance information to --stats file.
**** Simplify VL_CONST_W macro generation for faster compiles.
**** Fix LITENDIAN warning on arrayed cells, bug1202. [Mike Popoloski]
**** Fix enum ranges without colons, bug1204. [Mike Popoloski]
**** Fix GCC noreturn compile error, bug1209. [Mike Popoloski]
**** Fix constant function default parameters, bug1211. [Mike Popoloski]
**** Fix non-colon array of interface modports, bug1212. [Mike Popoloski]
**** Fix .name connections on interfaces, bug1214. [Mike Popoloski]
**** Fix wide array indices causing compile error.
2017-09-22 01:05:42 +00:00
**** Better optimize Shift-And, and replication constructs.
2017-09-20 00:56:17 +00:00
2017-09-08 01:15:48 +00:00
2017-09-08 01:10:22 +00:00
* Verilator 3.910 2017-09-07
2017-08-29 02:51:53 +00:00
*** SystemPerl mode (-sp-deprecated) has been removed.
2017-09-03 01:01:50 +00:00
**** Update keyword warnings to include C++11 and others.
2017-08-29 02:46:43 +00:00
* Verilator 3.908 2017-08-28
2017-06-22 22:36:29 +00:00
2017-07-05 22:51:06 +00:00
**** Support x in $readmem, bug1180. [Arthur Kahlich]
**** Support packed struct DPI imports, bug1190. [Rob Stoddard]
2017-07-06 23:07:23 +00:00
**** Fix GCC 6 warnings.
**** Fix compile error on unused VL_VALUEPLUSARGS_IW, bug1181. [Thomas J Whatson]
2017-07-13 00:08:32 +00:00
**** Fix undefined VL_POW_WWI. [Clifford Wolf]
**** Fix internal error on unconnected inouts, bug1187. [Rob Stoddard]
2016-03-02 00:14:04 +00:00
2017-06-22 22:31:22 +00:00
* Verilator 3.906 2017-06-22
2017-05-31 02:04:58 +00:00
*** Support set_time_unit/set_time_precision in C traces, msg2261.
*** Fix extract of packed array with non-zero LSB, bug1172. [James Pallister]
*** Fix shifts by more than 32-bit numbers, bug1174. [Clifford Wolf]
*** Fix power operator on wide constants, bug761. [Clifford Wolf]
2017-06-20 22:40:18 +00:00
*** Fix .* on interface pins, bug1176. [Maciej Piechotka]
2017-05-31 02:04:58 +00:00
2017-05-31 02:01:21 +00:00
* Verilator 3.904 2017-05-30
2017-04-02 12:49:31 +00:00
*** Fix non-cutable ordering loops on clock arrays, bug1009. [Todd Strader]
*** Support ports of array of reals, bug1154. [J Briquet]
*** Support arrayed parameter overrides, bug1153. [John Stevenson]
*** Support $value$plusargs with variables, bug1165. [Wesley Terpstra]
**** Support modport access to un-modport objects, bug1161. [Todd Strader]
**** Add stack trace when can't optimize function, bug1158. [Todd Strader]
**** Add warning on mis-sized literal, bug1156. [Todd Strader]
2017-04-02 12:49:31 +00:00
**** Fix interface functions returning wrong parameters, bug996. [Todd Strader]
**** Fix non-arrayed cells with interface arrays, bug1153. [John Stevenson]
**** Fix --assert with complex case statements, bug1164. [Enzo Chi]
2017-04-02 12:49:31 +00:00
2017-04-02 12:43:53 +00:00
* Verilator 3.902 2017-04-02
2017-01-27 03:41:05 +00:00
** Add -FI option to force includes,msg2146. [Amir Gonnen]
2017-02-09 23:33:18 +00:00
** Add --relative-includes. [Rob Stoddard]
*** Add error on duplicate pattern assignments, bug1145. [Johan Bjork]
**** Fix error on improperly widthed default function, bug984. [Todd Strader]
2017-01-27 03:41:32 +00:00
**** Fix 2009 localparam syntax, msg2139. [Galen Seitz]
**** Fix ugly interface-to-non-interface errors, bug1112. [Johan Bjork]
**** Fix LDFLAGS and CFLAGS not preserving order, bug1130. [Olof Kindgren]
**** Fix internal error on initializing parameter array, bug1131. [Jie Xu]
**** Fix internal error on interface arrays, bug1135. [John Stevenson]
**** Fix calling sformatf to display, and elab $displays, bug1139. [Johan Bjork]
**** Fix realpath compile issue on MSVC++, bug1141. [Miodrag Milanovic]
**** Fix missing error on interface size mismatch, bug1143. [Johan Bjork]
**** Fix error on parameters with dotted references, bug1146. [Johan Bjork]
**** Fix wreal not handling continuous assign, bug1150. [J Briquet]
**** Fix nested structure parameter selects, bug1150. [J Briquet]
2017-01-27 03:41:05 +00:00
2017-01-15 17:09:59 +00:00
* Verilator 3.900 2017-01-15
2016-11-25 15:55:28 +00:00
2017-01-15 17:09:59 +00:00
** Internal code changes for improved compatibility and performance.
*** Support old-style $display($time), bug467. [John Demme]
2017-01-10 00:19:21 +00:00
**** With --bbox-unsup, suppress desassign and mixed edges, bug1120. [Galen Seitz]
**** Fix parsing sensitivity with &&, bug934. [Luke Yang]
**** Fix internal error on double-for loop unrolling, bug1044. [Jan Egil Ruud]
**** Fix internal error on unique casez with --assert, bug1117. [Enzo Chi]
**** Fix bad code when tracing array of structs, bug1122. [Andrew Bardsley]
2016-11-25 15:55:28 +00:00
2016-11-25 15:35:45 +00:00
* Verilator 3.890 2016-11-25
2016-10-14 23:51:30 +00:00
*** Honor --output-split on coverage constructors, bug1098. [Johan Bjork]
**** Fix various issues when making outside of the kit.
2016-11-06 13:14:05 +00:00
**** Fix flex 2.6.2 bug, bug1103. [Sergey Kvachonok]
**** Fix error on bad interface name, bug1097. [Todd Strader]
**** Fix error on referencing variable in parent, bug1099. [Ian Thompson]
**** Fix type parameters with low optimization, bug1101. [Stefan Wallentowitz]
2016-10-14 23:51:30 +00:00
2016-10-14 23:42:18 +00:00
* Verilator 3.888 2016-10-14
2016-07-30 14:18:52 +00:00
2016-09-20 02:00:13 +00:00
** Support foreach, bug1078. [Xuan Guo]
*** Add --no-decoration to remove output comments, msg2015. [Frederic Requin]
*** If VM_PARALLEL_BUILDS=1, use OPT_FAST and OPT_SLOW. [Frederic Requin]
Set VM_DEFAULT_RULES=0 for old behavior.
**** Add error on DPI functions > 32 bits, msg1995. [Elliot Mednick]
**** Fix SystemC compiles with VPI, bug1081. [Arthur Kahlich]
**** Fix error on wide numbers that represent shifts, msg1991, bug1088. [Mandy Xu]
**** Improve Verilation performance on internal strings, msg1975. [Johan Bjork]
2016-09-19 21:55:43 +00:00
**** Improve Verilation performance on trace duplicates, bug1090. [Johan Bjork]
2016-07-30 14:18:52 +00:00
2016-07-30 14:10:35 +00:00
* Verilator 3.886 2016-07-30
2016-05-19 01:15:33 +00:00
**** Fix enum values of 11-16 bits wide using .next/.prev, bug1062. [Brian Flachs]
**** Fix false warnings on non-power-2 enums using .next/.prev.
**** Fix comparison of unpacked arrays, bug1071. [Andrew Bardsley]
**** Fix compiler warning in GCC 6. [David Horton]
2016-05-19 01:10:56 +00:00
* Verilator 3.884 2016-05-18
2016-03-02 00:14:04 +00:00
2016-03-15 01:51:31 +00:00
** Support parameter type, bug376. [Alan Hunter, et al]
** Support command-line -G/+pvalue param overrides, bug1045. [Stefan Wallentowitz]
*** The default l2 scope name is now the same as the top-level module, bug1050.
Use "--l2-name v" for the historical behavior.
*** Add --l2-name option for controlling "v" naming.
**** Fix --output-split of constructors, bug1035. [Johan Bjork]
**** Fix removal of empty packages, modules and cells, bug1034. [Johan Bjork]
**** Fix core dump on Arch Linux/GCC 6.1.1, bug1058. [Jannis Harder]
2016-05-17 01:57:49 +00:00
**** Fix $value$plusargs to string, msg1890. [Frederic Requin]
2016-03-02 00:14:04 +00:00
2016-03-02 00:09:21 +00:00
* Verilator 3.882 2016-03-01
**** Internal Verilation-time performance enhancements, bug1021. [Johan Bjork]
**** Support inlining interfaces, bug1018. [Johan Bjork]
**** Support SV strings to readmemh, bug1040. [Stefan Wallentowitz]
**** Fix unrolling complicated for-loop bounds, bug677. [Johan Bjork]
**** Fix stats file containing multiple unroll entries, bug1020. [Johan Bjork]
**** Fix using short parameter names on negative params, bug1022. [Duraid Madina]
**** Fix read-after-free error, bug1031. [Johan Bjork]
**** Fix elaboration-time display warnings, bug1032. [Johan Bjork]
**** Fix crash on very deep function trees, bug1028. [Jonathan Kimmitt]
**** Fix slicing mix of big and little-endian, bug1033. [Geoff Barrett]
**** Fix pattern assignment width propagation, bug1037. [Johan Bjork]
2015-12-19 15:26:14 +00:00
* Verilator 3.880 2015-12-19
2015-11-01 13:20:17 +00:00
2015-11-13 03:29:42 +00:00
*** Support display %u, %v, %p, %z, bug989. [Johan Bjork]
**** Fix real parameters causing bad module names, bug992. [Johan Bjork]
**** Fix size-changing cast on packed struct, bug993. [Johan Bjork]
**** Fix function calls on arrayed interface, bug994. [Johan Bjork]
2015-12-06 00:45:36 +00:00
**** Fix arrayed interfaces, bug879, bug1001. [Todd Strader]
**** Fix constant function assigned to packed structs, bug997. [Johan Bjork]
2015-11-11 02:12:15 +00:00
2015-12-06 00:45:36 +00:00
**** Fix interface inside generate, bug998. [Johan Bjork]
2015-11-14 14:06:09 +00:00
2015-11-13 03:29:42 +00:00
**** Fix $signed casts under generates, bug999. [Clifford Wolf]
**** Fix genvar constant propagation, bug1003. [Johan Bjork]
**** Fix parameter constant propagation from package, bug1004. [Johan Bjork]
**** Fix array slicing of non-const indexes, bug1006. [Johan Bjork]
**** Fix dotted generated array error, bug1005. [Jeff Bush, Johan Bjork]
**** Fix error instead of warning on large concat, msg1768. [Paul Rolfe]
2015-12-09 03:22:42 +00:00
**** Fix $bitstoreal constant propagation, bug1012. [Jonathan Kimmitt]
2015-12-15 00:58:22 +00:00
**** Fix model restore crash, bug1013. [Jason McMullan]
**** Fix arrayed instances to unpacked of same size, bug1015. [Varun Koyyalagunta]
**** Fix slices of unpacked arrays with non-zero LSBs.
**** Fix ternary operation with unpacked array, bug1017. [Varun Koyyalagunta].
2015-11-01 13:20:17 +00:00
2015-11-01 13:18:54 +00:00
* Verilator 3.878 2015-11-01
2015-08-13 01:42:08 +00:00
** Add --vpi flag, and fix VPI linkage, bug969. [Arthur Kahlich]
** Support genvar indexes into arrayed cells, bug517. [Todd Strader]
2015-10-03 11:12:56 +00:00
** Support $sformatf, bug977. [Johan Bjork]
*** Support elaboration assertions, bug973. [Johan Bjork]
*** Support $display with non-format arguments, bug467. [Jamey Hicks]
**** Add VerilatedScopeNameMap for introspection, bug966. [Todd Strader]
2015-10-28 00:37:52 +00:00
**** Ignore %l in $display, bug983. [Todd Strader]
2015-09-20 00:12:35 +00:00
**** Fix very long module names, bug937. [Todd Strader]
**** Fix internal error on dotted refs into generates, bug958. [Jie Xu]
**** Fix structure parameter constant propagation, bug968. [Todd Strader]
2015-10-02 01:15:01 +00:00
**** Fix enum constant propagation, bug970. [Todd Strader]
**** Fix mis-optimizing public DPI functions, bug963. [Wei Song]
**** Fix package:scope.scope variable references.
**** Fix $fwrite to constant stderr/stdout, bug961. [Wei Song]
**** Fix struct.enum.name method calls, bug855. [Jonathon Donaldson]
**** Fix dot indexing into arrayed inferfaces, bug978. [Johan Bjork]
**** Fix crash in commandArgsPlusMatch, bug987. [Jamie Iles]
**** Fix error message on missing interface, bug985. [Todd Strader]
2015-08-13 01:42:08 +00:00
2015-08-13 01:40:55 +00:00
* Verilator 3.876 2015-08-12
2015-06-06 18:02:06 +00:00
*** Add tracing_on, etc to vlt files, bug932. [Frederic Requin]
**** Support extraction of enum bits, bug951. [Jonathon Donaldson]
2015-06-16 11:13:45 +00:00
**** Fix MinGW compiler error, bug927, bug929. [Hans Tichelaar]
2015-06-08 11:24:04 +00:00
**** Fix .c files to be treated as .cpp, bug930. [Jonathon Donaldson]
**** Fix string-to-int space conversion, bug931. [Fabrizio Ferrandi]
2015-06-16 23:27:18 +00:00
**** Fix dpi imports inside generates. [Michael Tresidder]
2015-07-21 17:22:08 +00:00
**** Fix rounding in trace $timescale, bug946. [Frederic Requin]
2015-07-21 22:36:27 +00:00
**** Fix $fopen with SV string, bug947. [Sven Stucki]
**** Fix hashed error with typedef inside block, bug948. [Sven Stucki]
2015-08-12 23:06:15 +00:00
**** Fix makefile with --coverage, bug953. [Eivind Liland]
2015-08-12 23:18:58 +00:00
**** Fix coverage documentation, bug954. [Thomas J Whatson]
**** Fix parameters with function parameter arguments, bug952. [Jie Xu]
**** Fix size casts as second argument of cast item, bug950. [Jonathon Donaldson]
2015-06-06 18:02:06 +00:00
* Verilator 3.874 2015-06-06
2015-04-09 23:00:02 +00:00
2015-05-14 01:21:29 +00:00
*** Add pkg-config .pc file, bug919. [Stefan Wallentowitz]
**** Fix installing missing manpages, bug908. [Ahmed El-Mahmoudy]
2015-04-09 23:00:02 +00:00
**** Fix sign extension in large localparams, bug910. [Mike Thyer]
**** Fix core dump in sync-async warnings, bug911. [Sebastian Dressler]
**** Fix truncation warning with -pins-bv, bug912. [Alfonso Martinez]
2015-05-08 00:41:53 +00:00
**** Fix Cygwin uint32 compile, bug914. [Matthew Barr]
**** Fix preprocessing stringified newline escapes, bug915. [Anton Rapp]
**** Fix part-select in constant function, bug916. [Andrew Bardsley]
**** Fix width extension on mis-width ports, bug918. [Patrick Maupin]
**** Fix width propagation on sized casts, bug925. [Jonathon Donaldson]
2015-06-04 23:37:03 +00:00
**** Fix MSVC++ compiler error, bug927. [Hans Tichelaar]
2015-04-09 23:00:02 +00:00
2015-04-05 14:56:20 +00:00
* Verilator 3.872 2015-04-05
2015-02-13 01:39:20 +00:00
*** Add VerilatedVcdFile to allow real-time waveforms, bug890. [HyungKi Jeong]
*** Add --clk and related optimizations, msg1533. [Jie Xu]
2015-03-13 11:06:06 +00:00
*** Fix order of C style arrays. [Duraid Madina]
2015-03-12 23:47:54 +00:00
**** Add --dump-treei-<srcfile>, bug894. [Jie Xu]
**** Fix comma-instantiations with parameters, bug884. [Franck Jullien]
**** Fix SystemC arrayed bit vectors, bug886. [David Poole]
2015-02-27 01:40:45 +00:00
**** Fix compile error on MinGW, bug887. [HyungKi Jeong]
2015-02-13 01:39:20 +00:00
2015-02-13 01:37:44 +00:00
* Verilator 3.870 2015-02-12
**** Suppress COMBDLY when inside always_latch, bug864. [Iztok Jeras]
**** Support cast operator with expression size, bug865. [Iztok Jeras]
**** Add warning on slice selection out of bounds, bug875. [Cong Van Nguyen].
**** Fix member select error broke in 3.868, bug867. [Iztok Jeras]
2014-12-25 02:50:38 +00:00
**** Fix $sccanf from string, bug866. [David Pierce]
**** Fix VM_PARALLEL_BUILDS broke in 3.868, bug870. [Hiroki Honda]
**** Fix non-ANSI modport instantiations, bug868. [Kevin Thompson]
**** Fix UNOPTFLAT change detect on multidim arrays, bug872. [Andrew Bardsley]
**** Fix slice connections of arrays to ports, bug880. [Varun Koyyalagunta]
**** Fix mis-optimizing gate assignments in unopt blocks, bug881. [Mike Thyer]
**** Fix sign extension of pattern members, bug882. [Iztok Jeras]
2015-02-11 03:38:05 +00:00
**** Fix clang compile warnings.
2014-12-20 21:49:42 +00:00
* Verilator 3.868 2014-12-20
2014-11-15 13:43:27 +00:00
** New verilator_coverage program added to replace SystemPerl's vcoverage.
2014-11-22 15:14:14 +00:00
** PSL support was removed, please use System Verilog assertions.
2014-11-27 13:30:54 +00:00
** SystemPerl mode is deprecated and now untested.
2014-11-29 02:37:47 +00:00
*** Support enum.first/name and similar methods, bug460, bug848.
*** Add 'string' printing and comparisons, bug746, bug747, etc.
*** Inline C functions that are used only once, msg1525. [Jie Xu]
*** Fix tracing SystemC signals with structures, bug858. [Eivind Liland]
Note that SystemC traces will no longer show the signals
in the wrapper, they can be seen one level further down.
2014-12-20 13:28:31 +00:00
**** Add --stats-vars, bug851. [Jeremy Bennett]
**** Fix bare generates in interfaces, bug789. [Bob Newgard]
**** Fix underscores in real literals, bug863. [Jonathon Donaldson]
2014-11-22 15:14:14 +00:00
2014-11-15 13:38:44 +00:00
* Verilator 3.866 2014-11-15
2014-09-21 13:06:40 +00:00
*** Fix +define+A+B to define A and B to match other simulators, bug847. [Adam Krolnik]
*** Add optimization of wires from arrayed cells, msg1447. [Jie Xu]
*** Add optimization of operators between concats, msg1447. [Jie Xu]
2014-11-07 12:50:11 +00:00
*** Add public enums, bug833. [Jonathon Donaldson]
*** Trace_off now operates on cells, bug826. [Lane Brooks]
**** Fix public parameters in unused packages, bug804. [Jonathon Donaldson]
**** Fix select when partially out-of-bound, bug823. [Cliffort Wolf]
**** Fix generate unrolling with function call, bug830. [Steven Slatter]
**** Fix cast-to-size context-determined sizing, bug828. [Geoff Barrett]
**** Fix not tracing modules following primitives, bug837. [Jie Xu]
**** Fix trace overflow on huge arrays, bug834. [Geoff Barrett]
**** Fix quoted comment slashes in defines, bug845. [Adam Krolnik]
2014-09-21 13:06:40 +00:00
2014-09-21 13:04:36 +00:00
* Verilator 3.864 2014-09-21
2014-06-11 00:43:10 +00:00
*** Support power operator with real, bug809. [Jonathon Donaldson]
**** Improve verilator_profcfunc time attributions. [Jonathon Donaldson]
**** Fix duplicate anonymous structures in $root, bug788. [Bob Newgard]
**** Fix mis-optimization of bit-swap in wide signal, bug800. [Jie Xu]
**** Fix error when tracing public parameters, bug722. [Jonathon Donaldson]
**** Fix dpiGetContext in dotted scopes, bug740. [Geoff Barrett]
**** Fix over-shift structure optimization error, bug803. [Jeff Bush]
**** Fix optional parameter keyword in module #(), bug810. [Iztok Jeras]
2014-09-05 02:25:19 +00:00
**** Fix $warning/$error multi-argument ordering, bug816. [Jonathon Donaldson]
2014-09-12 01:28:53 +00:00
**** Fix clang warnings, bug818. [Iztok Jeras]
**** Fix string formats under deep expressions, bug820. [Iztok Jeras]
2014-06-11 00:43:10 +00:00
2014-06-11 00:39:51 +00:00
* Verilator 3.862 2014-06-10
2014-05-11 20:58:01 +00:00
*** Using command line -Wno-{WARNING} now overrides file-local lint_on.
*** Add -P to suppress `line and blanks with preprocessing, bug781. [Derek Lockhart]
*** Support SV 2012 package import before port list.
**** Change SYMRSVDWORD to print as warning rather than error.
**** Fix seg-fault with variable of parameterized interface, bug692. [Jie Xu]
**** Fix false name conflict on cells in generate blocks, bug749. [Igor Lesik]
**** Fix pattern assignment to basic types, bug767. [Jie Xu]
**** Fix pattern assignment to conditionals, bug769. [Jie Xu]
2014-06-10 23:13:55 +00:00
**** Fix shift corner-cases, bug765, bug766, bug768, bug772, bug774, bug776. [Clifford Wolf]
**** Fix C compiler interpreting signing, bug773. [Clifford Wolf]
**** Fix late constant division by zero giving X error, bug775. [Clifford Wolf]
**** Fix gate primitives with arrays and non-arrayed pins.
**** Fix DETECTARRAY error on packed arrays, bug770. [Jie Xu]
**** Fix ENDLABEL warnings on escaped identifiers.
2014-06-09 01:36:18 +00:00
**** Fix string corruption, bug780. [Derek Lockhart]
2014-05-11 20:58:01 +00:00
2014-05-11 20:51:56 +00:00
* Verilator 3.860 2014-05-11
2014-03-14 00:08:43 +00:00
** PSL is no longer supported, please use System Verilog assertions.
** Support '{} assignment pattern on arrays, bug355.
** Support streaming operators, bug649. [Glen Gibb]
** Fix expression problems with -Wno-WIDTH, bug729, bug736, bug737, bug759.
Where WIDTH warnings were ignored this might result in different
warning messages and results, though it should better match the spec.
[Clifford Wolf]
2014-03-14 00:08:43 +00:00
*** Add --no-trace-params.
2014-05-08 11:15:44 +00:00
*** Add assertions on 'unique if', bug725. [Jeff Bush]
2014-03-17 01:38:29 +00:00
2014-03-28 01:36:52 +00:00
*** Add PINCONNECTEMPTY warning. [Holger Waechtler]
2014-04-02 03:16:16 +00:00
*** Support parameter arrays, bug683. [Jeremy Bennett]
2014-05-08 11:15:44 +00:00
*** Fix begin_keywords "1800+VAMS", msg1211.
**** Documentation fixes, bug723. [Glen Gibb]
**** Support {} in always sensitivity lists, bug745. [Igor Lesik]
**** Fix tracing of package variables and real arrays.
**** Fix tracing of packed arrays without --trace-structs, bug742. [Jie Xu]
**** Fix missing coverage line on else-if, bug727. [Sharad Bagri]
**** Fix modport function import not-found error.
**** Fix power operator calculation, bug730, bug735. [Clifford Wolf]
**** Fix reporting struct members as reserved words, bug741. [Chris Randall]
**** Fix change detection error on unions, bug758. [Jie Xu]
**** Fix -Wno-UNOPTFLAT change detection with 64-bits, bug762. [Clifford Wolf]
2014-05-10 20:38:20 +00:00
**** Fix shift-right optimization, bug763. [Clifford Wolf]
**** Fix Mac OS-X test issues. [Holger Waechtler]
2014-03-15 18:50:03 +00:00
**** Fix C++-2011 warnings.
2014-03-14 00:08:43 +00:00
2014-03-11 23:48:57 +00:00
* Verilator 3.856 2014-03-11
2014-01-21 02:55:27 +00:00
2014-01-21 02:59:53 +00:00
*** Support case inside, bug708. [Jan Egil Ruud]
2014-01-21 02:55:27 +00:00
*** Add parameters into trace files, bug706. [Alex Solomatnikov]
2014-03-11 23:07:58 +00:00
**** Fix parsing "#0 'b0", bug256.
**** Fix array bound checks on real variables.
**** Fix --skip-identical mis-detecting on OS-X, bug707.
**** Fix missing VL_SHIFTRS_IQI with WIDTH warning, bug714. [Fabrizio Ferrandi]
**** Fix signed shift right optimization, bug715. [Fabrizio Ferrandi]
**** Fix internal error on "input x =" syntax error, bug716. [Lane Brooks]
**** Fix slice extraction from packed array, bug717. [Jan Egil Ruud]
**** Fix inside statement EQWILD error, bug718. [Jan Egil Ruud]
2014-01-21 02:55:27 +00:00
2014-01-18 18:16:08 +00:00
* Verilator 3.855 2014-01-18
2013-11-29 13:28:48 +00:00
2013-12-21 11:51:15 +00:00
*** Support modport import, bug696. [Jeremy Bennett]
*** Add --trace-structs to show struct names, bug673. [Chris Randall]
2013-12-14 21:51:08 +00:00
**** Fix tracing of packed structs, bug705. [Jie Xu]
2013-11-29 13:28:48 +00:00
**** Fix --lint-only with MinGW, msg1283. [HyungKi Jeong]
**** Fix some delayed assignments of typedefed unpacked arrays.
**** Fix wire declarations with size and not range, bug466. [Alex Solomatnikov]
**** Fix parameter pin vs. normal pin error, bug704. [Alex Solomatnikov]
2013-11-29 13:28:48 +00:00
2013-11-27 00:52:19 +00:00
* Verilator 3.854 2013-11-26
2013-09-30 20:56:52 +00:00
*** Add UNPACKED warning to convert unpacked structs. [Jeremy Bennett]
*** Add --compiler clang to work around compiler bug, bug694. [Stefan Ludwig]
2013-10-23 00:10:43 +00:00
**** Support vpi_get of vpiSuppressVal, bug687. [Varun Koyyalagunta]
2013-10-23 02:02:53 +00:00
**** Support vpi_get_time, bug688. [Varun Koyyalagunta]
**** Fix evaluation of chained parameter functions, bug684. [Ted Campbell]
2013-10-29 00:24:31 +00:00
**** Fix enum value extension of '1.
**** Fix multiple VPI variable callbacks, bug679. [Rich Porter]
2013-09-30 20:56:52 +00:00
**** Fix vpi_get of vpiSize, bug680. [Rich Porter]
**** Fix vpi_remove_cb inside callback, bug689. [Varun Koyyalagunta]
**** Fix crash with coverage of structures, bug691. [Eivind Liland]
**** Fix array assignment from const var, bug693. [Jie Xu]
2013-09-30 00:56:19 +00:00
2013-09-30 20:53:45 +00:00
* Verilator 3.853 2013-09-30
2013-09-30 00:56:19 +00:00
**** Add --no-order-clock-delay to work around bug613. [Charlie Brej]
2013-09-30 00:56:19 +00:00
2013-09-30 00:52:29 +00:00
* Verilator 3.852 2013-09-29
2013-08-15 12:43:37 +00:00
*** Support named function and task arguments. [Chris Randall]
*** Report SELRANGE warning for non-generate if, bug675. [Roland Kruse]
2013-09-07 20:43:43 +00:00
**** Fix ordering of $fgetc, msg1229. [Frederic Requin]
**** Fix --output-split-cfunc to count internal functions. [Chris Randall]
2013-09-04 01:40:43 +00:00
**** Fix crash on 32-bit Ubuntu, bug670. [Mark Jackson Pulver]
2013-08-15 12:39:46 +00:00
* Verilator 3.851 2013-08-15
2013-06-02 18:52:19 +00:00
*** Fix ordering of clock enables with delayed assigns, bug613. [Jeremy Bennett]
*** Fix vpi_iterate on memory words, bug655. [Rich Porter]
**** Fix final duplicate declarations when non-inlined, bug661. [Charlie Brej]
**** Fix interface ports with comma lists, msg1058. [Ed Lander]
**** Fix parameter real conversion from integer.
2013-07-29 14:37:58 +00:00
**** Fix clang warnings, bug668. [Yutetsu Takatsukasa]
2013-06-02 18:52:19 +00:00
2013-06-02 18:47:36 +00:00
* Verilator 3.850 2013-06-02
** Support interfaces and modports, bug102. [Byron Bradley, Jeremy Bennett]
*** Duplicate clock gate optimization on by default, bug621.
**** Fix arrayed input compile error, bug645. [Krzysztof Jankowski]
**** Fix GCC version runtime changes, bug651. [Jeremy Bennett]
**** Fix packed array select internal error, bug652. [Krzysztof Jankowski]
2013-05-11 20:11:38 +00:00
* Verilator 3.847 2013-05-11
2013-03-09 21:48:10 +00:00
2013-05-11 01:02:48 +00:00
*** Add ALWCOMBORDER warning. [KC Buckenmaier]
2014-05-08 11:15:44 +00:00
2013-05-11 01:02:48 +00:00
*** Add --pins-sc-uint and --pins-sc-biguint, bug638. [Alex Hornung]
2014-05-08 11:15:44 +00:00
2013-05-11 01:02:48 +00:00
**** Support "signal[vec]++".
2014-05-08 11:15:44 +00:00
2013-05-11 01:02:48 +00:00
**** Fix simulation error when inputs and MULTIDRIVEN, bug634. [Ted Campbell]
2014-05-08 11:15:44 +00:00
2013-05-11 01:02:48 +00:00
**** Fix module resolution with __, bug631. [Jason McMullan]
2014-05-08 11:15:44 +00:00
2013-05-11 01:02:48 +00:00
**** Fix packed array non-zero right index select crash, bug642. [Krzysztof Jankowski]
2014-05-08 11:15:44 +00:00
2013-05-11 01:02:48 +00:00
**** Fix nested union crash, bug643. [Krzysztof Jankowski]
2013-03-09 21:48:10 +00:00
2013-03-09 21:44:48 +00:00
* Verilator 3.846 2013-03-09
** IEEE 1800-2012 is now the default language. This adds 4 new keywords
and updates the svdpi.h and vpi_user.h header files.
*** Add --report-unoptflat, bug611. [Jeremy Bennett]
*** Add duplicate clock gate optimization, msg980. [Varun Koyyalagunta]
Disabled unless -OD or -O3 used, please try it as may get some
significant speedups.
*** Fix wrong dot resolution under inlining. [Art Stamness]
**** Support pattern assignment features, bug616, bug617, bug618. [Ed Lander]
2013-02-14 11:55:09 +00:00
**** Support bind in $unit, bug602. [Ed Lander]
**** Support <number>'() sized casts, bug628. [Ed Lander]
**** Fix DETECTARRAY on packed structures, bug610. [Jeremy Bennett]
**** Fix LITENDIAN on unpacked structures, bug614. [Wai Sum Mong]
**** Fix 32-bit OS VPI scan issue, bug615. [Jeremy Bennett, Rich Porter]
**** Fix opening a VerilatedVcdC file multiple times, msg1021. [Frederic Requin]
**** Fix UNOPTFLAT circular array bounds crossing, bug630. [Jie Xu]
2013-02-05 03:12:21 +00:00
* Verilator 3.845 2013/02/04
2013-01-15 02:51:02 +00:00
*** Fix nested packed arrays and struct, bug600. [Jeremy Bennett]
Packed arrays are now represented as a single linear vector in
2013-01-15 02:51:02 +00:00
Verilated models. This may affect packed arrays that are public or
accessed via the VPI.
2013-02-02 14:33:04 +00:00
*** Support wires with data types, bug608. [Ed Lander]
*** Support bind, to module names only, bug602. [Ed Lander]
*** Support VPI product info, warning calls, etc, bug588. [Rick Porter]
*** Support $left, $right and related functions, bug448. [Iztok Jeras]
2013-02-02 17:55:28 +00:00
*** Support inside expressions.
*** Define SYSTEMVERILOG, SV_COV_START and other IEEE mandated predefines.
**** Fix pin width mismatch error, bug595. [Alex Solomatnikov]
**** Fix implicit one bit parameter selection, bug603. [Jeremy Bennett]
2013-01-16 00:26:35 +00:00
**** Fix signed/unsigned parameter misconversion, bug606. [Jeremy Bennett]
**** Fix segfault on multidimensional dotted arrays, bug607. [Jie Xu]
**** Fix per-bit array output connection error, bug414. [Jan Egil Ruud]
2013-01-18 00:04:36 +00:00
**** Fix package logic var compile error.
**** Fix enums with X values.
2013-01-16 00:26:35 +00:00
2013-01-10 03:08:30 +00:00
* Verilator 3.844 2013/01/09
*** Support "unsigned int" DPI import functions, msg966. [Alex Lee]
*** Fix package resolution of parameters, bug586. [Jeremy Bennett]
2012-12-06 14:40:16 +00:00
**** Fix non-integer vpi_get_value, bug587. [Rich Porter]
**** Fix task inlining under $display and case, bug589, bug598. [Holger Waechtler]
2012-12-16 02:41:37 +00:00
2013-01-15 04:39:56 +00:00
**** Fix package import of non-localparam parameter, bug474, bug591. [Jeremy Bennett]
**** Fix package import of package imports, partial bug592. [Jeremy Bennett]
**** Fix package import preventing local var, bug599. [Jeremy Bennett]
**** Fix array extraction of implicit vars, bug601. [Joe Eiler]
2012-12-01 21:38:21 +00:00
* Verilator 3.843 2012/12/01
2012-11-04 00:19:31 +00:00
*** Add +1364-1995ext and similar language options, bug532. [Jeremy Bennett]
**** Fix mis-optimized identical submodule subtract, bug581. [Charlie Brej]
**** Fix crash on dotted references into dead modules, bug583. [Jeremy Bennett]
**** Fix compile issues on MSVCC, bug571, bug577. [Amir Gonnen]
**** Fix --debug overriding preceding --dump-treei, bug580. [Jeremy Bennett]
2012-11-04 00:19:31 +00:00
2012-11-04 00:16:01 +00:00
* Verilator 3.842 2012/11/03
**** Add -x-initial-edge, bug570. [Jeremy Bennett]
**** Fix parameter pins interspersed with cells broke in 3.840. [Bernard Deadman]
**** Fix large shift error on large shift constants. [David Welch]
2012-11-04 00:11:53 +00:00
**** Fix $display mangling on GCC 4.7 and speed up, msg927, bug373, bug574. [R Diez]
2012-10-28 21:35:48 +00:00
**** Fix array of struct references giving false error, bug566. [Julius Baxter]
**** Fix missing var access functions when no DPI, bug572. [Amir Gonnen]
**** Fix name collision on unnamed blocks, bug567. [Chandan Egbert]
**** Fix name collision on task inputs, bug569. [Chandan Egbert]
2012-09-03 23:58:52 +00:00
* Verilator 3.841 2012/09/03
*** Add --savable to support model save/restore. [Jeremy Bennett]
*** Support '{} assignment pattern on structures, part of bug355.
**** Fix double-deep parameter cell WIDTHs, bug541. [Hiroki Honda]
**** Fix imports under multiple instantiated cells, bug542. [Alex Solomatnikov]
**** Fix defparam in generate broke in 3.840, bug543. [Alex Solomatnikov]
**** Fix duplicate begin error broke in 3.840, bug548. [Alex Solomatnikov]
**** Fix triangle symbol resolution error broke in 3.840, bug550. [Ted Campbell]
2012-07-31 22:09:00 +00:00
* Verilator 3.840 2012/07/31 Beta
2012-04-17 00:20:58 +00:00
** Rewrote tristate handling; supports tri0, tri1, tristate bit selects,
concatenates and pullup/pulldowns, bug395, bug56, bug54, bug51.
[Alex Solomatnikov, Lane Brooks, et al]
** Support packed structures and unions, bug181.
Note this was a major internal change that may lead to some instability.
*** Support tri0 and tri1, bug462. [Alex Solomatnikov]
2012-04-24 00:13:07 +00:00
*** Support nmos and pmos, bug488. [Alex Solomatnikov]
*** Add INITIALDLY warning on initial assignments, bug478. [Alex Solomatnikov]
*** Add PINMISSING and PINNOCONNECT lint checks.
*** Add --converge-limit option.
2012-05-31 22:56:31 +00:00
*** Fix generate operators not short circuiting, bug413. [by Jeremy Bennett]
2012-03-08 04:02:24 +00:00
*** Fix parameters not supported in constant functions, bug474. [Alex Solomatnikov]
2012-05-22 01:31:52 +00:00
**** Fix duplicate warnings/errors, bug516. [Alex Solomatnikov]
**** Fix signed extending biops with WIDTH warning off, bug511. [Junji Hashimoto]
**** Fix ITOD internal error on real conversions, bug491. [Alex Solomatnikov]
**** Fix input and real loosing real data type, bug501. [Alex Solomatnikov]
**** Fix imports causing symbol table error, bug490. [Alex Solomatnikov]
2012-05-07 12:58:29 +00:00
**** Fix newlines in radix values, bug507. [Walter Lavino]
**** Fix loop error message to report line, bug513. [Jeremy Bennett]
**** Fix false UNUSED warning on file system calls.
**** Fix GCC 4.7.0 compile warnings, bug530. [Jeremy Bennett]
2012-07-15 15:28:26 +00:00
**** Fix svdpi.h compile error on Apple OS.
**** Fix compile error under git submodules, bug534. [Aurelien Francillon]
2012-05-07 12:58:29 +00:00
2012-04-15 20:21:31 +00:00
* Verilator 3.833 2012/04/15
2012-03-09 23:37:38 +00:00
*** Support += and -= in standard for loops, bug463. [Alex Solomatnikov]
2012-04-02 11:17:37 +00:00
*** Fix processing unused parametrized modules, bug469, bug470. [Alex Solomatnikov]
**** Add SELRANGE as warning instead of error, bug477. [Alex Solomatnikov]
2012-04-15 18:51:04 +00:00
**** Add readme.pdf and internal.pdf and doxygen, bug483. [by Jeremy Bennett]
2012-04-12 10:48:02 +00:00
**** Fix change detections on arrays, bug364. [John Stevenson, Alex Solomatnikov]
2012-04-10 00:17:51 +00:00
2012-03-13 00:29:00 +00:00
**** Fix signed array warning, bug456. [Alex Solomatnikov]
**** Fix genvar and begin under generate, bug461. [Alex Solomatnikov]
**** Fix real constant parameter functions, bug475. [Alex Solomatnikov]
2012-03-09 23:37:38 +00:00
**** Fix and document --gdb option, bug454. [Jeremy Bennett]
2012-03-30 11:26:00 +00:00
**** Fix OpenSolaris compile error. [Sanjay Singh]
2011-10-25 22:11:06 +00:00
2012-03-08 03:50:13 +00:00
* Verilator 3.832 2012/03/07
*** Fix memory delayed assignments from multiple clock domains. [Andrew Ling]
*** Support arrayed SystemC I/O pins. [Christophe Joly]
*** Report MULTIDRIVEN on memories set in multiple clock domains.
*** Report ENDLABEL on mismatching end labels, bug450. [Iztok Jeras]
2012-02-02 01:20:43 +00:00
**** Fix expansion of back-slashed escaped macros, bug441. [Alberto Del Rio]
**** Fix inheriting real and signed type across untyped parameters.
**** Fix core dump with over 100 deep UNOPTFLAT, bug432. [Joe Eiler]
**** Fix false command not found warning in makefiles. [Ruben Diez]
**** Fix hang when functions inside begin block. [David Welch]
2012-01-26 00:23:58 +00:00
**** Fix hang on recursive substitution `defines, bug443. [Alex Solomatnikov]
2012-01-20 12:02:39 +00:00
* Verilator 3.831 2012/01/20
2012-01-20 01:30:41 +00:00
** Support SystemC 2.3.0 prerelease. This requires setting the new
SYSTEMC_INCLUDE and SYSTEMC_LIBDIR variables in place of now
deprecated SYSTEMC and SYSTEMC_ARCH. [Iztok Jeras]
**** Suppress VARHIDDEN on dpi import arguments. [Ruben Diez]
**** Support "generate for (genvar i=0; ...". [David Kravitz]
**** Fix dpi exports with > 32 bit but < 64 bit args, bug423. [Chandan Egbert]
**** Fix array of instantiations with sub-range output, bug414. [Jeremy Bennett]
**** Fix BLKSEQ warnings on variables declared inside always. [Ruben Diez]
2012-01-20 12:02:39 +00:00
2011-11-27 15:37:23 +00:00
* Verilator 3.830 2011/11/27
2011-10-25 23:11:45 +00:00
** With "--language VAMS" support a touch of Verilog AMS. [Holger Waechtler]
*** Add sc_bv attribute to force bit vectors, bug402. [by Stefan Wallentowitz]
**** Search for user -y paths before default current directory. [Ruben Diez]
**** Support constants in sensitivity lists, bug412. [Jeremy Bennett]
2011-11-20 07:01:48 +00:00
**** Support $system. [Ruben Diez]
2012-03-10 15:56:48 +00:00
**** Support $sscanf with %g. [Holger Waechtler]
2011-11-20 06:01:02 +00:00
**** Indicate 'exiting due to errors' if errors, not warnings. [Ruben Diez]
**** Fix bad result with if-else-return optimization, bug420. [Alex Solomatnikov]
**** Fix reporting not found modules if generate-off, bug403. [Jeremy Bennett]
2012-03-10 15:56:48 +00:00
**** Fix $display with %d following %g. [Holger Waechtler]
2011-11-20 05:45:59 +00:00
2011-10-25 23:11:45 +00:00
2011-10-25 22:59:40 +00:00
* Verilator 3.824 2011/10/25
2011-10-25 22:08:24 +00:00
*** Fix "always @ (* )", bug403, bug404. [Walter Lavino]
2011-10-25 22:57:49 +00:00
*** Add ASSIGNIN as suppressable error. [Jeremy Bennett]
2011-10-25 22:57:49 +00:00
**** Fix 3.823 constructor core dump on Debian, bug401. [Ahmed El-Mahmoudy]
2011-10-25 22:08:24 +00:00
2011-10-25 22:59:40 +00:00
2011-10-25 22:11:06 +00:00
* Verilator 3.823 2011/10/20
2011-09-29 01:35:16 +00:00
*** Support $ceil, $floor, etc. [Alex Solomatnikov]
*** Add configure options for cc warnings and extended tests. [Ruben Diez]
*** Add -Wall reporting ASSIGNDLY on assignment delays. [Ruben Diez]
*** Fix UNDRIVEN warnings inside DPI import functions. [Ruben Diez]
*** Fix --help output to go to stderr, not stdout, bug397. [Ruben Diez]
**** Fix DPI import output of 64 bits, bug398. [Mike Denio]
2011-10-08 00:04:15 +00:00
**** Fix DPI import false BLKSEQ warnings. [Alex Solomatnikov]
**** Fix MSVC compile warning with trunc/round, bug394. [Amir Gonnen]
2011-10-05 21:07:10 +00:00
**** Fix autoconf and Makefile warnings, bug396. [Ruben Diez]
2011-10-04 12:48:37 +00:00
2011-09-15 01:12:40 +00:00
* Verilator 3.821 2011/09/14
2011-08-23 01:02:09 +00:00
**** Fix PowerPC runtime error, bug288. [Ahmed El-Mahmoudy]
**** Fix internal error on integer casts, bug374. [Chandan Egbert]
2011-09-15 01:11:14 +00:00
2011-07-28 23:53:54 +00:00
* Verilator 3.820 2011/07/28
2011-06-29 01:26:49 +00:00
** Support 'real' numbers and related functions.
*** Support 'const' variables in limited cases; similar to enums. [Alex Solomatnikov]
2011-06-29 01:26:49 +00:00
*** Support disable for loop escapes.
*** Support $fopen and I/O with integer instead of `verilator_file_descriptor.
*** Support coverage in -cc and -sc output modes. [John Li]
2014-05-08 11:15:44 +00:00
Note this requires SystemPerl 1.338 or newer.
**** Fix vpi_register_cb using bad s_cb_data, bug370. [by Thomas Watts]
**** Fix $display missing leading zeros in %0d, bug367. [Alex Solomatnikov]
**** Use 'vluint64_t' for SystemC instead of (same sized) 'uint64' for MSVC++.
2011-09-15 01:11:14 +00:00
2011-06-29 00:52:04 +00:00
* Verilator 3.813 2011/06/28
2011-06-29 00:45:50 +00:00
*** Support bit vectors > 64 bits wide in DPI import and exports.
*** Fix out of memory on slice syntax error, bug354. [Alex Solomatnikov]
2011-06-29 00:45:50 +00:00
**** Fix error on enum references to other packages, bug339. [Alex Solomatnikov]
**** Fix DPI undeclared svBitVecVal compile error, bug346. [Chandan Egbert]
2011-06-29 00:45:50 +00:00
**** Fix DPI bit vector compile errors, bug347, bug359. [Chandan Egbert]
**** Fix CDCRSTLOGIC report showing endpoint flops without resets.
2011-05-10 03:49:17 +00:00
**** Fix compiler warnings on SPARC, bug288. [Ahmed El-Mahmoudy]
2011-09-15 01:11:14 +00:00
2011-04-06 11:33:44 +00:00
* Verilator 3.812 2011/04/06
2011-02-24 00:04:15 +00:00
*** Add --trace-max-width and --trace-max-array, bug319. [Alex Solomatnikov]
*** Add --Wno-fatal to turn off abort on warnings. [by Stefan Wallentowitz]
**** Support ${...} and $(...) env vars in .vc files. [by Stefan Wallentowitz]
2011-02-24 00:04:15 +00:00
**** Support $bits(data_type), bug327. [Alex Solomatnikov]
**** Support loop unrolling on width mismatches, bug333. [Joe Eiler]
2011-03-18 02:25:49 +00:00
**** Support simple cast operators, bug335. [Alex Solomatnikov]
2011-02-24 02:36:38 +00:00
**** Accelerate bit-selected inversions.
**** Add error on circular parameter definitions, bug329. [Alex Solomatnikov]
**** Fix concatenates and vectored bufif1, bug326. [Iztok Jeras]
2011-09-15 01:11:14 +00:00
2011-02-15 00:05:55 +00:00
* Verilator 3.811 2011/02/14
2011-01-29 23:00:48 +00:00
**** Report errors on duplicated or empty pins, bug321. [Christian Leber]
**** Report error on function call output tied to constant. [Bernard Deadman]
**** Throw UNUSED/UNDRIVEN only once per net in a parametrized module.
**** Fix internal error on functions called as SV tasks. [Bernard Deadman]
**** Fix internal error on non-inlined inout pins. [Jeff Winston]
**** Fix false BLKSEQ on non-unrolled for loop indexes. [Jeff Winston]
**** Fix block comment not separating identifiers, bug311. [Gene Sullivan]
**** Fix warnings to point to lowest net usage, not upper level ports.
**** Fix error on constants connected to outputs, bug323. [Christian Leber]
2011-09-15 01:11:14 +00:00
2011-01-03 18:32:16 +00:00
* Verilator 3.810 2011/01/03
** Add limited support for VPI access to public signals, see docs.
*** Add -F option to read relative option files, bug297. [Neil Hamilton]
*** Support ++,--,+= etc as standalone statements. [Alex Solomatnikov]
**** When running with VERILATOR_ROOT, optionally find binaries under bin.
**** Suppress WIDTH warnings when adding/subtracting 1'b1.
** Add -Wall, -Wwarn-style, -Wno-style to enable code style warnings
that have been added to this release, and disabled by default:
*** With --Wall, add BLKSEQ warning on blocking assignments in seq blocks.
*** With --Wall, add DECLFILENAME warning on modules not matching filename.
*** With --Wall, add DEFPARAM warning on deprecated defparam statements.
*** With --Wall, add IFDEPTH warning on deep if statements.
*** With --Wall, add INCABSPATH warning on `include with absolute paths.
2010-12-31 12:51:14 +00:00
*** With --Wall, add SYNCASYNCNET warning on mixed sync/async reset nets.
2010-12-29 13:06:05 +00:00
*** With --Wall, add UNDRIVEN warning on undriven nets.
*** With --Wall, add UNUSED warning on unused nets.
*** The VARHIDDEN warning is now disabled by default, use -Wall to enable.
2011-09-15 01:11:14 +00:00
2010-11-03 01:11:02 +00:00
* Verilator 3.805 2010/11/02
**** Add warning when directory contains spaces, msg378. [Salman Sheikh]
**** Fix wrong filename on include file errors, bug289. [Brad Parker]
**** Fix segfault on SystemVerilog "output wire foo=0", bug291. [Joshua Wise]
2010-10-22 17:10:31 +00:00
**** Fix DPI export name not found, msg369. [Terry Chen]
2011-09-15 01:11:14 +00:00
2010-09-20 19:46:17 +00:00
* Verilator 3.804 2010/09/20
*** Support tracing/coverage of underscore signals, bug280. [by Jason McMullan]
**** Fix preprocessor `` of existing base define, bug283. [Usha Priyadharshini]
**** Increase define recursions before error. [Paul Liu]
2010-09-20 13:21:29 +00:00
**** On core dump, print debug suggestions.
2011-09-15 01:11:14 +00:00
2010-07-10 22:31:20 +00:00
* Verilator 3.803 2010/07/10
*** Fix preprocessor preservation of newlines across macro substitutions.
**** Fix preprocessor stringification of nested macros.
**** Fix some constant parameter functions causing crash, bug253. [Nick Bowler]
**** Fix do {...} while() not requiring final semicolon.
2011-09-15 01:11:14 +00:00
2010-05-01 18:18:56 +00:00
* Verilator 3.802 2010/05/01
*** Support runtime access to public signal names.
2010-04-06 00:08:07 +00:00
*** Add /*verilator public_flat_rw*/ for timing-specific public access.
*** Fix word size to match uint64_t on -m64 systems, bug238. [Joe Eiler]
**** Improve error handling on slices of arrays, bug226. [by Byron Bradley]
**** Report errors when extra underscores used in meta-comments.
**** Fix bit reductions on multi-packed dimensions, bug227. [by Byron Bradley]
**** Fix removing $fscanf if assigned to unused var, bug248. [Ashutosh Das]
**** Fix "make install" with configure outside srcdir. [Stefan Wallentowitz]
**** Fix loop unroller out of memory; change --unroll-stmts. [Ashutosh Das]
**** Fix trace files with empty modules crashing some viewers.
**** Fix parsing single files > 2GB. [Jeffrey Short]
**** Fix installing data files as non-executable, bug168. [by Ahmed El-Mahmoudy]
2011-09-15 01:11:14 +00:00
2010-03-17 11:59:12 +00:00
* Verilator 3.801 2010/03/17
2010-02-08 14:28:40 +00:00
2010-02-14 15:01:21 +00:00
*** Support "break", "continue", "return".
2010-03-17 11:59:12 +00:00
*** Support "`default_nettype none|wire". [Dominic Plunkett]
2010-02-23 14:27:16 +00:00
2010-02-09 01:51:43 +00:00
**** Skip SystemC tests if not installed. [Iztok Jeras]
**** Fix clock-gates with non-AND complex logic, bug220. [Ashutosh Das]
2010-03-13 01:00:08 +00:00
**** Fix flushing VCD buffers on $stop. [Ashutosh Das]
2010-02-27 00:50:44 +00:00
**** Fix Mac OS-X compile issues, bug217. [Joshua Wise, Trevor Williams]
2010-02-08 14:28:40 +00:00
**** Fix make uninstall, bug216. [Iztok Jeras]
**** Fix parametrized defines with empty arguments.
2011-09-15 01:11:14 +00:00
2010-02-07 12:01:13 +00:00
* Verilator 3.800 2010/02/07
2010-02-07 00:56:14 +00:00
Application visible changes:
** SystemPerl is no longer required for tracing.
Applications must use VerilatedVcdC class in place of SpTraceVcdC.
2010-01-22 02:58:45 +00:00
** SystemVerilog 1800-2009 is now the default language.
Thus "global" etc are now keywords. See the --language option.
2010-02-07 00:56:14 +00:00
New features:
2009-11-24 14:11:25 +00:00
** Support SystemVerilog types "byte", "chandle", "int", "longint",
"shortint", "time", "var" and "void" in variables and functions.
** Support "program", "package", "import" and $unit.
2009-12-27 13:29:55 +00:00
** Support typedef and enum. [by Donal Casey]
2009-11-05 14:57:23 +00:00
2009-12-20 13:27:00 +00:00
** Support direct programming interface (DPI) "import" and "export".
2010-01-07 23:51:52 +00:00
Includes an extension to map user $system PLI calls to the DPI.
*** Support assignments of multidimensional slices, bug170. [by Byron Bradley]
*** Support multidimensional inputs/outputs, bug171. [by Byron Bradley]
*** Support "reg [1:0][1:0][1:0]" and "reg x [3][2]", bug176. [Byron Bradley]
2009-11-06 00:26:44 +00:00
*** Support declarations in loop initializers, bug172. [by Byron Bradley]
2009-11-07 04:16:06 +00:00
*** Support $test$plusargs and $value$plusargs, but see the docs!
2009-11-24 02:24:55 +00:00
*** Support $sformat and $swrite.
*** Support 1800-2009 define defaults and `undefineall.
2009-12-21 03:26:48 +00:00
2010-02-07 00:56:14 +00:00
*** Add -CFLAGS, -LDFLAGS, <file>.a, <file>.o, and <file>.so options.
*** Speed compiles by avoiding including the STL iostream header.
Application programs may need to include it themselves to avoid errors.
2010-01-07 21:41:19 +00:00
*** Add experimental clock domain crossing checks.
*** Add experimental --pipe-filter to filter all Verilog input.
*** Add experimental config files to filter warnings outside of the source.
2010-02-07 00:56:14 +00:00
*** Add VARHIDDEN warning when signal name hides module name.
**** Support optional cell parenthesis, bug179. [by Byron Bradley]
**** Support for loop i++, ++i, i--, --i, bug175. [by Byron Bradley]
**** Support 1800-2009 /*comments*/ in define values.
**** Add Makefile VM_GLOBAL_FAST, listing objects needed to link executables.
**** Add --bbox-unsup option to black-box unsupported UDP tables.
**** Add -Wno-MODDUP option to allow duplicate modules.
2010-02-07 00:56:14 +00:00
Bug fixes:
2010-02-07 00:56:14 +00:00
**** Fix implicit variable issues, bug196, bug201. [Byron Bradley]
2010-02-07 00:56:14 +00:00
**** Fix 'for' variable typing, bug205. [by Byron Bradley]
2010-01-20 00:27:36 +00:00
2009-12-25 15:01:55 +00:00
**** Fix tracing with --pins-bv 1, bug195. [Michael S]
**** Fix MSVC++ 2008 compile issues, bug209. [Amir Gonnen]
**** Fix MinGW compilation, bug184, bug214. [by Shankar Giri, Amir Gonnen]
2009-11-24 14:11:25 +00:00
**** Fix Cygwin 1.7.x compiler error with uint32_t, bug204. [Ivan Djordjevic]
**** Fix `define argument mis-replacing system task of same name, bug191.
**** Fix Verilator core dump on wide integer divides, bug178. [Byron Bradley]
**** Fix lint_off/lint_on meta comments on same line as warning.
2011-09-15 01:11:14 +00:00
2009-10-27 00:19:23 +00:00
* Verilator 3.720 2009/10/26
** Support little endian bit vectors ("reg [0:2] x;").
** Support division and modulus of > 64 bit vectors. [Gary Thomas]
*** Fix writing to out-of-bounds arrays writing element 0.
**** Fix core dump with SystemVerilog var declarations under unnamed begins.
**** Fix VCD files showing internal flattened hierarchy, broke in 3.714.
**** Fix cell port connection to unsized integer causing false width warning.
**** Fix erroring on strings with backslashed newlines, bug168. [Pete Nixon]
2011-09-15 01:11:14 +00:00
2009-09-19 02:37:53 +00:00
* Verilator 3.714 2009/09/18
** Add --bbox-sys option to blackbox $system calls.
** Support generate for var++, var--, ++var, --var.
*** Improved warning when "do" used as identifier.
**** Don't require SYSTEMPERL_INCLUDE if SYSTEMPERL/src exists. [Gary Thomas]
**** Fix deep defines causing flex scanner overflows. [Brad Dobbie]
**** Fix preprocessing commas in deep parameterized macros. [Brad Dobbie]
2009-09-11 23:25:42 +00:00
**** Fix tracing escaped dotted identifiers, bug107.
**** Fix $display with uppercase %M.
**** Fix --error-limit option being ignored.
2011-09-15 01:11:14 +00:00
2009-08-04 19:23:23 +00:00
* Verilator 3.713 2009/08/04
2009-07-16 13:19:15 +00:00
** Support constant function calls for parameters. [many!]
2009-07-16 13:19:15 +00:00
*** Support SystemVerilog "logic", bug101. [by Alex Duller]
2009-07-22 19:21:41 +00:00
*** Name SYMRSVDWORD error, and allow disabling it, bug103. [Gary Thomas]
**** Fix escaped preprocessor identifiers, bug106. [Nimrod Gileadi]
2011-09-15 01:11:14 +00:00
2009-07-14 12:42:01 +00:00
* Verilator 3.712 2009/07/14
** Patching SystemC is no longer required to trace sc_bvs.
*** Support zero-width constants in concatenations. [Jeff Winston]
*** Add verilator --pins-uint8 option to use sc_in<uint8_t/uint16_t>.
*** Add verilator -V option, to show verbose version.
*** On WIDTH warnings, show variable name causing error. [Jeff Winston]
**** Add BLKLOOPINIT error code, and describe --unroll-count. [Jeff Winston]
2011-09-15 01:11:14 +00:00
2009-06-23 18:09:38 +00:00
* Verilator 3.711 2009/06/23
**** Support decimal constants of arbitrary widths. [Mark Marshall]
2009-06-23 18:09:38 +00:00
**** Fix error on case statement with all duplicate items, bug99. [Gary Thomas]
**** Fix segfault on unrolling for's with bad inits, bug90. [Andreas Olofsson]
**** Fix tristates causing "Assigned pin is neither...". [by Lane Brooks]
**** Fix compiler errors under Fedora release candidate 11. [Chitlesh Goorah]
2011-09-15 01:11:14 +00:00
2009-05-19 11:50:56 +00:00
* Verilator 3.710 2009/05/19
** Verilator is now licensed under LGPL v3 and/or Artistic v2.0.
*** `__FILE__ now expands to a string, per draft SystemVerilog 2010(ish).
**** The front end parser has been re-factored to enable more SV parsing.
Code should parse the same, but minor parsing bugs may pop up.
**** Verilator_includer is no longer installed twice, bug48. [Lane Brooks]
**** Fix escaped identifiers with '.' causing conflicts, bug83. [J Baxter]
**** Fix define formal arguments that contain newlines, bug84. [David A]
2011-09-15 01:11:14 +00:00
2009-05-02 11:38:24 +00:00
* Verilator 3.703 2009/05/02
2009-05-02 11:38:24 +00:00
*** Fix $clog2 calculation error with powers-of-2, bug81. [Patricio Kaplan]
**** Fix error with tasks that have output first, bug78. [Andrea Foletto]
**** Fix "cloning" error with -y/--top-module, bug76. [Dimitris Nalbantis]
**** Fix segfault with error on bad --top-module, bug79. [Dimitris Nalbantis]
**** Fix "redefining I" error with complex includes. [Duraid Madina]
2009-04-23 13:16:25 +00:00
**** Fix GCC 4.3.2 compile warnings.
2011-09-15 01:11:14 +00:00
2009-03-28 14:30:35 +00:00
* Verilator 3.702 2009/03/28
*** Add --pins-bv option to use sc_bv for all ports. [Brian Small]
*** Add SYSTEMPERL_INCLUDE envvar to assist RPM builds. [Chitlesh Goorah]
**** Report errors when duplicate labels are used, bug72. [Vasu Kandadi]
**** Fix the SC_MODULE name() to not include __PVT__. [Bob Fredieu]
2011-09-15 01:11:14 +00:00
2009-02-26 12:44:00 +00:00
* Verilator 3.701 2009/02/26
2009-02-26 03:06:59 +00:00
** Support repeat and forever statements. [Jeremy Bennett]
2009-01-25 02:35:08 +00:00
*** Add --debugi-<srcfile> option, for internal debugging. [Dennis Muhlestein]
2009-01-21 21:56:50 +00:00
**** Fix compile issues with GCC 4.3, bug47. [Lane Brooks]
**** Fix VL_RANDom to better randomize bits. [Art Stamness]
**** Fix error messages to consistently go to stderr. [Jeremy Bennett]
**** Fix left associativity for ?: operators.
2011-09-15 01:11:14 +00:00
2009-01-08 15:52:37 +00:00
* Verilator 3.700 2009/01/08
2009-01-21 21:56:50 +00:00
** Add limited support for tristate inouts. Written by Lane Brooks,
under support by Ubixum Inc. This allows common pad ring and
tristate-mux structures to be Verilated. See the documentation for
more information on supported constructs.
2009-01-06 16:03:57 +00:00
2008-12-12 20:34:02 +00:00
** Add --coverage_toggle for toggle coverage analysis.
Running coverage now requires SystemPerl 1.301 or newer.
2008-12-12 20:34:02 +00:00
*** Add /*verilator coverage_on/_off */ to bracket coverage regions.
2008-12-10 22:10:03 +00:00
*** Optimize two-level shift and and/or trees, +23% on one test.
*** Support posedge of bit-selected signals, bug45. [Rodney Sinclair]
*** Line coverage now aggregates by hierarchy automatically.
Previously this would be done inside SystemPerl, which was slower.
**** Minor performance improvements of Verilator compiler runtime.
**** Coverage of each parametarized module is counted separately. [Bob Fredieu]
**** Fix creating parameterized modules when no parameter values are changed.
**** Fix certain generate-if cells causing "clone" error. [Stephane Laurent]
**** Fix line coverage of public functions. [Soon Koh]
**** Fix SystemC 2.2 deprecated warnings about sensitive() and sc_start().
**** Fix arrayed variables under function not compiling, bug44. [Ralf Karge]
**** Fix --output-split-cfuncs to also split trace code. [Niranjan Prabhu]
**** Fix 'bad select range' warning missing some cases, bug43. [Lane Brooks]
**** Fix internal signal names containing control characters (broke in 3.680).
2008-12-22 16:28:42 +00:00
**** Fix compile error on Ubuntu 8.10. [Christopher Boumenot]
**** Fix internal error on "output x; reg x = y;".
**** Fix wrong result for read of delayed FSM signal, bug46. [Rodney Sinclair]
2011-09-15 01:11:14 +00:00
2008-11-12 20:32:22 +00:00
* Verilator 3.681 2008/11/12
2008-10-10 23:02:27 +00:00
*** Add SystemVerilog unique and priority case.
**** Include Verilog file's directory name in coverage reports.
**** Fix 'for' under 'generate-for' causing error; bug38. [Rafael Shirakawa]
**** Fix coverage hierarchy being backwards with inlining. [Vasu Arasanipalai]
**** Fix GCC 4.3 compile error; bug35. [Lane Brooks]
2008-11-05 15:52:23 +00:00
**** Fix MSVC compile error; bug42. [John Stroebel]
2011-09-15 01:11:14 +00:00
2008-10-08 21:08:47 +00:00
* Verilator 3.680 2008/10/08
** Support negative bit indexes. [Stephane Laurent]
Tracing negative indexes requires latest Verilog-Perl and SystemPerl.
*** Suppress width warnings between constant strings and wider vectors.
[Rodney Sinclair]
**** Ignore SystemVerilog timeunit and timeprecision.
**** Expand environment variables in -f input files. [Lawrence Butcher]
**** Report error if port declaration is missing; bug32. [Guy-Armand Kamendje]
**** Fix genvars causing link error when using --public. [Chris Candler]
2011-09-15 01:11:14 +00:00
2008-09-19 21:23:15 +00:00
* Verilator 3.671 2008/09/19
** SystemC uint64_t pins are now the default instead of sc_bv<64>.
Use --no-pins64 for backward compatibility.
*** Support SystemVerilog "cover property" statements.
*** When warnings are disabled on signals that are flattened out, disable
the warnings on the signal(s) that replace it.
*** Add by-design and by-module subtotals to verilator_profcfunc.
*** Fix extra evaluation of pure combo blocks in SystemC output.
**** Add IMPERFECTSCH warning, disabled by default.
**** Support coverage under SystemPerl 1.285 and newer.
2008-08-20 19:59:10 +00:00
**** Fix stack overflow on large ? : trees. [John Sanguinetti]
**** Support arbitrary characters in identifiers. [Stephane Laurent]
2011-09-15 01:11:14 +00:00
2008-07-23 11:51:32 +00:00
* Verilator 3.670 2008/07/23
2008-06-26 12:52:02 +00:00
** Add --x-assign=fast option, and make it the default.
This chooses performance over reset debugging. See the manual.
2008-07-16 18:06:08 +00:00
** Add --autoflush, for flushing streams after $display. [Steve Tong]
2008-07-23 12:58:48 +00:00
** Add CASEWITHX lint warning and if disabled fix handling of casez with Xs.
2008-07-01 18:15:10 +00:00
*** Add $feof, $fgetc, $fgets, $fflush, $fscanf, $sscanf. [Holger Waechtler]
2008-06-26 12:52:02 +00:00
2008-07-14 17:16:05 +00:00
*** Add $stime. [Holger Waechtler]
2008-07-01 18:15:10 +00:00
*** Add $random.
2008-06-27 15:36:25 +00:00
*** Add --Wfuture-, for improving forward compatibility.
**** Fix verilator_includer not being installed properly. [Holger Waechtler]
**** Fix IMPURE errors due to X-assignment temporary variables. [Steve Tong]
**** Fix "lvalue" errors with public functions; bug25. [CY Wang]
**** Add WIDTH warning to $fopen etc file descriptors.
**** Internal changes to how $displays get compiled and executed.
2011-09-15 01:11:14 +00:00
2008-06-25 11:50:32 +00:00
* Verilator 3.665 2008/06/25
**** Ignore "// verilator" comments alone on endif lines. [Rodney Sinclair]
**** "Make install" now installs verilator_includer and verilator_profcfunc.
**** Fix tracing missing changes on undriven public wires. [Rodney Sinclair]
**** Fix syntax error when "`include `defname" is ifdefed. [John Dickol]
**** Fix error when macro call has commas in concatenate. [John Dickol]
**** Fix compile errors under Fedora 9, GCC 4.3.0. [by Jeremy Bennett]
2008-06-26 12:52:02 +00:00
**** Fix Makefile to find headers/libraries under prefix. [by Holger Waechtler]
2011-09-15 01:11:14 +00:00
* Verilator 3.664 2008/05/08
**** Fix missing file in kit.
2011-09-15 01:11:14 +00:00
* Verilator 3.663 2008/05/07
**** Add DESTDIR to Makefiles to assist RPM construction. [Gunter Dannoritzer]
**** Fix compiler warnings under GCC 4.2.1.
**** Fix preprocessor `else after series of `elsif. [Mark Nodine]
**** Fix parametrized defines calling define with comma. [Joshua Wise]
**** Fix comma separated list of primitives. [by Bryan Brady]
2011-09-15 01:11:14 +00:00
* Verilator 3.662 2008/04/25
*** Add Verilog 2005 $clog2() function.
This is useful in calculating bus-widths from parameters.
*** Support /**/ comments in -f option files. [Stefan Thiede]
**** Add error message when modules have duplicate names. [Stefan Thiede]
**** Support defines terminated in EOF, though against spec. [Stefan Thiede]
**** Support optional argument to $finish and $stop. [by Stefan Thiede]
**** Support ranges on gate primitive instantiations. [Stefan Thiede]
**** Ignore old standard(ish) Verilog-XL defines. [by Stefan Thiede]
**** Fix "always @ ((a) or (b))" syntax error. [by Niranjan Prabhu]
**** Fix "output reg name=expr;" syntax error. [Martin Scharrer]
**** Fix multiple .v files being read in random order. [Stefan Thiede]
**** Fix internal error when params get non-constants. [Johan Wouters]
**** Fix bug introduced in 3.661 with parametrized defines.
2011-09-15 01:11:14 +00:00
* Verilator 3.661 2008/04/04
*** The --enable-defenv configure option added in 3.660 is now the default.
This hard-codes a default for VERILATOR_ROOT etc in the executables.
*** Add --language option for supporting older code. [Stefan Thiede]
*** Add --top-module option to select between multiple tops. [Stefan Thiede]
*** Unsized concatenates now give WIDTHCONCAT warnings. [Jonathan Kimmitt]
Previously they threw fatal errors, which in most cases is correct
according to spec, but can be incorrect in presence of parameter values.
**** Support functions with "input integer". [Johan Wouters]
**** Ignore delays attached to gate UDPs. [Stefan Thiede]
**** Fix SystemVerilog parameterized defines with `` expansion,
and fix extra whitespace inserted on substitution. [Vladimir Matveyenko]
**** Fix no-module include files on command line. [Stefan Thiede]
**** Fix dropping of backslash quoted-quote at end of $display.
**** Fix task output pin connected to non-variables. [Jonathan Kimmitt]
**** Fix missing test_v in install datadir. [Holger Waechtler]
**** Fix internal error after MSB < LSB error reported to user. [Stefan Thiede]
2011-09-15 01:11:14 +00:00
* Verilator 3.660 2008/03/23
*** Add support for hard-coding VERILATOR_ROOT etc in the executables,
to enable easier use of Verilator RPMs. [Gunter Dannoritzer]
*** Allow multiple .v files on command line. [Stefan Thiede]
*** Convert re-defining macro error to warning. [Stefan Thiede]
*** Add --error-limit option. [Stefan Thiede]
*** Allow __ in cell names by quoting them in C. [Stefan Thiede]
**** Fix genvar to be signed, so "< 0" works properly. [Niranjan Prabhu]
**** Fix assignments to inputs inside functions/tasks. [Patricio Kaplan]
**** Fix definitions in main file.v, referenced in library. [Stefan Thiede]
**** Fix undefined assigns to be implicit warnings. [Stefan Thiede]
2011-09-15 01:11:14 +00:00
* Verilator 3.658 2008/02/25
**** Fix unistd compile error in 3.657. [Patricio Kaplan, Jonathan Kimmitt]
2011-09-15 01:11:14 +00:00
* Verilator 3.657 2008/02/20
**** Fix assignments of {a,b,c} = {c,b,a}. [Jonathan Kimmitt]
**** Fix Perl warning with --lint-only. [by Ding Xiaoliang]
**** Avoid creating obj_dir with --lint-only. [Ding Xiaoliang]
**** Fix parsing of always @(*). [Patricio Kaplan]
2011-09-15 01:11:14 +00:00
* Verilator 3.656 2008/01/18
**** Wide VL_CONST_W_#X functions are now made automatically. [Bernard Deadman]
In such cases, a new {prefix}__Inlines.h file will be built and included.
**** Fixed sign error when extracting from signed memory. [Peter Debacker]
**** Fixed tracing of SystemC w/o SystemPerl. [Bernard Deadman, Johan Wouters]
2011-09-15 01:11:14 +00:00
* Verilator 3.655 2007/11/27
*** Support "#delay <statement>;" with associated STMTDLY warning.
**** Fixed generate for loops with constant zero conditions. [Rodney Sinclair]
**** Fixed divide-by-zero errors in constant propagator. [Rodney Sinclair]
**** Fixed wrong result with obscure signed-shift underneath a "? :".
**** Fixed many internal memory leaks, and added leak detector.
2011-09-15 01:11:14 +00:00
* Verilator 3.654 2007/10/18
**** Don't exit early if many warnings but no errors are found. [Stan Mayer]
**** Fixed parsing module #(parameter x,y) declarations. [Oleg Rodionov]
**** Fixed parsing system functions with empty parens. [Oleg Rodionov]
2011-09-15 01:11:14 +00:00
* Verilator 3.653 2007/8/1
**** Support SystemVerilog ==? and !=? operators.
**** Fixed SC_LIBS missing from generated makefiles. [Ding Xiaoliang]
2011-09-15 01:11:14 +00:00
* Verilator 3.652 2007/6/21
**** Report as many warning types as possible before exiting.
**** Support V2K portlists with "input a,b,...". [Mark Nodine]
**** Support V2K function/task argument lists.
**** Optimize constant $display arguments.
**** Fixed Preprocessor dropping some `line directives. [Mark Nodine]
2011-09-15 01:11:14 +00:00
* Verilator 3.651 2007/5/22
*** Added verilator_profcfunc utility. [Gene Weber]
*** Treat modules within `celldefine and `endcelldefine as if in library.
*** Support functions which return integers. [Mark Nodine]
**** Warn if flex is not installed. [Ralf Karge]
**** Ignore `protect and `endprotect.
**** Allow empty case/endcase blocks.
2011-09-15 01:11:14 +00:00
* Verilator 3.650 2007/4/20
** Add --compiler msvc option. This is now required when Verilated code
is to be run through MSVC++. This also enables fixing MSVC++ error
C1061, blocks nested too deeply. [Ralf Karge]
** Add --lint-only option, to lint without creating other output.
*** Add /*verilator lint_save*/ and /*verilator lint_restore*/ to allow
friendly control over re-enabling lint messages. [Gerald Williams]
*** Support SystemVerilog .name and .* interconnect.
*** Support while and do-while loops.
*** Use $(LINK) instead of $(CXX) for Makefile link rules. [Gerald Williams]
*** Add USER_CPPFLAGS and USER_LDFLAGS to Makefiles. [Gerald Williams]
**** Fixed compile errors under Windows MINGW compiler. [Gerald Williams]
**** Fixed dotted bit reference to local memory. [Eugene Weber]
**** Fixed 3.640 `verilog forcing IEEE 1364-1995 only. [David Hewson]
2011-09-15 01:11:14 +00:00
* Verilator 3.640 2007/3/12
*** Support Verilog 2005 `begin_keywords and `end_keywords.
*** Updated list of SystemVerilog keywords to correspond to IEEE 1800-2005.
*** Add /*verilator public_flat*/. [Eugene Weber]
**** Try all +libext's in the exact order given. [Michael Shinkarovsky]
**** Fixed elimination of public signals assigned to constants. [Eugene Weber]
**** Fixed internal error when public for loop has empty body. [David Addison]
**** Fixed "Loops detected" assertion when model exceeds 4GB. [David Hewson]
**** Fixed display %m names inside named blocks.
2011-09-15 01:11:14 +00:00
* Verilator 3.633 2007/2/7
*** Add --trace-depth option for minimizing VCD file size. [Emerson Suguimoto]
*** With VL_DEBUG, show wires causing convergence errors. [Mike Shinkarovsky]
**** Fixed isolate_assignments when many signals per always. [Mike Shinkarovsky]
**** Fixed isolate_assignments across task/func temporaries. [Mike Shinkarovsky]
**** Fixed $display's with array select followed by wide AND. [David Hewson]
2011-09-15 01:11:14 +00:00
* Verilator 3.632 2007/1/17
*** Add /*verilator isolate_assignments*/ attribute. [Mike Shinkarovsky]
2011-09-15 01:11:14 +00:00
* Verilator 3.631 2007/1/2
** Support standard NAME[#] for cells created by arraying or generate for.
This replaces the non-standard name__# syntax used in earlier versions.
**** Fixed again dotted references into generate cells. [David Hewson]
Verilator no longer accepts duplicated variables inside unique
generate blocks as this is illegal according to the specification.
**** Fixed $readmem* with filenames < 8 characters. [Emerson Suguimoto]
2011-09-15 01:11:14 +00:00
* Verilator 3.630 2006/12/19
** Support $readmemb and $readmemh. [Eugene Weber, Arthur Kahlich]
*** Fixed configure and compiling under Solaris. [Bob Farrell]
*** When dotted signal lookup fails, help the user by showing known scopes.
*** Reduce depth of priority encoded case statements. [Eugene Weber]
**** Fixed dotted references inside generated cells. [David Hewson]
**** Fixed missed split optimization points underneath other re-split blocks.
2011-09-15 01:11:14 +00:00
* Verilator 3.623 2006/12/05
*** Add --output-split-cfuncs for accelerating GCC compile. [Eugene Weber]
**** Fixed $signed mis-extending when input has a WIDTH violation. [Eugene Weber]
**** Add M32 make variable to support -m32 compiles. [Eugene Weber]
2011-09-15 01:11:14 +00:00
* Verilator 3.622 2006/10/17 Stable
**** Fixed --skip-identical without --debug, broken in 3.621. [Andy Meier]
2011-09-15 01:11:14 +00:00
* Verilator 3.621 2006/10/11 Beta
** Add /*verilator no_inline_task*/ to prevent over-expansion. [Eugene Weber]
*** Public functions now allow > 64 bit arguments.
**** Remove .vpp intermediate files when not under --debug.
**** Fixed link error when using --exe with --trace. [Eugene Weber]
**** Fixed mis-optimization of wide concats with constants.
**** Fixed core dump on printing error when not under --debug. [Allan Cochrane]
2011-09-15 01:11:14 +00:00
* Verilator 3.620 2006/10/04 Stable
*** Support simple inout task ports. [Eugene Weber]
*** Allow overriding Perl, Flex and Bison versions. [by Robert Farrell]
*** Optimize variables set to constants within basic blocks for ~3%.
**** Default make no longer makes the docs; if you edit the documentation.
sources, run "make info" to get them.
**** Optimize additional boolean identities (a|a = a, etc.)
**** Fixed coredump when dotted cross-ref inside task call. [Eugene Weber]
**** Fixed dotted variables in always sensitivity lists. [Allan Cochrane]
2011-09-15 01:11:14 +00:00
* Verilator 3.610 2006/09/20 Stable
*** Verilator now works under DJGPP (Pentium GCC). [John Stroebel]
**** Add default define for VL_PRINTF. [John Stroebel]
**** Removed coverage request variable; see Coverage limitations in docs.
**** Fixed DOS carriage returns in multiline defines. [Ralf Karge]
**** Fixed printf format warnings on 64-bit linux.
2011-09-15 01:11:14 +00:00
* Verilator 3.602 2006/09/11 Stable
**** Fixed function references under top inlined module. [David Hewson]
2011-09-15 01:11:14 +00:00
* Verilator 3.601 2006/09/06 Beta
*** Added --inhibit-sim flag for environments using old __Vm_inhibitSim.
*** Added `systemc_dtor for destructor extensions. [Allan Cochrane]
*** Added -MP to make phony dependencies, ala GCC's.
*** Changed how internal functions are invoked to reduce aliasing.
Useful when using GCC's -O2 or -fstrict-aliasing, to gain another ~4%.
**** Fixed memory leak when destroying modules. [John Stroebel]
**** Fixed coredump when unused modules have unused cells. [David Hewson]
**** Fixed 3.600 internal error with arrayed instances. [David Hewson]
**** Fixed 3.600 internal error with non-unrolled function loops. [David Hewson]
**** Fixed $display %m name not matching Verilog name inside SystemC modules.
**** Declare optimized lookup tables as 'static', to reduce D-Cache miss rate.
2011-09-15 01:11:14 +00:00
* Verilator 3.600 2006/08/28 Beta
** Support dotted cross-hierarchy variable and task references.
**** Lint for x's in generate case statements.
**** Fixed line numbers being off by one when first file starts with newline.
**** Fixed naming of generate for blocks to prevent non-inline name conflict.
**** Fixed redundant statements remaining after table optimization.
2011-09-15 01:11:14 +00:00
* Verilator 3.542 2006/08/11 Stable
**** Fixed extraneous UNSIGNED warning when comparing genvars. [David Hewson]
**** Fixed extra white space in $display %c. [by David Addison]
**** vl_finish and vl_fatal now print via VL_PRINTF rather then cerr/cout.
**** Add VL_CONST_W_24X macro. [Bernard Deadman]
2011-09-15 01:11:14 +00:00
* Verilator 3.541 2006/07/05 Beta
*** Fixed "// verilator lint_on" not re-enabling warnings. [David Hewson]
*** Fixed 3.540's multiple memory assignments to same block. [David Hewson]
**** Add warning on changeDetect to arrayed structures. [David Hewson]
**** Fixed non-zero start number for arrayed instantiations. [Jae Hossell]
**** Fixed GCC 4.0 header file warnings.
2011-09-15 01:11:14 +00:00
* Verilator 3.540 2006/06/27 Beta
**** Optimize combo assignments that are used only once, ~5-25% faster.
**** Optimize delayed assignments to memories inside loops, ~0-5% faster.
**** Fixed mis-width warning on bit selects of memories. [David Hewson]
**** Fixed mis-width warning on dead generate-if branches. [Jae Hossell]
2011-09-15 01:11:14 +00:00
* Verilator 3.533 2006/06/05 Stable
*** Add PDF user manual, verilator.pdf.
**** Fixed delayed bit-selected arrayed assignments. [David Hewson]
**** Fixed execution path to Perl. [Shanshan Xu]
**** Fixed Bison compile errors in verilog.y. [by Ben Jackson]
2011-09-15 01:11:14 +00:00
* Verilator 3.531 2006/05/10 Stable
*** Support $c routines which return 64 bit values.
**** Fixed `include `DEFINE.
**** Fixed Verilator core dump when have empty public function. [David.Hewson]
2011-09-15 01:11:14 +00:00
* Verilator 3.530 2006/04/24 Stable
** $time is now 64 bits. The macro VL_TIME_I is now VL_TIME_Q, but calls
the same sc_time_stamp() function to get the current time.
2011-09-15 01:11:14 +00:00
* Verilator 3.523 2006/03/06 Stable
**** Fixed error line numbers being off due to multi-line defines. [Mat Zeno]
**** Fixed GCC sign extending (uint64_t)(a<b). [David Hewson]
**** Fixed `systemc_imp_header "undefined macro" error.
2011-09-15 01:11:14 +00:00
* Verilator 3.522 2006/02/23 Beta
**** Add UNUSED error message, for forward compatibility.
2011-09-15 01:11:14 +00:00
* Verilator 3.521 2006/02/14 Beta
*** Create new --coverage-line and --coverage-user options. [Peter Holmes]
**** Added SystemVerilog 'x,'z,'0,'1, and new string literals.
**** Fixed public module's parent still getting inlined.
2011-09-15 01:11:14 +00:00
* Verilator 3.520 2006/01/14 Stable
** Added support for $fopen, $fclose, $fwrite, $fdisplay.
See documentation, as the file descriptors differ from the standard.
2011-09-15 01:11:14 +00:00
* Verilator 3.510 2005/12/17 Stable
** Improve trace-on performance on large multi-clock designs by 2x or more.
This adds a small ~2% performance penalty if traces are compiled in,
but not turned on. For best non-tracing performance, do not use --trace.
**** Fixed $'s in specify delays causing bad PLI errors. [Mat Zeno]
**** Fixed public functions not setting up proper symbol table. [Mat Zeno]
**** Fixed genvars generating trace compile errors. [Mat Zeno]
**** Fixed VL_MULS_WWW compile error with MSVC++. [Wim Michiels]
2011-09-15 01:11:14 +00:00
* Verilator 3.502 2005/11/30 Stable
**** Fixed local non-IO variables in public functions and tasks.
**** Fixed bad lifetime optimization when same signal is assigned multiple
times in both branch of a if. [Danny Ding]
2011-09-15 01:11:14 +00:00
* Verilator 3.501 2005/11/16 Stable
*** Add --prof-cfuncs for correlating profiles back to Verilog.
**** Fixed functions where regs are declared before inputs. [Danny Ding]
**** Fixed bad deep expressions with bit-selects and rotate. [Prabhat Gupta]
2011-09-15 01:11:14 +00:00
* Verilator 3.500 2005/10/30 Stable
** Support signed numbers, >>>, $signed, $unsigned. [MANY!]
** Support multi-dimensional arrays. [Eugen Fekete]
** Add very limited support for the Property Specification Language
(aka PSL or Sugar). The format and keywords are now very limited, but will
grow with future releases. The --assert switch enables this feature.
** With --assert, generate assertions for synthesis parallel_case and full_case.
**** Fixed generate if's with empty if/else blocks. [Mat Zeno]
**** Fixed generate for cell instantiations with same name. [Mat Zeno]
2011-09-15 01:11:14 +00:00
* Verilator 3.481 2005/10/12 Stable
*** Add /*verilator tracing_on/off*/ for waveform control.
**** Fixed split optimization reordering $display statements.
2011-09-15 01:11:14 +00:00
* Verilator 3.480 2005/9/27 Beta
** Allow coverage of flattened modules, and multiple points per line.
Coverage analysis requires SystemPerl 1.230 or newer.
**** Add preprocessor changes to support meta-comments.
**** Optimize sequential assignments of different bits of same bus; ~5% faster.
**** Optimize away duplicate lookup tables.
**** Optimize wide concatenates into individual words. [Ralf Karge]
**** Optimize local variables from delayed array assignments.
2011-09-15 01:11:14 +00:00
* Verilator 3.470 2005/9/6 Stable
*** Optimize staging flops under reset blocks.
*** Add '-Werror-...' to upgrade specific warnings to errors.
**** Add GCC branch prediction hints on generated if statements.
**** Fixed bad simulation when same function called twice in same expression.
**** Fixed preprocessor substitution of quoted parameterized defines.
2011-09-15 01:11:14 +00:00
* Verilator 3.464 2005/8/24 Stable
*** Add `systemc_imp_header, for use when using --output-split.
*** Add --stats option to dump design statistics.
**** Fixed core dump with clock inversion optimizations.
2011-09-15 01:11:14 +00:00
* Verilator 3.463 2005/8/5 Stable
*** Fixed case defaults when not last statement in case list. [Wim Michiels]
2011-09-15 01:11:14 +00:00
* Verilator 3.462 2005/8/3 Stable
*** Fixed reordering of delayed assignments to same memory index. [Wim Michiels]
**** Fixed compile error with Flex 2.5.1. [Jens Arm]
**** Fixed multiply-instantiated public tasks generating non-compilable code.
2011-09-15 01:11:14 +00:00
* Verilator 3.461 2005/7/28 Beta
**** Fixed compile error with older versions of bison. [Jeff Dutton]
2011-09-15 01:11:14 +00:00
* Verilator 3.460 2005/7/27 Beta
** Add -output-split option to enable faster parallel GCC compiles.
To support --output-split, the makefiles now split VM_CLASSES
into VM_CLASSES_FAST and VM_CLASSES_SLOW. This may require a
change to local makefiles.
** Support -v argument to read library files.
*** When issuing unoptimizable warning, show an example path.
**** Fixed false warning when a clock is constant.
**** Fixed X/Z in decimal numbers. [Wim Michiels]
**** Fixed genvar statements in non-named generate blocks.
**** Fixed core dump when missing newline in `define. [David van der bokke]
**** Internal tree dumps now indicate edit number that changed the node.
2011-09-15 01:11:14 +00:00
* Verilator 3.450 2005/7/12
** $finish will no longer exit, but set Verilated::gotFinish().
This enables support for final statements, and for other cleanup code.
If this is undesired, redefine the vl_user_finish routine. Top level
loops should use Verilated::gotFinish() as a exit condition for their
loop, and then call top->final(). To prevent a infinite loop, a
double $finish will still exit; this may be removed in future
releases.
*** Add support for SystemVerilog keywords $bits, $countones, $isunknown,
$onehot, $onehot0, always_comb, always_ff, always_latch, finish.
**** Fixed "=== 1'bx" to always be false, instead of random.
2011-09-15 01:11:14 +00:00
* Verilator 3.440 2005/6/28 Stable
** Add Verilog 2001 generate for/if/case statements.
2011-09-15 01:11:14 +00:00
* Verilator 3.431 2005/6/24 Stable
*** Fixed selection bugs introduced in 3.430 beta.
2011-09-15 01:11:14 +00:00
* Verilator 3.430 2005/6/22 Beta
** Add Verilog 2001 variable part selects [n+:m] and [n-:m]. [Wim Michiels]
2011-09-15 01:11:14 +00:00
* Verilator 3.422 2005/6/10 Stable
*** Added Verilog 2001 power (**) operator. [Danny Ding]
**** Fixed crash and added error message when assigning to inputs. [Ralf Karge]
**** Fixed tracing of modules with public functions.
2011-09-15 01:11:14 +00:00
* Verilator 3.421 2005/6/2 Beta
**** Fixed error about reserved word on non-public signals.
**** Fixed missing initialization compile errors in 3.420 beta. [Ralf Karge]
2011-09-15 01:11:14 +00:00
* Verilator 3.420 2005/6/2 Beta
*** Fixed case defaults when not last statement in case list. [Ralf Karge]
**** Added error message when multiple defaults in case statement.
**** Fixed crash when wire self-assigns x=x.
** Performance improvements worth ~20%
** Added -x-assign options; ~5% faster if use -x-assign=0.
**** Optimize shifts out of conditionals and if statements.
**** Optimize local 'short' wires.
**** Fixed gate optimization with top-flattened modules. [Mahesh Kumashikar]
2011-09-15 01:11:14 +00:00
* Verilator 3.411 2005/5/30 Stable
**** Fixed compile error in GCC 2.96. [Jeff Dutton]
2011-09-15 01:11:14 +00:00
* Verilator 3.410 2005/5/25 Beta
** Allow functions and tasks to be declared public.
They will become public C++ functions, with appropriate C++ types.
This allows users to make public accessor functions/tasks, instead
of having to use public variables and `systemc_header hacks.
*** Skip producing output files if all inputs are identical
This uses timestamps, similar to make. Disable with --no-skip-identical.
**** Improved compile performance with large case statements.
**** Fixed internal error in V3Table. [Jeff Dutton]
**** Fixed compile error in GCC 2.96, and with SystemC 1.2. [Jeff Dutton]
2011-09-15 01:11:14 +00:00
* Verilator 3.400 2005/4/29 Beta
** Internal changes to support future clocking features.
** Verilog-Perl and SystemPerl are no longer required for C++ or SystemC
output. If you want tracing or coverage analysis, they are still needed.
*** Added --sc to create pure SystemC output not requiring SystemPerl.
*** Added --pins64 to create 64 bit SystemC outputs instead of sc_bv<64>.
*** The --exe flag is now required to produce executables inside the makefile.
This was previously the case any time .cpp files were passed on the
command line.
*** Added -O3 and --inline-mult for performance tuning. [Ralf Karge]
One experiment regained 5% performance, at a cost of 300% in compile time.
*** Improved performance of large case/always statements with low fanin
by converting to internal lookup tables (ROMs).
*** Initialize SystemC port names. [S Shuba]
**** Added Doxygen comments to Verilated includes.
**** Fixed -cc pins 8 bits wide and less to be uint8_t instead of uint16_t.
**** Fixed crash when Mdir has same name as .v file. [Gernot Koch]
**** Fixed crash with size mismatches on case items. [Gernot Koch]
2011-09-15 01:11:14 +00:00
* Verilator 3.340 2005/2/18 Stable
*** Report misconnected pins across all modules, instead of just first error.
**** Fixed over-active inlining, resulting in compile slowness.
**** Improved large netlist compile times.
**** Added additional internal assertions.
2011-09-15 01:11:14 +00:00
* Verilator 3.332 2005/1/27
*** Added -E preprocess only flag, similar to GCC.
*** Added CMPCONSTLR when comparison is constant due to > or < with all ones.
**** Fixed loss of first -f file argument, introduced in 3.331.
2011-09-15 01:11:14 +00:00
* Verilator 3.331 2005/1/18
** The Verilog::Perl preprocessor is now C++ code inside of Verilator.
This improves performance, makes compilation easier, and enables
some future features.
*** Support arrays of instantiations (non-primitives only). [Wim Michiels]
**** Fixed unlinked error with defparam. [Shawn Wang]
2011-09-15 01:11:14 +00:00
* Verilator 3.320 2004/12/10
** NEWS is now renamed Changes, to support CPAN indexing.
*** If Verilator is passed a C file, create a makefile link rule.
This saves several user steps when compiling small projects.
*** Added new COMBDLY warning in place of fatal error. [Shawn Wang]
*** Fixed mis-simulation with wide-arrays under bit selects. [Ralf Karge]
**** Added NC Verilog as alternative to VCS for reference tests.
**** Support implicit wire declarations on input-only signals.
(Dangerous, as leads to wires without drivers, but allowed by spec.)
**** Fixed compile warnings on Suse 9.1
2011-09-15 01:11:14 +00:00
* Verilator 3.311 2004/11/29
** Support implicit wire declarations (as a warning). [Shawn Wang]
**** Fixed over-shift difference in Verilog vs C++. [Ralf Karge]
2011-09-15 01:11:14 +00:00
* Verilator 3.310 2004/11/15
** Support defparam.
** Support gate primitives: buf, not, and, nand, or, nor, xor, xnor.
*** Ignore all specify blocks.
2011-09-15 01:11:14 +00:00
* Verilator 3.302 2004/11/12
*** Support NAND and NOR operators.
*** Better warnings when port widths don't match.
**** Fixed internal error due to some port width mismatches. [Ralf Karge]
**** Fixed WIDTH warnings on modules that are only used
parameterized, not in 'default' state.
**** Fixed selection of SystemC library on cygwin systems. [Shawn Wang]
**** Fixed runtime bit-selection of parameter constants.
2011-09-15 01:11:14 +00:00
* Verilator 3.301 2004/11/04
**** Fixed 64 bit [31:0] = {#{}} mis-simulation. [Ralf Karge]
**** Fixed shifts greater then word width mis-simulation. [Ralf Karge]
**** Work around GCC 2.96 negation bug.
2011-09-15 01:11:14 +00:00
* Verilator 3.300 2004/10/21
** New backend that eliminates most VL_ macros.
Improves performance 20%-50%, depending on frequency of use of signals
over 64 bits. GCC compile times with -O2 shrink by a factor of 10.
**** Fixed "setting unsigned int from signed value" warning.
2011-09-15 01:11:14 +00:00
* Verilator 3.271 2004/10/21
**** Fixed "loops detected" error with some negedge clocks.
**** Cleaned up some output code spacing issues.
2011-09-15 01:11:14 +00:00
* Verilator 3.270 2004/10/15
*** Support Verilog 2001 parameters in module headers. [Ralf Karge]
**** Suppress numeric fault when dividing by zero.
**** Faster code to support compilers not inlining all Verilated functions.
2011-09-15 01:11:14 +00:00
* Verilator 3.260 2004/10/7
** Support Verilog 2001 named parameter instantiation. [Ralf Karge]
**** Return 1's when one bit wide extract indexes outside array bounds.
**** Fixed compile warnings on 64-bit operating systems.
**** Fixed incorrect dependency in .d file when setting VERILATOR_BIN.
2011-09-15 01:11:14 +00:00
* Verilator 3.251 2004/9/9
**** Fixed parenthesis overflow in Microsoft Visual C++ [Renga Sundararajan]
2011-09-15 01:11:14 +00:00
* Verilator 3.250 2004/8/30
** Support Microsoft Visual C++ [Renga Sundararajan]
*** SystemPerl 1.161+ is required.
2011-09-15 01:11:14 +00:00
* Verilator 3.241 2004/8/17
** Support ,'s to separate multiple assignments. [Paul Nitza]
**** Fixed shift sign extension problem using non-GCC compilers.
2011-09-15 01:11:14 +00:00
* Verilator 3.240 2004/8/13
** Verilator now uses 64 bit math where appropriate.
Inputs and outputs of 33-64 bits wide to the C++ Verilated model must
now be uint64_t's; SystemC has not changed, they will remain sc_bv's.
This increases performance by ~ 9% on x86 machines, varying with how
frequently 33-64 bit signals occur. Signals 9-16 bits wide are now
stored as 16 bit shorts instead of longs, this aids cache packing.
**** Fixed SystemC compile error with feedthrus. [Paul Nitza]
**** Fixed concat value error introduced in 3.230.
2011-09-15 01:11:14 +00:00
* Verilator 3.230 2004/8/10
*** Added coverage output to test_sp example, SystemPerl 1.160+ is required.
**** Fixed time 0 value of signals. [Hans Van Antwerpen]
Earlier versions would not evaluate some combinatorial signals
until posedge/negedge blocks had been activated.
**** Fixed wide constant inputs to public submodules [Hans Van Antwerpen]
**** Fixed wide signal width extension bug.
Only applies when width mismatch warnings were overridden.
2011-09-15 01:11:14 +00:00
* Verilator 3.220 2004/6/22
** Many waveform tracing changes:
*** Tracing is now supported on C++ standalone simulations. [John Brownlee]
*** When tracing, SystemPerl 1.150 or newer is required.
*** When tracing, Verilator must be called with the --trace switch.
**** Added SystemPerl example to documentation. [John Brownlee]
**** Various Cygwin compilation fixes. [John Brownlee]
2011-09-15 01:11:14 +00:00
* Verilator 3.210 2004/4/1
** Compiler optimization switches have changed
See the BENCHMARKING section of the documentation.
*** With Verilog-Perl 2.3 or newer, Verilator supports SystemVerilog
preprocessor extensions.
*** Added localparam. [Thomas Hawkins]
*** Added warnings for SystemVerilog reserved words.
2011-09-15 01:11:14 +00:00
* Verilator 3.203 2004/3/10
*** Notes and repairs for Solaris. [Fred Ma]
2011-09-15 01:11:14 +00:00
* Verilator 3.202 2004/1/27
** The beta version is now the primary release. See below for many changes.
If you have many problems, you may wish to try release 3.125.
*** Verilated::traceEverOn(true) must be called at time 0 if you will ever
turn on tracing (waveform dumping) of signals. Future versions will
need this switch to disable trace incompatible optimizations.
**** Fixed several tracing bugs
**** Added optimizations for common replication operations.
2011-09-15 01:11:14 +00:00
* Verilator 3.201-beta 2003/12/10
** BETA VERSION, USE 3.124 for stable release!
** Version 3.2XX includes a all new back-end.
This includes automatic inlining, flattening of signals between
hierarchy, and complete ordering of statements. This results in
60-300% execution speedups, though less pretty C++ output. Even
better results are possible using GCC 3.2.2 (part of Redhat 9.1), as
GCC has fixed some optimization problems which Verilator exposes.
If you are using `systemc_ctor, beware pointers to submodules are now
initialized after the constructor is called for a module, to avoid
segfaults, move statements that reference subcells into initial
statements.
*** C++ Constructor that creates a verilog module may take a char* name.
This name will be used to prefix any $display %m arguments, so users may
distinguish between multiple Verilated modules in a single executable.
2011-09-15 01:11:14 +00:00
* Verilator 3.125 2004/1/27
**** Optimization of bit replications
2011-09-15 01:11:14 +00:00
* Verilator 3.124 2003/12/05
*** A optimized executable will be made by default, in addition to a debug
executable. Invoking Verilator with --debug will pick the debug version.
**** Many minor invisible changes to support the next version.
2011-09-15 01:11:14 +00:00
* Verilator 3.123 2003/11/10
**** Wide bus performance enhancements.
**** Fixed function call bug when width warning suppressed. [Leon Wildman]
**** Fixed __DOT__ compile problem with funcs in last revision. [Leon Wildman]
2011-09-15 01:11:14 +00:00
* Verilator 3.122 2003/10/29
*** Modules which are accessed from external code now must be marked with
/*verilator public_module*/ unless they already contain public signals.
To enforce this, private cell names now have a string prepended.
**** Fixed replicated function calls in one statement. [Robert A. Clark]
**** Fixed function call bug when width warning suppressed. [Leon Wildman]
2011-09-15 01:11:14 +00:00
* Verilator 3.121 2003/09/29
*** Support multiplication over 32 bits. [Chris Boumenot]
Also improved speed of addition and subtraction over 32 bits.
*** Detect bit selection out of range errors.
*** Detect integer width errors.
**** Fixed width problems on function arguments. [Robert A. Clark]
2011-09-15 01:11:14 +00:00
* Verilator 3.120 2003/09/24
*** $finish now exits the model (via vl_finish function).
*** Support inputs/outputs in tasks.
*** Support V2K "integer int = {INITIAL_VALUE};"
*** Ignore floating point delay values. [Robert A. Clark]
**** Ignore `celldefine, `endcelldefine, etc. [Robert A. Clark]
**** New optimizations on reduction operators.
**** Fixed converting "\ooo" into octal values.
**** Fixed $display("%x");
2011-09-15 01:11:14 +00:00
* Verilator 3.112 2003/09/16
**** Fixed functions in continuous assignments. [Robert A. Clark]
**** Fixed inlining of modules with 2-level deep outputs.
2011-09-15 01:11:14 +00:00
* Verilator 3.111 2003/09/15
**** Fixed declaration of functions before using that module. [Robert A. Clark]
**** Fixed module inlining bug with outputs.
2011-09-15 01:11:14 +00:00
* Verilator 3.110 2003/09/12
** Support Verilog 2001 style input/output declarations. [Robert A. Clark]
*** Allow local vars in headers of function/tasks. [Leon Wildman]
2011-09-15 01:11:14 +00:00
* Verilator 3.109 2003/08/28
** Added support for local variables in named begin blocks. [Leon Wildman]
2011-09-15 01:11:14 +00:00
* Verilator 3.108 2003/08/11
** Added support for functions.
*** Signals 8 bits and shorter are now stored as chars
instead of uint32_t's. This improves Dcache packing and
improves performance by ~7%.
**** $display now usually results in a single VL_PRINT rather then many.
**** Many optimizations involving conditionals (?:)
2011-09-15 01:11:14 +00:00
* Verilator 3.107 2003/07/15
*** --private and --l2name are now the default,
as this enables additional optimizations.
Use --noprivate or --nol2name to get the older behavior.
*** Now support $display of binary and wide format data.
*** Added detection of incomplete case statements,
and added related optimizations worth ~4%.
**** Work around flex bug in Redhat 8.0. [Eugene Weber]
**** Added some additional C++ reserved words.
**** Additional constant optimizations, ~5% speed improvement.
2011-09-15 01:11:14 +00:00
* Verilator 3.106 2003/06/17
** $c can now take multiple expressions as arguments.
For example $c("foo","bar(",32+1,");") will insert "foobar(33);"
This makes it easier to pass the values of signals.
** Several changes to support future versions that may have
signal-eliminating optimizations. Users should try to use these switch
on designs, they will become the default in later versions.
*** Added --private switch and /*verilator public*/ metacomment.
This renames all signals so that compile errors will result if any
signals referenced by C++ code are missing a /*verilator public*/
metacomment.
*** With --l2name, the second level cell C++ cell is now named "v".
Previously it was named based on the name of the verilog code. This
means to get to signals, scope to "{topcell} ->v ->{mysignal}" instead
of "{topcell} ->{verilogmod}. {mysignal}". This allows different
modules to be substituted for the cell without requiring source
changes.
**** Several cleanups for Redhat 8.0.
2011-09-15 01:11:14 +00:00
* Verilator 3.105 2003/05/08
**** Fixed more GCC 3.2 errors. [David Black]
2011-09-15 01:11:14 +00:00
* Verilator 3.104 2003/04/30
*** Indicate direction of ports with VL_IN and VL_OUT.
*** Allow $c32, etc, to specify width of the $c statement for VCS.
**** Fixed false "indent underflow" error inside `systemc_ctor sections.
**** Fixed missing ordering optimizations when outputs also used internally.
*** Numerous performance improvements, worth about 25%
**** Assign constant cell pins in initial blocks rather then every cycle.
**** Promote subcell's combo logic to sequential evaluation when possible.
**** Fixed GCC 3.2 compile errors. [Narayan Bhagavatula]
2011-09-15 01:11:14 +00:00
* Verilator 3.103 2003/01/28
**** Fixed missing model evaluation when clock generated several levels of
hierarchy across from where it is used as a clock. [Richard Myers]
**** Fixed sign-extension bug introduced in 3.102.
2011-09-15 01:11:14 +00:00
* Verilator 3.102 2003/01/24
**** Fixed sign-extension of X/Z's ("32'hx")
2011-09-15 01:11:14 +00:00
* Verilator 3.101 2003/01/13
**** Fixed 'parameter FOO=#'bXXXX' [Richard Myers]
**** Allow spaces inside numbers ("32'h 1234") [Sam Gladstone]
2011-09-15 01:11:14 +00:00
* Verilator 3.100 2002/12/23
** Support for simple tasks w/o vars or I/O. [Richard Myers]
**** Ignore DOS carriage returns in Linux files. [Richard Myers]
2011-09-15 01:11:14 +00:00
* Verilator 3.012 2002/12/18
**** Fixed parsing bug with casex statements containing case items
with bit extracts of parameters. [Richard Myers]
**** Fixed bug which could cause writes of non-power-of-2 sized arrays to
corrupt memory beyond the size of the array. [Dan Lussier]
**** Fixed bug which did not detect UNOPT problems caused by
submodules. See the description in the verilator man page. [John Deroo]
**** Fixed compile with threaded Perl. [Ami Keren]
2011-09-15 01:11:14 +00:00
* Verilator 3.010 2002/11/3
*** Support SystemC 2.0.1. SystemPerl version 1.130 or newer is required.
**** Fixed bug with inlined modules under other inlined modules. [Scott
Bleiweiss]
2011-09-15 01:11:14 +00:00
* Verilator 3.005 2002/10/21
**** Fixed X's in case (not casex/z) to constant propagate correctly.
**** Fixed missing include. [Kurachi]
2011-09-15 01:11:14 +00:00
* Verilator 3.004 2002/10/10
*** Added /* verilator module_inline */ and associated optimizations.
*** Allow /* verilator coverage_block_off */ in place of `coverage_block_off.
This prevents problems with Emacs AUTORESET. [Ray Strouble]
**** Fixed `coverage_block_off also disabling subsequent blocks.
**** Fixed unrolling of loops with multiple simple statements.
**** Fixed compile warnings on newer GCC. [Kurachi]
**** Additional concatenation optimizations.
2011-09-15 01:11:14 +00:00
* Verilator 3.003 2002/09/13
*** Now compiles on Windows 2000 with Cygwin.
**** Fixed bug with pin assignments to wide memories.
**** Optimize wire assignments to constants.
2011-09-15 01:11:14 +00:00
* Verilator 3.002 2002/08/19
** First public release of version 3.
2011-09-15 01:11:14 +00:00
* Verilator 3.000 2002/08/03
** All new code base. Many changes too numerous to mention.
*** Approximately 4 times faster then Verilator 2.
*** Supports initial statements
*** Supports correct blocking/nonblocking assignments
*** Supports `defines across multiple modules
*** Optimizes call ordering, constant propagation, and dead code elimination.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.8 2002/04/03
** All applications must now link against include/verilated.cpp
*** Paths specified to verilator_make should be absolute, or be formed
to allow for execution in the object directory (prepend ../ to each path.)
This allows relative filenames for makes which hash and cache dependencies.
**** Added warning when parameter constants are too large. [John Deroo]
**** Added warning when x/?'s used in non-casez statements.
**** Added warning when blocking assignments used in posedge blocks. [Dan Lussier]
**** Split evaluation function into clocked and non-clocked, 20% perf gain.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.5 2001/12/1
** Added coverage analysis. In conjunction with SystemC provide line
coverage reports, without SystemC, provide a hook to user written
accumulation function. See --coverage option of verilator_make.
*** Relaxed multiply range checking
*** Support for constants up to 128 bits
*** Randomize values used when assigning to X's.
**** Added -guard option of internal testing.
**** Changed indentation in emitted code to be automatically generated.
**** Fixed corruption of assignments of signal over 32 bits with non-0 lsb.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.4 2001/11/16
** Added $c("c_commands();"); for embedding arbitrary C code in Verilog.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.3 2001/11/03
** Support for parameters.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.2 2001/10/25
** Verilog Errors now reference the .v file rather then the .vpp file.
*** Support strings in assignments: reg [31:0] foo = "STRG";
*** Support %m in format strings. Ripped out old $info support, use
Verilog-Perl's vpm program instead.
*** Convert $stop to call of v_stop() which user can define.
**** Fixed bug where a==b==c would have wrong precedence rule.
**** Fixed bug where XNOR on odd-bit-widths (~^ or ^~) had bad value.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.1 2001/5/17
** New test_sp directory for System-Perl (SystemC) top level instantiation
of the Verilated code, lower modules are still C++ code. (Experimental).
** New test_spp directory for Pure System-Perl (SystemC) where every module
is true SystemC code. (Experimental)
*** Input ports are now loaded by pointer reference into the sub-cell.
This is faster on I-386 machines, as the stack must be used when there are
a large number of parameters. Also, this simplifies debugging as the value
of input ports exists for tracing.
**** Many code cleanups towards standard C++ style conventions.
2011-09-15 01:11:14 +00:00
* Verilator 2.1.0 2001/5/8
**** Many code cleanups towards standard C++ style conventions.
2011-09-15 01:11:14 +00:00
* {Version history lost}
2011-09-15 01:11:14 +00:00
* Verilator 1.8 1996/7/8
** [Versions 0 to 1.8 were by Paul Wasson]
**** Fixed single bit in concat from instance output incorrect offset bug.
2011-09-15 01:11:14 +00:00
* Verilator 1.7 1996/5/20
**** Mask unused bits of DONTCAREs.
2011-09-15 01:11:14 +00:00
* Verilator 1.6 1996/5/13
*** Added fasttrace script
2011-09-15 01:11:14 +00:00
* Verilator 1.5 1996/1/9
*** Pass structure pointer into translated code,
so multiple instances can use same functions.
**** Fixed static value concat on casex items.
2011-09-15 01:11:14 +00:00
* Verilator 1.1 1995/3/30
*** Bug fixes, added verimake_partial script, performance improvements.
2011-09-15 01:11:14 +00:00
* Verilator 1.0c 1994/9/30
*** Initial release of Verilator
2011-09-15 01:11:14 +00:00
* Verilator 0.0 1994/7/8
**** First code written.
----------------------------------------------------------------------
This uses outline mode in Emacs. See C-h m [M-x describe-mode].
Copyright 2001-2018 by Wilson Snyder. This program is free software; you
can redistribute it and/or modify it under the terms of either the GNU
Lesser General Public License Version 3 or the Perl Artistic License
Version 2.0.
Local variables:
mode: outline
2016-03-15 01:51:31 +00:00
paragraph-separate: "[ \f\n]*$"
end: