Project

General

Profile

[logo] 
 
Home
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  IPC::Locker
  Parallel::Forker
  Voneline
General Info
  Papers

Activity

From 09/19/2019 to 10/18/2019

10/18/2019

10:30 PM Issue #1535: Double quotes in -f option file
Thanks for the great analysis. I don't see that there's anything at all
special about numbers, they are just normal...
Wilson Snyder
04:22 PM Issue #1535: Double quotes in -f option file
Please find here an updated proposal based on further investigations on the big-3 simulators.
First of all the "s...
Yves Mathieu
12:58 PM Issue #1489: Python support for Verilated designs
I've updated the pull request on top of master now that CMake is merged. I think I've addressed the outstanding issue... Patrick Stewart
12:06 AM Issue #850: Find UNUSED and UNDRIVEN components in structs
Not currently being worked on.
Wilson Snyder
12:06 AM Issue #678: Missing initial positive edge when using --x-initial-edge
Not currently being worked on.
Wilson Snyder
12:06 AM Issue #487: Support short-circuiting of bitswise AND and OR
Not currently being worked on.
Wilson Snyder
12:06 AM Issue #449: Using public accessor tasks/functions to read and write registers causes BLKANDNBLK e...
Not currently being worked on.
Wilson Snyder
12:06 AM Issue #364: blocking & non-blocking assigns -- verilator issues error when no logical conflict ex...
Not currently being worked on.
Wilson Snyder

10/17/2019

11:54 PM Issue #1363 (Resolved): CMake support
Thanks for all your work on this.
This is pushed to git towards eventual 4.022 release.
I'm sure you'll have tw...
Wilson Snyder
09:57 AM Issue #1363: CMake support
As in you ran "make test_regress" in the main directory and got that error? Any more context for it? Did CMake print ... Patrick Stewart
02:56 AM Issue #1363: CMake support
1. Please make the .pl files you are adding executable.
$ v4make test_regress/t/t_flag_make_cmake.pl --vlt
...
Wilson Snyder
10:43 PM Issue #1567 (Feature): Cocotb Integration
Tracking issue for integrating Verilator with Cocotb - which is currently under development.
Wilson Snyder
10:39 PM Issue #1566 (Confirmed): FST dumping is slow
From https://www.veripool.org/boards/2/topics/2831-Verilator-FST-dumping-100x-slower-than-VCD
1. Time is being was...
Wilson Snyder
09:40 AM Issue #1547 (Resolved): Refactor Verilator building in Travis
Ugh, thanks. I was only testing with --dist which appears to be why I didn't notice this. Also, I was going for a l... Todd Strader
03:18 AM Issue #1547: Refactor Verilator building in Travis
Note I tweaked the driver timeout logic to look more like previous - your change meant it printed the running tests e... Wilson Snyder
02:20 AM Issue #1534 (Closed): Fuzzer script
Scripts pushed to git.
Know there will be minor changes to e.g. ignore some internal errors, feel free to send as ...
Wilson Snyder
12:05 AM Issue #1558 (Closed): Fuzzer: Segfault on unexpected function use
Fixed in git towards 4.022.
Wilson Snyder
12:05 AM Issue #1557 (Closed): Fuzzer: Define expansion gives Internal Error: Column numbers backwards
Fixed in git towards 4.022.
Wilson Snyder
12:05 AM Issue #1560 (Closed): Fuzzer: Internal error after empty {} error
Fixed in git towards 4.022.
Wilson Snyder
12:01 AM Issue #1563 (Confirmed): Fuzzer: Unterminated block comment gives flex scanner internal error--en...
Wilson Snyder

10/16/2019

11:54 PM Issue #1565 (Duplicate): Fuzzer: After '{}, Internal Error: ../V3Ast.cpp:359: Null item passed to...
Same problem/fix as bug1560.
Wilson Snyder
11:02 PM Issue #1565 (Duplicate): Fuzzer: After '{}, Internal Error: ../V3Ast.cpp:359: Null item passed to...
Running the attached testcase with:
verilator_bin --lint-only
Produces:...
Eric Rippey
11:53 PM Issue #1564 (WillNotFix): Fuzzer: Internal Error: ../V3Number.cpp:740 after other error
Not going to fix internal errors after normal errors at present.
Wilson Snyder
10:49 PM Issue #1564 (WillNotFix): Fuzzer: Internal Error: ../V3Number.cpp:740 after other error
Running the attached testcase with:
verilator_bin --lint-only 2.sv
Produces:...
Eric Rippey
11:43 PM Issue #1562 (WillNotFix): Fuzzer: Internal Error on unterminated interface
Going to ignore internal errors after normal errors. Wilson Snyder
10:20 PM Issue #1562: Fuzzer: Internal Error on unterminated interface
This is not specific to interfaces. The attached testcase does this with a function and union:... Eric Rippey
10:09 PM Issue #1562 (WillNotFix): Fuzzer: Internal Error on unterminated interface
Running the attached testcase with:
verilator_bin --lint-only 4.sv
using version:
Verilator 4.020 devel rev ...
Eric Rippey
11:43 PM Issue #1561 (WillNotFix): Fuizzer: Internal Error Unlinked interface after unsupported interface ...
Going to ignore internal errors after normal errors.
Wilson Snyder
09:59 PM Issue #1561 (WillNotFix): Fuizzer: Internal Error Unlinked interface after unsupported interface ...
With the attached testcase, running:
verilator_bin --lint-only 3.sv
with version:
Verilator 4.020 devel rev ...
Eric Rippey
11:37 PM Issue #1560 (Confirmed): Fuzzer: Internal error after empty {} error
Wilson Snyder
11:37 PM Issue #1560 (WillNotFix): Fuzzer: Internal error after empty {} error
Wilson Snyder
09:44 PM Issue #1560 (Closed): Fuzzer: Internal error after empty {} error
With the attached file, running:
verilator_bin --lint-only 2.sv
with version:
Verilator 4.020 devel rev v4.0...
Eric Rippey
11:33 PM Issue #1559 (WillNotFix): Fuzzer: Internal error after other error on existing testcase
In general as long as there is an %Error printed *first* then I'm going to consider a later internal error as being a... Wilson Snyder
09:34 PM Issue #1559 (WillNotFix): Fuzzer: Internal error after other error on existing testcase
Running:
verilator_bin --lint-only
with test existing testcase at "test_regress/t/t_order_loop_bad.v", which i...
Eric Rippey
10:32 PM Issue #1563 (Closed): Fuzzer: Unterminated block comment gives flex scanner internal error--end o...
Running the attached testcase with:
verilator_bin --lint-only 1.sv
produces:...
Eric Rippey
08:23 PM Issue #1558 (Closed): Fuzzer: Segfault on unexpected function use
Running the attached testcase with:
verilator_bin --lint-only 1.sv
Using version:
Verilator 4.020 devel rev ...
Eric Rippey
08:19 PM Issue #1557 (Closed): Fuzzer: Define expansion gives Internal Error: Column numbers backwards
The attached testcase with:
verilator_bin --lint-only 1.sv
On version:
Verilator 4.020 devel rev v4.020-19-g...
Eric Rippey
06:26 PM Issue #1363: CMake support
I've added two trivial documentation changes after discussion with Maarten on github. Patrick Stewart
02:08 PM Issue #1363: CMake support
I've pushed another version that defaults to just building a static lib, that should work with older versions of CMak... Patrick Stewart
01:41 PM Issue #1363: CMake support
It's just the specific way I've used to build both simultaneously here that needs >=3.12. Building one or the other i... Patrick Stewart
01:28 PM Issue #1363: CMake support
Sorry, I'm not completely up to date on this thread. But regarding static/shared libraries for --protect-lib, this i... Todd Strader
01:11 PM Issue #1363: CMake support
Well it's only the protect_lib example. How about I flip the default of that file so it only builds a static library ... Patrick Stewart
01:03 PM Issue #1363: CMake support
I am using Ubuntu 18.04 LTS which is the most recent LTS of Ubuntu. This has CMake 3.10.2 out-of-the-box.
I don't ...
Wilson Snyder
12:58 PM Issue #1363: CMake support
Yes, I think so.
I thought I'd changed that to be compatible with earlier versions of cmake, but the bit that buil...
Patrick Stewart
01:55 AM Issue #1363: CMake support
Do you think this is ready to merge to master?
Took PATSTEW/cmake, merged master (which shouldn't affect this thou...
Wilson Snyder
02:05 AM Issue #1554: There is a problem when Handling variables forced type conversion
Please give a ASCII file which is a few lines long which prints e.g. pass or fail. And runs standalone.
Wilson Snyder
01:37 AM Issue #1554: There is a problem when Handling variables forced type conversion
this is the test code,maybe you can use fore reference. w z
12:49 AM Issue #1554: There is a problem when Handling variables forced type conversion
Can you submit a self-checking test, ideally in the test_regress format (see the manual), and ideally passing against... Wilson Snyder
01:05 AM Issue #1555: Asynchronous reset logic is inconsistent with rtl
great,thanks very much for your help w z
12:45 AM Issue #1556 (Feature): More informative did not converge message
Looked at this briefly. Currently where V3Emit prints __FILE__ for the "can't converge" error message, there's no goo... Wilson Snyder

10/15/2019

11:14 PM Issue #1553 (Closed): Fuzzer: Segfault on enum with no diagnostic
Thanks, some user would have hit this, basically the error message it was trying to print was broken.
Fixed in git...
Wilson Snyder
11:13 PM Issue #1552 (Closed): Fuzzer: Hang on unusual preparser include concats
Thanks. Basically the double ticks means concatenate and as there's no following token it comes from the auto-insert... Wilson Snyder
11:11 PM Issue #1551 (Closed): Fuzzer: Segfault on empty '{}
Thanks, fixed this error case.
Fixed in git towards eventual 4.022 release.
Wilson Snyder
11:10 PM Issue #1550 (Closed): Fuzzer: Segfault with "program" empty statement
Thanks, this would have hit a user at some point, any empty statement in a program caused it.
Fixed in git towards...
Wilson Snyder
11:09 PM Issue #1548 (Closed): Fuzzer: Segfault when table has error
Thanks for the case, occurred on some table errors.
Fixed in git towards eventual 4.022 release.
Wilson Snyder
10:09 PM Issue #1547 (Assigned): Refactor Verilator building in Travis
These look good. Only nit I would suggest is in the new shell scripts indent the # comments to match the block they ... Wilson Snyder
11:55 AM Issue #1554: There is a problem when Handling variables forced type conversion
we also use CARBON's CMS tool,the result in line with expectations, it can correctly do type conversion with width va... w z
11:14 AM Issue #1554: There is a problem when Handling variables forced type conversion
See the WIDTH section of the manual. I'd provide some examples from other simulators but EDA Playground seems to be ... Todd Strader
08:38 AM Issue #1554 (AskedReporter): There is a problem when Handling variables forced type conversion

The result of this shift should be related to the bit width of the operation. For example, the previous operation v...
w z
11:21 AM Issue #1549 (NoFixNeeded): Verilated Model did not DC converge
Wilson Snyder
09:54 AM Issue #1549: Verilated Model did not DC converge
thank you but the issue has been solved
hamza shabbir
09:49 AM Issue #1549: Verilated Model did not DC converge
Couple things here:
I'd really suggest properly indenting your designs. I couldn't make sense of SAP.v until I di...
Todd Strader
04:54 AM Issue #1549: Verilated Model did not DC converge
The below files contain the code, Make file and test file. i still cant figure out how to solve the Dc converge issue. hamza shabbir
11:00 AM Issue #1555: Asynchronous reset logic is inconsistent with rtl
See --x-initial-edge. I think that may resolve your problem. Todd Strader
08:46 AM Issue #1555 (NoFixNeeded): Asynchronous reset logic is inconsistent with rtl

hi,
On RTL, asynchronous reset does not require a falling edge to trigger the initial value.verilaror is inconsist...
w z
10:03 AM Issue #1556 (Closed): More informative did not converge message
See bug1549. I think it would be better to have some kind of breadcrumb when Verilator says "Verilated Model did not... Todd Strader

10/14/2019

05:43 PM Issue #1553 (Closed): Fuzzer: Segfault on enum with no diagnostic
Running the attached testcase with:
verilator_bin --lint-only 5.sv
On version:
Verilator 4.020 devel rev v4....
Eric Rippey
05:34 PM Issue #1552 (Closed): Fuzzer: Hang on unusual preparser include concats
Running the attached testcase with:
verilator_bin --lint-only 4.sv
On version:
Verilator 4.020 devel rev v4...
Eric Rippey
05:16 PM Issue #1551 (Closed): Fuzzer: Segfault on empty '{}
Running the attached testcase with:
verilator_bin --lint-only 3.sv
On version:
Verilator 4.020 devel rev v4....
Eric Rippey
05:12 PM Issue #1550 (Closed): Fuzzer: Segfault with "program" empty statement
Running:
verilator_bin --lint-only 1.sv
With version:
Verilator 4.020 devel rev v4.020-18-g4361fb8
And th...
Eric Rippey
09:38 AM Issue #1549: Verilated Model did not DC converge
See the section of the --help titled: _Verilated model didn't converge_. There are instructions in there for isolati... Todd Strader
07:46 AM Issue #1549 (NoFixNeeded): Verilated Model did not DC converge
I am implementing a SAP-1 architecture in verilator. While using the make command i am facing an error VSAP:cpp:95 Ve... hamza shabbir

10/12/2019

10:57 PM Issue #1548 (Closed): Fuzzer: Segfault when table has error
Using version:
Verilator 4.019 devel rev v4.018-39-g239ef1ae
And command line:
verilator_bin --lint-only 1.s...
Eric Rippey

10/11/2019

08:24 PM Issue #1547 (Closed): Refactor Verilator building in Travis
Currently, for verilator CI we are caching object files when building Verilator but for verilator_ext_tests we are do... Todd Strader
01:01 AM Issue #1363: CMake support
Maarten is right, without setting the C++ version threading fails on the Travis compiler. I've gone back to if(THREAD... Patrick Stewart

10/10/2019

11:53 PM Issue #1363: CMake support
Great. Thanks for separating, I pushed the test suite change part. Looking at rest...
Wilson Snyder
11:35 PM Issue #1363: CMake support
Ok, I've made a few more tweaks. Most of the tests work now with (despite) this patch:... Patrick Stewart
04:50 PM Issue #1363: CMake support
Ok, cmake support will require the user to set the correct C++ standard and pass the correct SYSTEMC_CXX_FLAGS. It wi... Maarten De Braekeleer
04:23 PM Issue #1363: CMake support
I think we should assume C++11, so not muck with flags. At present Verilator complains on any non-C11 system and say... Wilson Snyder
03:55 PM Issue #1363: CMake support
I was thinking we'd change the condition around setting C++11 to if(THREADING && !SYSTEMC) rather than if(THREADING).... Patrick Stewart
03:52 PM Issue #1363: CMake support
I suggest we should not set any language flags, I think any other policy will just lead to trouble with libraries. I... Wilson Snyder
03:41 PM Issue #1363: CMake support
Passing SYSTEMC_CXX_FLAGS will still fail the vltmt test because the C++11 flag of multithreaded will overrule the st... Maarten De Braekeleer
02:59 PM Issue #1363: CMake support
>Principally it looks like the tests where it compares the STDOUT to a golden file fail. I propose to just add a cmak... Wilson Snyder
02:51 PM Issue #1363: CMake support
Patrick Stewart wrote:
> Principally it looks like the tests where it compares the STDOUT to a golden file fail. I p...
Maarten De Braekeleer
02:07 PM Issue #1363: CMake support
Principally it looks like the tests where it compares the STDOUT to a golden file fail. I propose to just add a cmake... Patrick Stewart
01:40 PM Issue #1363: CMake support
Wilson Snyder wrote:
> 1. Perhaps we can just use the existing SYSTEMC_CXX_FLAGS? I was going to compare the gmake ...
Maarten De Braekeleer
12:48 PM Issue #1363: CMake support
1. Perhaps we can just use the existing SYSTEMC_CXX_FLAGS? I was going to compare the gmake vs cmake options passed ... Wilson Snyder
12:29 PM Issue #1363: CMake support
I should admit I did not test systemc with multithreaded verilator.
Hardcoding the c++ standard to 14 is imho a ba...
Maarten De Braekeleer
02:13 AM Issue #1363: CMake support
Wilson Snyder wrote:
> Very close.
>
> 1. Please use --generate-key mentioned previously.
>
> 2. Please remove...
Patrick Stewart

10/09/2019

11:35 PM Issue #1363: CMake support
Very close.
1. Please use --generate-key mentioned previously.
2. Please remove the unlink "$self->{obj_dir}/CM...
Wilson Snyder
10:54 PM Issue #1363: CMake support
Got thinking about --protect-key in that test; I committed a fix to add a new option --generate-key as that seems use... Wilson Snyder
08:07 PM Issue #1363: CMake support
I've added an additional change to use --protect-key in the cmake_protect_lib example, otherwise you can get problems... Patrick Stewart
04:57 PM Issue #1363: CMake support
> I cleaned these and other minor stuff up, see attached patch. Please check this & commit.
Thanks, added
>
>...
Patrick Stewart
10:54 AM Issue #1490 (Resolved): Add an option to create a DPI protected library
Squashed and pushed. Agreed that we can fix up --protect-lib under CMake when it's all in the trunk. Todd Strader
01:28 AM Issue #593 (WillNotFix): Support running make and creating top C file
Verilating and making can be done with cmake which is soon to be completed.
Making a main.cpp needs timescales, wh...
Wilson Snyder
01:03 AM Issue #1185 (WillNotFix): Support for interfaces in top level ports
This is unlikely to be supported in the medium term due to the complexities of mapping into C++. A wrapper is sugges... Wilson Snyder
12:41 AM Issue #1472 (NotEnoughInfo): Memory not updating in for loop
Thanks for filing this, feel free to reopen if a complete test case can be provided.
Wilson Snyder

10/08/2019

11:46 PM Issue #1363: CMake support
Sorry I'm pestering you with these small batches; I'm learning as I use it.
Got some warnings:
test_regress...
Wilson Snyder
06:08 PM Issue #1363: CMake support
Ok, I think it's correct now. I've also changed Maarten's email address as he requested. Patrick Stewart
04:42 PM Issue #1363: CMake support
Apologies I mucked up keeping the changes separate after changing the indentation. I'll check in new version soon, I ... Patrick Stewart
04:29 PM Issue #1363: CMake support
Tried your branch quickly.
0. Got
CMake Error at verilator/verilator-config.cmake:311:
Parse error. Exp...
Wilson Snyder
02:24 PM Issue #1363: CMake support

> Suggest we standardize on two spaces in cmake files per indent level as that seems what others recommend and is w...
Patrick Stewart
02:20 AM Issue #1363: CMake support
Few more things:
Suggest we standardize on two spaces in cmake files per indent level as that seems what others re...
Wilson Snyder
10:15 PM Issue #1490: Add an option to create a DPI protected library
In this
+++ b/bin/verilator
+encrypted RTL (i.e. IEEE P1735). See examples/protect_lib in the
+dist...
Wilson Snyder
02:15 PM Issue #1490: Add an option to create a DPI protected library
I believe this covers all the feedback:
https://github.com/toddstrader/verilator-dev/tree/protect-lib
Also, per s...
Todd Strader
01:52 AM Issue #1489: Python support for Verilated designs
> In `src/V3EmitMk.cpp`, I change the default target to PREFIX__PYTHON when python support is enabled.
> Has this br...
Patrick Stewart

10/07/2019

11:06 PM Issue #1534: Fuzzer script
I'd suggest putting the files under the "nodist" directory, this is for things that are developer only and don't need... Wilson Snyder
05:31 PM Issue #1534: Fuzzer script
The contributor agreement is fine.
At this point, I don't have a real bird's eye view of the how the project wor...
Eric Rippey
11:03 PM Issue #1489: Python support for Verilated designs
Patrick Stewart wrote:
> Maarten: The python gmake support was missing a rule to actually build the module.
> I've ...
Maarten De Braekeleer
05:41 PM Issue #1489: Python support for Verilated designs
I've just pushed a new version to github that should address the above issues. I've stripped out the unrelated format... Patrick Stewart
05:46 PM Issue #1363: CMake support
I've renamed the examples in the PR.
> Finally, I'm not that up on CMake. I'm hoping as cmake-related issues arise...
Patrick Stewart
12:04 PM Issue #1545: Warning-CASEOVERLAP is not triggering for signals wider than 12
Thanks for confirming and providing the workaround.
I was suspecting this kind of lookup table to be the limiting fa...
Yossi Nivin
11:38 AM Issue #1545 (Confirmed): Warning-CASEOVERLAP is not triggering for signals wider than 12
Currently the algorithm is very stupid, namely build a lookup table and check for duplicates.
I changed this defin...
Wilson Snyder
09:33 AM Issue #1545 (Confirmed): Warning-CASEOVERLAP is not triggering for signals wider than 12
Hi,
I noticed that I'm not getting the CASEOVERLAP warnings if the value is wider than 12 bits.
In the example be...
Yossi Nivin

10/06/2019

05:25 PM Issue #1521 (Resolved): Add --protect-ids to enhance --protect-lib obfuscation
Pushed to git towards 4.022.
Todd, you'll want to presumably make this new option also turn on when --protect-lib ...
Wilson Snyder
01:30 PM Issue #1521: Add --protect-ids to enhance --protect-lib obfuscation
Calling it --protect-ids; nearly there.
Wilson Snyder
02:56 PM Issue #1535 (Assigned): Double quotes in -f option file
Great, awaiting next patch.
Wilson Snyder
02:36 PM Issue #1544 (Closed): Improve readme
The existing readme document is really an install document.
Readme should be more modern, github-like. This probab...
Wilson Snyder
02:33 PM Issue #1489: Python support for Verilated designs
Note examples have been renamed, see last msg in bug1363.
Wilson Snyder
02:32 PM Issue #1363 (Assigned): CMake support
I renamed the old examples to have "make" in the name so users can tell make vs cmake. Can you please rename yours t... Wilson Snyder
02:08 PM Issue #1469 (Closed): VPI module
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:08 PM Issue #1536 (Closed): Misoptimization of case with string compares
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:08 PM Issue #1528 (Closed): VPI: Let port vars return variable type, not vpiPort
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1525 (Closed): Improve error report when erroneously using interface in expression
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1512 (Closed): Make callCbs public (again) and return if callbacks were called
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1511 (Closed): Add --public-flat-rw flag
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1510 (Closed): VPI: Get vpiType string
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1509 (Closed): Fix variable cast in VPI
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1507 (Closed): Linting error: backward indexing
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1499 (Closed): Have V3EmitC::emitcSyms honor --output-split-cfuncs
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:07 PM Issue #1496 (Closed): Support additional file I/O functions $fseek, $ftell, $frewind
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
02:06 PM Issue #1494 (Closed): verilator 4.018 build fails at 'make test' in examples/hello_world_c
In 4.020. Thanks for reporting this; if there are additional related problems, please open a new issue.
Wilson Snyder
01:23 PM Issue #1543 (Feature): Improve performance of icache
Wilson Snyder
01:14 PM Issue #1543 (Feature): Improve performance of icache
Feature tracking bug.
The biggest performance cost presently is icache pressure. We should figure out techniques ...
Wilson Snyder
01:05 PM Issue #1542 (Feature): Improve performance of bit operations by vectorizing
Feature tracking bug.
Verilator at present only vectorizes some very simple assignments of the form
assign a...
Wilson Snyder
01:01 PM Issue #1541 (Feature): Support unpacked structs
Feature tracking bug.
As a step towards class support (bug377), support unpacked structures.
Wilson Snyder
01:00 PM Issue #1540 (Feature): Improve internal elaboration algorithm
Feature tracking bug.
Verilator implements elaboration using an algorithm that goes back to its birth and predates...
Wilson Snyder
12:54 PM Issue #1539 (Feature): Improve internals of inliner
Feature tracking bug.
The current module inliner code works by operating on modules before the complete scoped hie...
Wilson Snyder
12:34 PM Issue #1538 (Feature): Support full UVM parsing and XML dump
Feature tracking bug.
Currently Verilator parses a subset of SystemVerilog and reports many unsupported errors at ...
Wilson Snyder
12:31 PM Issue #1537 (Feature): Support FST structure tracing w/GTKwave
Feature tracking bug.
Currently Verilator dumps structs as packed values in FST. Ideally it would allow the user ...
Wilson Snyder

10/05/2019

05:40 PM Issue #1536: Misoptimization of case with string compares
Confirmed fixed. Thanks Wilson for the quick fix! Philipp Wagner
01:13 AM Issue #1489: Python support for Verilated designs
I'm getting confused by all the layers. Do you propose
1. cmake goes to master, 2. everything in pydpi?
Or 1. ...
Wilson Snyder

10/04/2019

11:42 PM Issue #1363: CMake support
Ok, thanks for rebasing. Looked through this again and a few things:
examples/cmake -> rename to examples/c...
Wilson Snyder
11:20 PM Issue #1363: CMake support
Note to self - this is: https://github.com/verilator/verilator/pull/2
Wilson Snyder
07:40 PM Issue #1363: CMake support
I've added a rebased version as a pull request on your new(?) github repo. I'm hoping we can get the CMake in at leas... Patrick Stewart
11:20 PM Issue #1489: Python support for Verilated designs
Note to self this is also https://github.com/verilator/verilator/pull/3 Wilson Snyder
11:03 PM Issue #1489: Python support for Verilated designs
I have added DPI support for Python in a pydpi branch.
These commits should go on top of the python branch.
(which ...
Maarten De Braekeleer
07:47 PM Issue #1489: Python support for Verilated designs
I've rebased this work onto master, added a couple of minor fixes and added coverage support here: https://github.com... Patrick Stewart
11:14 PM Issue #1536 (Resolved): Misoptimization of case with string compares
Thanks for the good test case. What's going on is when the case statement is getting optimized it treated the differ... Wilson Snyder
09:32 AM Issue #1536 (Closed): Misoptimization of case with string compares
I have (simplified) code like this:... Philipp Wagner

10/03/2019

09:38 AM Issue #1521: Add --protect-ids to enhance --protect-lib obfuscation
#4 makes sense to me. Naively, it seems that s/name()/nameHashed()/ in V3EmitC would be pretty close to what we need... Todd Strader

10/02/2019

10:48 PM Issue #1469: VPI module
bug1469-1 pushed.
Wilson Snyder
01:59 PM Issue #1469: VPI module
Hi,
sorry, even worse, I deleted the branch and the comment because I realized it could be done more elegantly: I ...
Stefan Wallentowitz
11:16 AM Issue #1469: VPI module
I suspect you forgot to push bug1469-1.
Wilson Snyder
01:58 AM Issue #1469 (Resolved): VPI module
Great, looks good now thanks for taking all the feedback.
Pushed to git towards eventual 4.020 release.
Wilson Snyder
04:15 PM Issue #1535: Double quotes in -f option file
Hi Wilson,
As for big-3 simulators, i have tested the following cases:...
Yves Mathieu
04:01 PM Issue #1535: Double quotes in -f option file
I acknowledge this and future contributions are made under the Developer Certificate of Origin (https://developercert... Yves Mathieu
03:07 PM Issue #1535 (AskedReporter): Double quotes in -f option file
Thanks for your issue & looking at how to fix this.
As the old comment noted, most other simulators don't support ...
Wilson Snyder
02:50 PM Issue #1535 (Closed): Double quotes in -f option file
SystemVerilog allows string parameters.
Using -f option file should support quoted strings.
Please find, attached...
Yves Mathieu
02:04 AM Issue #1501: Support bind statements within generate blocks
Thanks!! It's not a show-stopper for us. Our workaround for anyone watching is to clock-gate based on the bind param... Dan Petrisko
01:59 AM Issue #1501: Support bind statements within generate blocks
Haven't forgotten about this. Got the exact case provided working, but based on where in the tree the bind is there's... Wilson Snyder

10/01/2019

10:51 AM Issue #1521: Add --protect-ids to enhance --protect-lib obfuscation
Got an experiment in place and realized changing v3Name to make this work
doesn't really work, as it currently adds ...
Wilson Snyder
10:45 AM Issue #1513 (Closed): CONTRIBUTING file, internals, and FAQ cleanup
Thanks all.
Wilson Snyder
10:06 AM Issue #1513: CONTRIBUTING file, internals, and FAQ cleanup
I've added a blurb in internals.adoc about the CI setup. Todd Strader
05:16 AM Issue #1469: VPI module
Hi again,
sorry, I shouldn't develop, test and prepare patches while running ORConf, branches got mixed up. Everyt...
Stefan Wallentowitz
01:53 AM Issue #1534 (Feature): Fuzzer script
This is much appreciated.
1. First legal stuff, do you agree what you attach and future contributions are open sou...
Wilson Snyder
12:50 AM Issue #1534: Fuzzer script
As far as I know there isn't an option to keep the inputs ASCII.
There is an option to use a collection of inter...
Eric Rippey
12:09 AM Issue #1534: Fuzzer script
Sweet. Always wanted to try AFL but never got to it.
Ran it for 2 minutes (which know is nothing the the grand sch...
Wilson Snyder
12:09 AM Issue #1533 (Closed): Fuzzer: buffer overflow detected
Fixed in git. As this is unlikely to be hit by users, closing immediately rather than waiting for a release.
Wilson Snyder

09/30/2019

11:48 PM Issue #1530 (Closed): Fuzzer: terminate called after throwing an instance of 'std::length_error'
Fixed in git. As this is unlikely to be hit by users, closing immediately rather than waiting for a release.
Wilson Snyder
08:06 PM Issue #1530 (Closed): Fuzzer: terminate called after throwing an instance of 'std::length_error'
Running the attached test case with "verilator_bin --cc 2.v" produces:... Eric Rippey
11:36 PM Issue #1531 (Duplicate): Fuzzer: Hang on short testcase
Same problem/solution as bug1530.
Wilson Snyder
08:16 PM Issue #1531 (Duplicate): Fuzzer: Hang on short testcase
Running "verilator_bin --cc 3.v" with the attaced testcase does not terminate in a reasonable amount of time. It doe... Eric Rippey
11:22 PM Issue #1529 (Closed): Fuzzer: Sefault on pattern testcase
Fixed in git. As this is unlikely to be hit by users, closing immediately rather than waiting for a release. Wilson Snyder
10:47 PM Issue #1529: Fuzzer: Sefault on pattern testcase
I have filed a bug with instructions on how to run the fuzzer here:
https://www.veripool.org/issues/1534-Verilator...
Eric Rippey
09:21 PM Issue #1529: Fuzzer: Sefault on pattern testcase
I take it this and the other issues are from a fuzzer? Which one? Would you be willing to contribute the configurat... Wilson Snyder
07:59 PM Issue #1529 (Closed): Fuzzer: Sefault on pattern testcase
Running "verilator_bin --cc 1.v" with the attached testcase produces:... Eric Rippey
10:50 PM Issue #1532 (Closed): Fuzzer: fatal flex scanner internal error--end of buffer missed
Thanks for the testcase. Flex EOF detection wasn't properly handled.
Fixed in git. As this is unlikely to be hit b...
Wilson Snyder
08:32 PM Issue #1532 (Closed): Fuzzer: fatal flex scanner internal error--end of buffer missed
Running "verilator_bin --cc 5.v" produces:... Eric Rippey
10:47 PM Issue #1534 (Closed): Fuzzer script
In this bug: https://www.veripool.org/issues/1529-Verilator-Sefault-on-short-testcase
There was a request to file ...
Eric Rippey
08:43 PM Issue #1533 (Closed): Fuzzer: buffer overflow detected
Running the attached testcase with "verilator_bin --cc 6.v" produces:... Eric Rippey

09/29/2019

09:14 PM Issue #1513 (Assigned): CONTRIBUTING file, internals, and FAQ cleanup
Sigh. Keeping this open as a reminder.
Wilson Snyder
09:14 PM Issue #1513 (Closed): CONTRIBUTING file, internals, and FAQ cleanup
Committed CONTRIBUTING.adoc and conversion of internals.pod to internals.adoc.
Switched to asciidoc over markdown ...
Wilson Snyder
06:49 PM Issue #1469: VPI module
Wilson Snyder wrote:
> Before, and worse after. I thought my small changes might have done it, but seemed to get th...
Stefan Wallentowitz
06:44 PM Issue #1469: VPI module
Before, and worse after. I thought my small changes might have done it, but seemed to get the same with the patch yo... Wilson Snyder
06:25 PM Issue #1469: VPI module
Thanks, Wilson. Just to confirm: The tests are broken with the dangling pointer check in and not before, right? Stefan Wallentowitz
06:01 PM Issue #1469: VPI module
If you want to post github links the easiest thing to do is make a personal branch (e.g. called bug1469) and point to... Wilson Snyder
03:11 PM Issue #1469: VPI module
Hi,
thanks, I was thinking the same, but not sure about the impact. As people probably rely on name() returning th...
Stefan Wallentowitz
03:25 PM Issue #1528: VPI: Let port vars return variable type, not vpiPort
Just for completeness. When it return vpiPort, the proper sequence would be something like:... Stefan Wallentowitz

09/28/2019

10:58 PM Issue #1513: CONTRIBUTING file, internals, and FAQ cleanup
Todd, Good point, I agree we should mention Travis, can you please suggest what we should add? I suggest at bullet p... Wilson Snyder
10:34 PM Issue #1513: CONTRIBUTING file, internals, and FAQ cleanup
This all looks good to me. I run perldoc on the .pod files, but agree that it is probably best to move them to .md t... Todd Strader
03:42 PM Issue #1513: CONTRIBUTING file, internals, and FAQ cleanup
FAQ cleanup seemed obvious improvement, wiki now points at most recent release's bin/verilator FAQ.
Wilson Snyder
03:08 PM Issue #1513 (Assigned): CONTRIBUTING file, internals, and FAQ cleanup
1. Currently the internals.pod file is used to make HTML/PDF/etc files. I doubt these are useful, is anyone using th... Wilson Snyder
04:11 PM Issue #1469: VPI module
Ok, only remaining problem I think is the new decodeName function by doing a strdup will leak more on each call. One... Wilson Snyder
03:18 PM Issue #1469: VPI module
Hi,
thanks a lot for pointing it out. I discovered that icarus (and other simulators I assume) actually return the...
Stefan Wallentowitz
01:11 AM Issue #1469: VPI module
Thanks, very close.
+++ b/test_regress/t/t_vpi_module.cpp
+ CHECK_RESULT_CSTR(name, "t.mod_a.mod_c__02E"...
Wilson Snyder

09/27/2019

04:45 PM Issue #1469: VPI module
Hi,
thanks for your input. I have updated the patch with your input and also test the escaped identifier.
Best,...
Stefan Wallentowitz
12:36 PM Issue #1490: Add an option to create a DPI protected library
Since you're neutral on lib vs library, if we use --protect-lib I believe your paper/this feature will be top google ... Wilson Snyder
08:37 AM Issue #1490: Add an option to create a DPI protected library
As discussed, I sliced of the XSim support and new AST nodes as two separate commits and pushed them.
> Multitop s...
Todd Strader
03:36 AM Issue #1490: Add an option to create a DPI protected library
Multitop should make just one top V/Mk file, I still think this will work fine.
Wilson Snyder
04:02 AM Issue #1528 (Resolved): VPI: Let port vars return variable type, not vpiPort
Not sure I follow what this helps, but don't see what it breaks either and tests don't cover it, so will assume it he... Wilson Snyder

09/26/2019

08:18 PM Issue #1490: Add an option to create a DPI protected library
I'm ambivalent towards the choice between --dpi-lib and --dpi-library but I do think one of those would be better tha... Todd Strader
12:12 PM Issue #1490: Add an option to create a DPI protected library
>I'm going to suggest --protect-lib.
Like that, let's sleep on it.
Is protect-library better or worse? I'm alwa...
Wilson Snyder
11:17 AM Issue #1490: Add an option to create a DPI protected library
Also, re: testing this specific error:... Todd Strader
07:34 AM Issue #1490: Add an option to create a DPI protected library
> perhaps the makefile by default should make both versions?
Yeah, the only reason I have this as two separate Ver...
Todd Strader
04:51 AM Issue #1490: Add an option to create a DPI protected library
Also . . .
> The generated code seems wrongly indented (not indented) for some reason.
Isn't this because I'm u...
Todd Strader
04:25 AM Issue #1490: Add an option to create a DPI protected library
Thanks again. Also, regarding names, I hate naming things. And yeah, I'm already pretty sure that --dpi-protect is ... Todd Strader
01:41 AM Issue #1490: Add an option to create a DPI protected library
>Is dpiProtectLibName() the same thing as the new v3Global.opt function you're suggesting? Does >dpiProtectLibName() ... Wilson Snyder
01:00 PM Issue #1528 (Closed): VPI: Let port vars return variable type, not vpiPort
VerilatedVpioVar does not provide any of the other properties of the vpiPort, but those of the referenced "vpiLowConn... Stefan Wallentowitz
12:39 PM Issue #1470: VPI systemtf
The first part is much easier than I thought, because @Verilated::fatalOnVpiError(false);@ does the job. Now I need t... Stefan Wallentowitz
11:55 AM Issue #1521: Add --protect-ids to enhance --protect-lib obfuscation
Ease of use is a good point so agree --dpi-protect (or whatever renamed) should set --protect-symbols by default; if ... Wilson Snyder
04:09 AM Issue #1521: Add --protect-ids to enhance --protect-lib obfuscation
Do you see uses for this beyond --dpi-protect? I'd imagine, but of course can't say for sure, that IP vendors wouldn... Todd Strader
02:44 AM Issue #1521: Add --protect-ids to enhance --protect-lib obfuscation
Proposed new flags to implement this feature for discussion:
--protect-symbols = When specified, Verilator wi...
Wilson Snyder
01:54 AM Issue #1525 (Resolved): Improve error report when erroneously using interface in expression
Thanks for your issue. I was unable to get the exact error message you did, but got other ugly messages when misusin... Wilson Snyder

09/25/2019

08:21 PM Issue #1490: Add an option to create a DPI protected library
Thanks for all the feedback. I've got a bunch of the items cleaned up and posted to my branch. But I've got a coupl... Todd Strader
12:15 AM Issue #1490: Add an option to create a DPI protected library
... think noe that you have AstText you can just hash those in the SV to fingerprint. Wilson Snyder
12:09 AM Issue #1490: Add an option to create a DPI protected library
Forgot another. The generated V should pass a fingerprint of the info used to make the V to the DPI create for checki... Wilson Snyder
07:04 AM Issue #1525 (Closed): Improve error report when erroneously using interface in expression
When an interface ("din" in this example) is erroneously used in an expression like this:... Bogdan Vukobratovic

09/24/2019

11:53 PM Issue #1490: Add an option to create a DPI protected library
Forgot one of your questions, it's "DESCR" "IPTION" as I have personal scripts that check every source file has a des... Wilson Snyder
11:51 PM Issue #1490: Add an option to create a DPI protected library
Good stuff. Review comments attached.
Main comment would be we should heave sensitivity lists based on what's need...
Wilson Snyder
04:05 PM Issue #1490: Add an option to create a DPI protected library
I believe this is ready to go now:
https://github.com/toddstrader/verilator-dev/tree/dpi-compile-ast2
A couple no...
Todd Strader
02:44 PM Issue #1522 (Feature): Support mutable top-level parameters for --protect-lib
Parameters that create data types or generate if/for subcells are unlikely to ever be "wire"able, but perhaps others ... Wilson Snyder
12:47 PM Issue #1522 (Feature): Support mutable top-level parameters for --protect-lib
This may also have applications outside of --dpi-protect. Possible solutions:
* Automatically convert parameters to...
Todd Strader
02:42 PM Issue #1521 (Feature): Add --protect-ids to enhance --protect-lib obfuscation
If anyone starts on this let me know, as I at some point might also take a look at it.
Wilson Snyder
12:41 PM Issue #1521 (Closed): Add --protect-ids to enhance --protect-lib obfuscation
Signal names and some other design details are visible via library symbols and possibly strings. We can have Verilat... Todd Strader
02:41 PM Issue #1520 (Feature): Improve --protect-lib performance
Wilson Snyder
12:37 PM Issue #1520 (Feature): Improve --protect-lib performance
Some possibilities:
* Detect cones of logic and only fetch the outputs that are affected by a given input
* Detect ...
Todd Strader
02:41 PM Issue #1519 (Feature): Benchmark --protect-lib runtime
Wilson Snyder
12:34 PM Issue #1519 (Closed): Benchmark --protect-lib runtime
There's obviously overhead in shuttling data back and forth with --dpi-protect. We should use some large-ish design ... Todd Strader
02:41 PM Issue #1518 (Feature): Protect against --protect-lib Verilator runtime incompatibility
Wilson Snyder
12:16 PM Issue #1518: Protect against --protect-lib Verilator runtime incompatibility
Some items such as the mutexes for multithreading, tracing, VPI name lookup, and coverage are assumed to be common ac... Wilson Snyder
12:08 PM Issue #1518 (Feature): Protect against --protect-lib Verilator runtime incompatibility
Currently all --dpi-protect'ed modules and the top-level design share the same Verilator runtime symbols. Some optio... Todd Strader
02:40 PM Issue #1517 (Feature): Add support for additional simulators in --protect-lib
Wilson Snyder
12:02 PM Issue #1517 (Feature): Add support for additional simulators in --protect-lib
So far XSim has been tested and works with a shared library. We need to determine what we need to be able to build l... Todd Strader
02:40 PM Issue #1523 (Feature): Add waveform replay tool
Would ideally like to see something that works on an arbitrary design without requiring --dpi-protect, and ideally us... Wilson Snyder
12:51 PM Issue #1523 (Feature): Add waveform replay tool
When simulating with a --dpi-protect'ed module, the end user cannot see the internals and therefore a waveform captur... Todd Strader
02:24 PM Issue #1524 (Assigned): Support sensitivity to DPI function outputs
I need to look into this more, but I believe that Verilator does schedule processes based on the outputs of DPI funct... Todd Strader

09/23/2019

11:27 PM Issue #1469: VPI module
Thanks for working on this. I think your general approach is fine.
I suggest you add a test where there's some bac...
Wilson Snyder
09:55 PM Issue #1469: VPI module
This has been more complicated than I hoped. Attached I am sending you my proposal for review. It is probably not the... Stefan Wallentowitz
10:44 PM Issue #1490: Add an option to create a DPI protected library
Thanks, I think this looks much better & reasonable. I'd suggest using AstComment where you can instead of text with... Wilson Snyder
06:35 PM Issue #1490: Add an option to create a DPI protected library
This is very much a WIP, but I want to make sure we're on the same page:
https://github.com/toddstrader/verilator-de...
Todd Strader
12:04 PM Issue #1511 (Resolved): Add --public-flat-rw flag
Thanks all.
Pushed to git towards eventual 4.020 release.
Wilson Snyder

09/21/2019

06:36 PM Issue #1514 (Feature): Switch for file to read public signals from
Agreed, and suggest this should be handled by adding a config file parse rule to the bottom of verilog.y.
Ideally ...
Wilson Snyder
05:47 PM Issue #1514 (Feature): Switch for file to read public signals from
We should have a switch that lets the user give a file with names of signals (including whitespaces) that are treated... Stefan Wallentowitz
06:26 PM Issue #1515 (Feature): VPI: Log all variables that were accessed
Wilson Snyder
05:49 PM Issue #1515 (Feature): VPI: Log all variables that were accessed
The idea is to add the capability to the VPI runtime to log all variable accesses in a format compatible with #1514. ... Stefan Wallentowitz
05:43 PM Issue #1513 (Closed): CONTRIBUTING file, internals, and FAQ cleanup
We should add a CONTRIBUTING file on toplevel that describes the required technical and legal steps to submit patches... Stefan Wallentowitz
05:41 PM Issue #1511: Add --public-flat-rw flag
Wilson Snyder wrote:
> Ok, given the trade-offs seems reasonable.
>
> If this starts getting a lot of use we migh...
Stefan Wallentowitz
12:51 PM Issue #1511: Add --public-flat-rw flag
Ok, given the trade-offs seems reasonable.
If this starts getting a lot of use we might want an option to at runti...
Wilson Snyder
01:24 PM Issue #1490: Add an option to create a DPI protected library
>It also slightly modifies the emitted Makefile, but I'm going to assume we're not going to represent the Makefile in... Wilson Snyder
11:45 AM Issue #1512 (Resolved): Make callCbs public (again) and return if callbacks were called
Your description seems reasonable. One reason why I was asking was if this should be documented in the main docs, bu... Wilson Snyder

09/20/2019

03:40 PM Issue #1470: VPI systemtf
Wilson Snyder wrote:
> Perhaps when suppressed this should be setting the error return code so vpi_chk_error returns...
Stefan Wallentowitz
03:32 PM Issue #1470: VPI systemtf
Perhaps when suppressed this should be setting the error return code so vpi_chk_error returns something sane e.g. lev... Wilson Snyder
02:30 PM Issue #1470: VPI systemtf
Okay, here is one that is equally hacky and elegant on both sides. Instead of making the symbol weak, how about just ... Stefan Wallentowitz
04:25 AM Issue #1470: VPI systemtf
Thanks, Wilson, I was already thinking about the issue with other compilers but only came up with LLVM :) I think it ... Stefan Wallentowitz
01:47 PM Issue #1512: Make callCbs public (again) and return if callbacks were called
Hi,
conceptually the VPI library is generic in cocotb and it used some init hooks to install the callbacks. But Ve...
Stefan Wallentowitz
01:30 PM Issue #1490: Add an option to create a DPI protected library
More questions about the in-AST refactor:
Currently "--dpi-protect secret" creates foo.sv and foo.cpp. It also sl...
Todd Strader
05:01 AM Issue #1511: Add --public-flat-rw flag
Thanks for your insights, I am a bit torn apart on this one. But I believe overall the usability wins in this case. T... Stefan Wallentowitz

09/19/2019

11:01 PM Issue #1512 (Assigned): Make callCbs public (again) and return if callbacks were called
I'm ok applying this conceptually, but do you think this is the API you really want to use instead of abstracting thr... Wilson Snyder
08:17 PM Issue #1512 (Closed): Make callCbs public (again) and return if callbacks were called
For the cocotb support we need VPI callbacks of all sorts. The access to callCbs() was public before but has not been... Stefan Wallentowitz
10:52 PM Issue #1511 (Assigned): Add --public-flat-rw flag
I really don't like expanding the userfullness use of public. There's two problems:
1. Users will probably set it...
Wilson Snyder
05:16 AM Issue #1511: Add --public-flat-rw flag
This is a compromise between --public (deprecated) and requiring the designer to add the comments. By restricting it ... Stefan Wallentowitz
05:04 AM Issue #1511 (Closed): Add --public-flat-rw flag
Hi,
the purpose of these patches is to add a new switch --public-flat-rw that changes the behavior as if /*verilat...
Stefan Wallentowitz
10:21 PM Issue #1470: VPI systemtf
Weak seems somewhat hacky, but I can live with hacky. You do however need to do not break non-GCC compilers e.g. MSV... Wilson Snyder
09:00 PM Issue #1470: VPI systemtf
Hi,
sorry, took much longer as I hoped to even look into it. Attached please find a first, rather trivial patch, t...
Stefan Wallentowitz
 

Also available in: Atom