Project

General

Profile

[logo] 
 
Home
News
Activity
About/Contact
Major Tools
  Dinotrace
  Verilator
  Verilog-mode
  Verilog-Perl
Other Tools
  BugVise
  CovVise
  Force-Gate-Sim
  Gspice
  IPC::Locker
  Rsvn
  SVN::S4
  Voneline
  WFH
General Info
  Papers

Activity

From 03/24/2014 to 04/22/2014

04/22/2014

11:36 PM Issue #659: Support finitely recursive modules
Is it possible to bump priority of this issue? I failed to use Verilator just because of this _feature_; in a project... Igor Lesik
12:40 PM Issue #748: failed to build Verilator with GCC 4.8.1
That's an old flex relative to a new gcc, maybe a new flex will fix it. Otherwise perhaps you could debug and provid... Wilson Snyder
07:55 AM Issue #748 (WillNotFix): failed to build Verilator with GCC 4.8.1
Got following errors:... Jie Xu
11:08 AM Issue #747: Unable to pass strings into C functions in compiled code
I guess V3Width will need to be taught how to do string promotion. It's best if you wait until my present set of edi... Wilson Snyder
02:16 AM Issue #747: Unable to pass strings into C functions in compiled code
I spent a little time playing with this and it looks like the code will require quite a bit more work.
The problem...
Glen Gibb

04/21/2014

11:40 PM Issue #745 (Resolved): always @ ({signal1, signal2, etc}) triggers syntax error, unexpected '{'
One-liner. Fixed in git towards 3.857.
Note verilator has very limited syntax in always as it is cycle based.
...
Wilson Snyder
09:36 PM Issue #745: always @ ({signal1, signal2, etc}) triggers syntax error, unexpected '{'
forgot to mention that version is 3.856 Igor Lesik
07:16 PM Issue #745 (Closed): always @ ({signal1, signal2, etc}) triggers syntax error, unexpected '{'
I am trying to compile big project where some designers concatenate signals inside "always" sensitivity list. All oth... Igor Lesik
11:28 PM Issue #746 (Feature): Strings are limited in width to 64 bits
Verilator only supports strings in a few limited cases, and not currently compares. I'm in the middle of a ripup of ... Wilson Snyder
09:51 PM Issue #746 (Closed): Strings are limited in width to 64 bits
Verilator generates an error whenever I try to assign a string longer than 64 bits to a string variable. For example,... Glen Gibb
11:27 PM Issue #747 (Feature): Unable to pass strings into C functions in compiled code
Verilator only supports strings in a few limited cases. Might you attempt a patch? This one houldn't be too bad in ... Wilson Snyder
09:58 PM Issue #747 (Closed): Unable to pass strings into C functions in compiled code
gcc produces the following error when I try to pass a Verilog string into a $display statement:... Glen Gibb

04/17/2014

02:35 AM Issue #725: Support for 'unique if'
FYI due to bug743 I pushed a fix; it should have iterateAndNext on each statements, instead of only the children of t... Wilson Snyder
02:34 AM Issue #743 (Closed): "assert" under "if" with no begin/end causes internal error
This was only in the development version, not the release, and was a result of fixing bug725.
Fixed in git. Also ...
Wilson Snyder
01:49 AM Issue #743 (Closed): "assert" under "if" with no begin/end causes internal error
The code below causes Verilator to fail with the error message... Chandan Egbert

04/16/2014

10:38 AM Issue #741: Verilator 3.856 errors on reserved words as struct members Verilator 3.850 did not
Ah, I had assumed you were using -Wno-RSVDWORD, which before this fix was fatal, unlike other non-structure-member re... Wilson Snyder
12:21 AM Issue #742 (Resolved): trace of struct array not working correctly
Fixed in git towards 3.857.
Note without --trace-structs, as this is a packed array it should have and will now tr...
Wilson Snyder

04/15/2014

11:38 PM Issue #737 (Assigned): Verilator bug in signed/unsigned expression eval
Stay tuned. I'm using this bug and the others as motivation to audit and cleanup all of the WIDTH related fixup code. Wilson Snyder
11:36 PM Issue #741 (Resolved): Verilator 3.856 errors on reserved words as struct members Verilator 3.850...
Fixed in git towards 3.857.
Wilson Snyder
09:58 AM Issue #741 (Closed): Verilator 3.856 errors on reserved words as struct members Verilator 3.850 d...
I think newer versions of Verilator are making a check on variable names that are part of structs incorrectly; see ex... Chris Randall
12:46 PM Issue #742 (Closed): trace of struct array not working correctly
For the following code, the generated VCD dump file will only have tt[31:0]. ... Jie Xu

04/11/2014

02:58 PM Issue #740 (Closed): Import function context scope should be the declaration scope not the callin...
In the following code, the context of the import function call should be the scope at the time of declaration, not th... Geoff Barrett
12:59 AM Issue #739 (Duplicate): Multidimensional arrays and UNOPTFLAT warning
(Unfortunately) There are other bugs about UNOPTFLAT here, for example bug63 on a version of this with bit numbers. ... Wilson Snyder

04/10/2014

10:02 PM Issue #739 (Duplicate): Multidimensional arrays and UNOPTFLAT warning
I'd like to use a multidimensional array to connect a number of combinational blocks where the output of one block is... Glen Gibb
09:58 PM Issue #738: AstReplicate constructor consistency
P.S. While I would like to use C++11 it'll probably unfortunately be 5-10 years before it's common enough to use it i... Wilson Snyder
09:57 PM Issue #738 (Closed): AstReplicate constructor consistency
init() seems nicer. I added a check that lhs is defined to avoid a coredump.
Pushed to git towards 3.857.
Wilson Snyder
05:51 PM Issue #738: AstReplicate constructor consistency
I've pushed two alternative fixes to my github repo: https://github.com/grg/verilator.git
The alternatives are:
*...
Glen Gibb
05:20 PM Issue #738 (Closed): AstReplicate constructor consistency
I have noticed inconsistency between the two AstReplicate constructors:... Glen Gibb
12:30 AM Issue #649 (Resolved): support for streaming operators
Excellent. Made a few trivial style changes, and fixed a compiler warning.
Fixed in git towards 3.857.
Wilson Snyder

04/09/2014

09:39 PM Issue #649: support for streaming operators
I decided the pre-shifting is easier to understand (and to explain). I've pushed this into both the III and QII versi... Glen Gibb
09:20 PM Issue #649: support for streaming operators
Seems nice to me, but either way.
BTW your 1 << needs to be VL_UL(1) or VL_ULL(1) for the quad version.
Wilson Snyder
09:11 PM Issue #649: support for streaming operators
Ah yes, I should have thought of creating a custom visit function in V3EmitC. I've done this now and tested it agains... Glen Gibb
01:43 AM Issue #649: support for streaming operators
You could edit the string to put a constant value inside it, e.g.
(string)"VL_STREAML_FAST..."+cvtToStr(int_value_...
Wilson Snyder
12:49 AM Issue #649: support for streaming operators
How do I pass the output of $clog2(rd) into my fast function? Is it possible to modify a value as it's being emitted ... Glen Gibb
12:23 AM Issue #649: support for streaming operators
I thought about your testing comment and wrote the attached. It core-dumped another simulator, but turned up what I ... Wilson Snyder
11:59 AM Issue #736 (Resolved): Verilator extends ~|a and ~(|a) wrong with -Wno-WIDTH
Again related to ignoring WIDTH warnings. Same problem with reduction-and.
Fixed in git towards 3.857.
Wilson Snyder
09:20 AM Issue #736 (Closed): Verilator extends ~|a and ~(|a) wrong with -Wno-WIDTH
The following module should return **4'b0000** or **4'b0001** but Verilator
GIT fb4928b returns **4'b1111** or **4'b...
Clifford Wolf
09:47 AM Issue #737 (Closed): Verilator bug in signed/unsigned expression eval
The term "(p1 + p2)" below is part of an unsigned expression and thus should
be zero-extended. Verilator fb4928b how...
Clifford Wolf
12:29 AM Issue #735 (Resolved): Strange Verilator behavior with power, signdness and more
Yes that was weird, the number library had "hidden state" that confused the generated C code.
Fixed in git towards...
Wilson Snyder

04/08/2014

02:41 PM Issue #729: Verilator bug in handling $signed in unsigned with -Wno-WIDTH
Wilson Snyder wrote:
> ..., but wouldn't be surprised if there are other sign extension problems when WIDTH warnings...
Clifford Wolf
01:35 AM Issue #729 (Resolved): Verilator bug in handling $signed in unsigned with -Wno-WIDTH
New fix in git with bug733 working, towards 3.857.
Added a bunch of new tests, but wouldn't be surprised if there ...
Wilson Snyder
10:23 AM Issue #735 (Closed): Strange Verilator behavior with power, signdness and more
The following module should output 0x00000000 for a=0 and 0x010000ff for a=1. But Verilator GIT 5c39420 outputs 0xfff... Clifford Wolf
06:14 AM Issue #649: support for streaming operators
I've rebased my changes on top of master and pushed to github.
The strange shift-merge code I had at the end of th...
Glen Gibb
02:30 AM Issue #649: support for streaming operators
Two nits, then done.
If you merge master you'll see I added some EXTEND_ types to fix a signed bug. Rather than s...
Wilson Snyder
01:34 AM Issue #733 (Closed): Verilator bug in extending $signed
Fixed in git; never in release.
Wilson Snyder

04/07/2014

09:14 PM Issue #649: support for streaming operators
I've pushed a couple more minor commits and I'm now happy to merge.
I wasn't able to get checking using dtypeSkipR...
Glen Gibb
08:18 PM Issue #734 (WillNotFix): Logical Or is outputted as bitwise Or in C++ code generated by verilator
There are a hundreds of optimizations that Verilator does, and this is only the tip of a huge iceberg. If you run mo... Wilson Snyder
08:05 PM Issue #734 (WillNotFix): Logical Or is outputted as bitwise Or in C++ code generated by verilator
Verilator is used to convert b12.v to Vb12.cpp (both attached). In line 412 of Vb12.cpp the if condition is "if ((((... Sharad Bagri
02:52 AM Issue #729 (Assigned): Verilator bug in handling $signed in unsigned with -Wno-WIDTH
The fix for this should have only addressed those logical compares which zero pad (<,>,<=,>=,==,===,! =, ! ==), but h... Wilson Snyder
02:02 AM Issue #733: Verilator bug in extending $signed
This was caused by the fix for bug729, and did not exist in previous versions.
Please see notes in bug729.
Wilson Snyder

04/06/2014

02:13 PM Issue #733 (Closed): Verilator bug in extending $signed
The following module should output 4'b1111 but Verilator GIT 14fcfd8 outputs 4'b0001 instead.... Clifford Wolf
12:50 AM Issue #730: Bug in Verilator signed/unsigned handling in power operator
Neat. BTW you might want to look at test_verilated/vgen.v, which makes random verilog programs to test expression ev... Wilson Snyder
12:36 AM Issue #730: Bug in Verilator signed/unsigned handling in power operator
Wilson Snyder wrote:
> For example Icarus sets the output incorrectly and has a for() loop multiplying for every val...
Clifford Wolf

04/05/2014

08:07 PM Issue #730 (Resolved): Bug in Verilator signed/unsigned handling in power operator
Your test plus others I created turned up bugs in every simulator I tested, you are lucky you found any that worked. ... Wilson Snyder
07:59 PM Issue #729: Verilator bug in handling $signed in unsigned with -Wno-WIDTH
Forgot to add pushed to git towards 3.857.
Wilson Snyder
07:58 PM Issue #729 (Resolved): Verilator bug in handling $signed in unsigned with -Wno-WIDTH
Thanks for the test. It correctly was making the $signed 2 bits, but the later extending due to turning off WIDTH war... Wilson Snyder

04/04/2014

10:28 PM Issue #649: support for streaming operators
> It shall be an error to use a streaming_concatenation as an operand in an expression without first casting it to a ... Wilson Snyder
09:50 PM Issue #649: support for streaming operators
There's one additional thing I should correct before merge. A sentence in 11.4.14 reads:
> It shall be an error to u...
Glen Gibb
10:51 AM Issue #649: support for streaming operators
Great. At present there isn't a way to eliminate pushing functions of one variable (in V3Gate). The "right thing" i... Wilson Snyder
06:46 AM Issue #649: support for streaming operators
I've pushed a patch with handles the power of 2 case. I chose to split the "fast" code into a separate function -- th... Glen Gibb
02:20 AM Issue #649: support for streaming operators
P.S. no reason to optimize V3Number, just verilated.h.
Wilson Snyder
02:20 AM Issue #649: support for streaming operators
If you could look at optimizing at least the power-of-2-bit-flip cases, then I'll merge. You may need some additiona... Wilson Snyder
12:00 PM Issue #730: Bug in Verilator signed/unsigned handling in power operator
Wilson Snyder wrote:
> Please post the results of this on your other simulators. It may be interesting.
This is ...
Clifford Wolf
11:50 AM Issue #730: Bug in Verilator signed/unsigned handling in power operator
Wilson Snyder wrote:
> My guess is most of the other simulators are using floating point math then taking LSBs.
I...
Clifford Wolf
03:48 AM Issue #730: Bug in Verilator signed/unsigned handling in power operator
Please post the results of this on your other simulators. It may be interesting.
module t;
initial begin
...
Wilson Snyder
03:34 AM Issue #730: Bug in Verilator signed/unsigned handling in power operator
Well this is fun. Verilator isn't treating it as signed, for example do this
$display("%b", ((-4'd1 ** -4's...
Wilson Snyder

04/03/2014

03:21 PM Issue #729: Verilator bug in handling $signed in unsigned with -Wno-WIDTH
Wilson Snyder wrote:
> Would you mind posting the tests as something self-checking?
here you go: http://svn.cliff...
Clifford Wolf
02:17 PM Issue #729: Verilator bug in handling $signed in unsigned with -Wno-WIDTH
I'll look at this and the other one shortly, hopefully easy to fix. Would you mind posting the tests as something se... Wilson Snyder
01:54 PM Issue #729 (Closed): Verilator bug in handling $signed in unsigned with -Wno-WIDTH
The following module should output 0 for a = 2'b11 and b = 3'b111. But Verilator 3.856 outputs 1 instead.... Clifford Wolf
01:58 PM Issue #730 (Closed): Bug in Verilator signed/unsigned handling in power operator
The following module should return 0 for both outputs:... Clifford Wolf

04/02/2014

09:41 PM Issue #649: support for streaming operators
A couple more bugs have been fixed and I've updated the test with more test cases. Glen Gibb
06:32 AM Issue #649: support for streaming operators
I've pushed several more fixes, although I'd appreciate your input on two commits:
* f94f299: this commit moves the ...
Glen Gibb
03:45 AM Issue #649: support for streaming operators
I I found out why my %li isn't working. In V3Emit.cpp, the following code exists inside the @visit@ function for AstN... Glen Gibb
03:05 AM Issue #649: support for streaming operators
P.S. Feel free to extend the test I sent to add operator-on-left outputs. You'll need to update the signature; I ass... Wilson Snyder
03:04 AM Issue #649: support for streaming operators
%li should work fine, I use that other places. It's still much better in V3Const to remove the operator, as this the... Wilson Snyder
02:49 AM Issue #649: support for streaming operators
Alright, I pushed a modified version of my test that tests this case and a fix. (Although I'd still like your advice ... Glen Gibb
02:41 AM Issue #649: support for streaming operators
Good news is that I know what the problem is. Of course it's in the one area that I thought was so simple that I didn... Glen Gibb
03:22 AM Issue #207 (Closed): Support assignment between packed arrays with different dimensions
Somewhere along the changes for packed array support this was fixed.
Wilson Snyder
03:18 AM Issue #683 (Resolved): Assignment pattern to array is not supported
Assignment patterns fixed in git towards 3.857.
The test posted here had an additional issue in that parameters co...
Wilson Snyder

04/01/2014

11:56 PM Issue #649: support for streaming operators
Try the attached, it'll fail a weird way. You'll need to copy t_EXAMPLE.pl to t_stream2.pl.
Wilson Snyder
09:12 PM Issue #649: support for streaming operators
Hi Wilson,
In regards to the unsized test, Section 11.4.14.1 states:
> Each stream_expression within the stream_c...
Glen Gibb
11:08 AM Issue #649: support for streaming operators
I looked closer at the verilated.h code:
> IData mask = (2 << (rd - 1)) - 1;
> QData mask = (2 << (rd - 1...
Wilson Snyder
02:58 AM Issue #649: support for streaming operators
You made tests, too! This makes me so happy :)
This is very good for such a large patch. Only minor things pop u...
Wilson Snyder

03/31/2014

11:35 PM Issue #649: support for streaming operators
I've been wanting stream operator support for a little while to reverse bit sequences (and array sequences). I've gon... Glen Gibb
12:47 AM Issue #355 (Resolved): Support '{...}
'{} to arrays is in git towards 3.857.
Wilson Snyder

03/29/2014

03:06 PM Issue #727 (Resolved): Some else-if branches don't have coverage number associated
Thanks for explaining. This is fixed in git towards 3.857.
Wilson Snyder

03/27/2014

07:58 PM Issue #727: Some else-if branches don't have coverage number associated
All the verilog case/if/else statement is properly covered.
Problem is in the C++ code. Using b12.v the cpp file whi...
Sharad Bagri
07:35 PM Issue #727: Some else-if branches don't have coverage number associated
All the verilog case/if/else statement is properly covered.
Problem is in the C++ code. Using b12.v the cpp file whi...
Sharad Bagri
01:40 AM Issue #727: Some else-if branches don't have coverage number associated
When I run the code you provide I get totally different coverage points. Anyhow looking just at the verilog file you... Wilson Snyder

03/26/2014

05:47 PM Issue #727 (Closed): Some else-if branches don't have coverage number associated
I am using the verilator generated c++ code for tracking how many branches of the code has been reached. From what I ... Sharad Bagri

03/25/2014

12:27 AM Issue #726 (Feature): Support enum type checking lint checks
Yes, Verilator is weak to almost non-existent in type checks. Needs work.
Wilson Snyder
 

Also available in: Atom