M
Marcus Harnisch
Guest
Hi Andy
Andy <jonesandy@comcast.net> writes:
not what I would prefer over a real assertion language.
better chance of catching bugs early. Introducing the same bug in two
entirely different solutions (RTL and PSL/SVA) is rather difficult.
Compare that to comments. We all carefuly comment our code, don't we
Why? Isn't the RTL description sufficient? Anyone reading well
written code knows immediately how a device will behave. In fact some
argue that comments in code are dangerous because nothing ensures that
they are up-to-date with the code they are supposed to describe, hence
causing more confusion that they were to solve. If you look at some
mature projects you will find some truth in that.
If you consider assertion languages as "formal comment" you'll get two
benefits:
1. Assuming a sufficiently complete test environment you'll get
feedback if comment (assertion) and code diverge.
2. A well specified formal language doesn't leave room for
interpretation. Prose is ambiguous, assertions are not.
Plus, if used in specifications (instead of or alongside timing
diagrams and prose), you can now easily verify the actual behavior
vs. specifed behavior.
concise way to describe some behavior.
Regards
Marcus
--
note that "property" can also be used as syntaxtic sugar to reference
a property, breaking the clean design of verilog; [...]
(seen on http://www.veripool.com/verilog-mode_news.html)
Andy <jonesandy@comcast.net> writes:
This is pretty much how OVL is implemented. Better than nothing, butCan't most formal tools "prove" regular VHDL-87 assertions? So we
beg, borrow or steal a package of functions/procedures that can be
called in conjunction with an assert statement to accomplish all these
new-fangled properties?
not what I would prefer over a real assertion language.
Sometimes this is exactly what you want to have. Diversity gives you aWhat is nice about assertion statements (and maybe properties; I don't
know) is that they can be placed inside existing conditional
statements, etc. in you regular code, so you don't have to separately
account for those conditions in the property.
better chance of catching bugs early. Introducing the same bug in two
entirely different solutions (RTL and PSL/SVA) is rather difficult.
Compare that to comments. We all carefuly comment our code, don't we
Why? Isn't the RTL description sufficient? Anyone reading well
written code knows immediately how a device will behave. In fact some
argue that comments in code are dangerous because nothing ensures that
they are up-to-date with the code they are supposed to describe, hence
causing more confusion that they were to solve. If you look at some
mature projects you will find some truth in that.
If you consider assertion languages as "formal comment" you'll get two
benefits:
1. Assuming a sufficiently complete test environment you'll get
feedback if comment (assertion) and code diverge.
2. A well specified formal language doesn't leave room for
interpretation. Prose is ambiguous, assertions are not.
Plus, if used in specifications (instead of or alongside timing
diagrams and prose), you can now easily verify the actual behavior
vs. specifed behavior.
Deliberatly in a way. To provide diversity (see above), and to get aMaybe it's just me, but it seems like properties were developed for
"bolting on" verification, where as I think we need to do more
"building in" verification.
concise way to describe some behavior.
Regards
Marcus
--
note that "property" can also be used as syntaxtic sugar to reference
a property, breaking the clean design of verilog; [...]
(seen on http://www.veripool.com/verilog-mode_news.html)