-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
always_comb
allows <=
, always_ff
allows =
#198
Comments
<=
, always_ff allows '='always_comb
allows <=
, always_ff
allows =
Assuming you're referring to the two bullets above, can you help me understand where in the standard these checks are defined/required? I've heard of these usages being unusual or frowned-upon, but I'm not aware of language in the standard which forbids them. You may also be interested in |
I mean, the point of using sv2v would be to be able to use a tool which doesn't understand systemverilog :) As far as the standard. Hmmm. Well... yes, looks like you are right for It does say: "Software tools should perform additional checks to warn if the behavior within an always_comb procedure does not represent combinational logic, such as if latched behavior can be inferred." Do you know if section 9.2.2.2.2, I confess I don't understand. It says "Statements in an always_comb shall not include those that block". I must be mis-understanding. I thought statements that block are things like "a = b;" ? (which are statement we usually wnat in combinatorial always blocks; and are also given in one of the examples for For "Software tools should perform additional checks to warn if the behavior within an always_ff procedure does not represent sequential logic." I'm fairly sure my |
Hmmm, actually, I suppose my |
If I run sv2v on:
I would expect errors because:
<=
insidealways_comb
always_ff
doesn't contain even a single<=
Yet, sv2v compiles quite happily.
Personally, I feel one of the major benefits of systemverilog is the protections of using
always_comb
, andalways_ff
, however sv2 currently, yes, acceptsalways_comb
andalways_ff
as valid syntax, but doesn't run the checks that the systemverilog standard requires.The text was updated successfully, but these errors were encountered: