| Login | | Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name. | |
| Who's Online | There are currently, 45 guest(s) and 0 member(s) that are online.
You are Anonymous user. You can register for free by clicking here | |
 | |
|
Verification Guild: Forums |
|
| View previous topic :: View next topic |
| Author |
Message |
postgenerate Senior


Joined: Jan 18, 2004 Posts: 31 Location: Phoenix
|
Posted: Sun Jan 18, 2004 3:25 pm Post subject: Why Be Concerned With Simulation Performance? |
|
|
Is cycle-per-second ASIC simulation performance one of your concerns? If so, maybe you’re doing something wrong!
I can remember back in the early days of RTL languages (1990) when we needed to transition from using Verilog to VHDL as our tool of choice for developing ASICs for our new F-22 combat system. Uncle Sam was telling us that VHDL was going to be the new emerging standard.
We put together a list of features we needed to make the new simulator compatible with our planned environment and then we proceeded to call in the vendors. The main theme the vendors pushed was “Its all about performance”. Our response was “Wait Mr. Vendor, what good is performance if your simulator does not work with LSI Logic MDE tools, or with the old Logic Modeling Hardware Modeler, or the LM software models? What about your 1076 compliance? What does your roadmap look like?” It was clear that choosing a simulator because of a 10 or 20% performance advantage would be a disastrous decision if it did not easily fit in our environment.
Today it’s almost an entirely different picture. Simulators today have reached a mature status, so vendors are left with little but to still rant over their outstanding benchmark performance. I maintain that the importance (or lack of) of this remains the same. The word today is “Smart” Verification. Today it’s about using the simulation cycles you have wisely and not measuring your worth as a verification engineer by how many cycles you can throw at the device you are verifying. It’s about truly understanding the device you are trying to verify and writing structured constrained random stimulus to target all corner cases as efficiently as possible. It’s about using metrics to determine value of your tests with detailed functional coverage code, and using temporal declarative code to evaluate protocol behavior in an understandable fashion. This is “New Generation” testbench development and provides breakthroughs in verification quality and development cycle schedules regardless of simulator cycle per second performance.
Certainly better performance is nice and there are always exceptions that absolutely require the highest performance simulator and days worth of stimulus. On the other hand, with the maturity of simulators today, and the wealth of inexpensive Linux hardware coupled with transaction based HVL/simulator interfaces, in most situations isn’t your time better spent invested in your verification methodology rather than getting that last CPS from your simulator?
I am a strong advocate of using SystemC for “new generation” testbench development. My methodology stretches the OSCI simulator as far as it will go, uses PLI interfaces to stimulate and probe the device under test along with simulator specific kernel interfaces. My methodology involves running everything on Linux servers, and structuring my environments to gain portability by switching on and off vendor specific features such as assertions. We switch in vender tools as desired because they offer immediate value in accomplishing specific tasks, not because we are handcuffed to them for legacy reasons.
I for one am tired of listening to performance shootouts, performance pitches, benchmarks etc. My performance is measured by how fast and how well I can meet the project verification goals not how may cycles per second I can get out of my simulator. Or, maybe my tools of choice also just happen to be good performing tools.
Tom West
Phoenix AZ
See more at www.openverificationfoundation.org |
|
| Back to top |
|
 |
z Senior

![]()
Joined: Jan 09, 2004 Posts: 92
|
Posted: Sun Jan 18, 2004 9:32 pm Post subject: Re: Why Be Concerned With Simulation Performance? |
|
|
Dan Joyce presented a specific approach to understand the device for better verification (http://www.deepchip.com/items/0410-07.html). This DVCon'03 paper and slides can be downloaded at http://img.cmpnet.com/deepchip/downloads/Dan_Audit.zip.
| postgenerate wrote: | | It’s about truly understanding the device you are trying to verify and writing structured constrained random stimulus to target all corner cases as efficiently as possible. |
Many people do not like getting verification engineers to study the internal structures of the devices too much. According to Dan's approach, the verification engineers should know the internal structures nearly as much as the designers do.
Clearly, more knowledge of the device helps verification engineers. It may not be clear how to obtain such knowledge. Require better documentation of the design? Get verification engineers to dig into the undocumented code? If they want to, people can easily prove the higher cost of learning more details than studying just the specifications. A verification engineer told me a story that he had trouble getting any instructions on initializing the device. Should verification engineers write the specifications and other design documents?
Have people found any tools that help studying undocumented code or identifying what verification engineers need (or need not) to learn? |
|
| Back to top |
|
 |
Darren Senior


Joined: Jan 06, 2004 Posts: 32 Location: Bristol, England
|
Posted: Fri Jan 23, 2004 9:50 am Post subject: |
|
|
This is where the verification process gets philosophical. My view as a verification engineer is that to a large degree I do not want to know about the internals of the design I am verifying - the target specification document should be adequate enough for me to verify to and to generate my functional coverage points from. If it is not, then the concept engineer has not done his job properly, as he has not fully thought through the implications of what he is doing. If I have to understand the internals of the design to verify it, then I run the risk of falling under the same set of assumptions that the designer did - what I am trying to do is verify that what the designer did matches the target specification, not that the designer has designed what he thought he did.
Although simulator performance isn't the be all and end all, and of course you should get as much intelligent verification per cycle as possible, it is still of importance. If one simulator is 50% faster than another, then what may be a days regression becomes half a day, allowing more rapid respin and rechecking over-night.
To further answer Z's point - verification engineers should be involved in the specification phase, as they should ensure that the specification is (a) verifiable, and (b) good enough to verify from. If the spec does not match either of these, then it shouldn't be released to the design phase. |
|
| Back to top |
|
 |
vhdlcohen Industry Expert


Joined: Jan 05, 2004 Posts: 1238 Location: Los Angeles, CA
|
Posted: Fri Jan 23, 2004 5:51 pm Post subject: |
|
|
| Quote: | | To further answer Z's point - verification engineers should be involved in the specification phase, as they should ensure that the specification is (a) verifiable, and (b) good enough to verify from. If the spec does not match either of these, then it shouldn't be released to the design phase |
I would like to add that ABV with PSL or SytemVerilog provides Documentation with unambiguous definition of interface and design properties. In my experience with PSL for the 2nd edition of our PSL book (available in a few days), I found that PSL documents design decisions, assumptions and requirements prior to any RTL code. Because it is a precise, concise language it is great for requirements and code reviews.
During the coding stage, PSL simplifies the RTL design because there is a clear understanding of requirements by the designer. In simulation, the testbench is greatly simplified since the properties are automatically checked. Errors identified by failed properties. In addition, PSL guides the verification plan and test designs because it can help guide directed tests. functional coverage guides the design and verification. If formal verification is used, the RTL model can be verified without a testbench. This is great for subblocks verification. During the verification of the subsystem with the subblocks, the PSL properties of the subblocks are continously verified in simulation.
... ABV is to verification
as RTL is to synthesis ...
-----------------------------------------------------------------------------
Ben Cohen Trainer, Consultant, Publisher (310) 721-4830
http://www.vhdlcohen.com/ vhdlcohen@aol.com
Author of following textbooks:
* Using PSL/SUGAR for Formal and Dynamic Verification 2nd Edition, 2004 isbn 0-9705394-6-0
* Real Chip Design and Verification Using Verilog and VHDL, 2002 isbn 0-9705394-2-8
* Component Design by Example ", 2001 isbn 0-9705394-0-1
* VHDL Coding Styles and Methodologies, 2nd Edition, 1999 isbn 0-7923-8474-1
* VHDL Answers to Frequently Asked Questions, 2nd Edition, isbn 0-7923-8115
------------------------------------------------------------------------------ |
|
| Back to top |
|
 |
z Senior

![]()
Joined: Jan 09, 2004 Posts: 92
|
Posted: Fri Jan 23, 2004 10:05 pm Post subject: |
|
|
My original queston can be rephrased as whether RTL provides "Documentation with unambiguous definition of interface and design properties" for verification engineers. RTL clearly provides "Documentation with unambiguous definition of interface and design properties" for verification tools as well as synthesis tools. RTL is a valid supplement to the specification document according to some people but not others. Hardly anybody would use RTL as a replacement of the specification document.
Now we also have assertions in PSL (or another language). If the assertions are available, is there any need of the specification document any more? Does the specification document still have to be as complete as before? Is there any reason to still use RTL as a supplement to the specification document at all? In short term, assertions likely will only supplement RTL and the specification document in its documentation role for verification engineers. How about long term? Would some people write assertions based on the specification document and/or RTL? Would some people write RTL and/or the specification document based on the assertions? Would the same person write assertions as well as RTL and/or the specification document?
The first paper at last summer's DAC presented how Intel people used assertions. If I understand it correctly, Intel people wrote assertions based on the specification document. They intended to start discussing whether to replace some testbenches with assertions. In addition to using assertions to verify designs, they also mathematically proved the correctness of the assertions against some higher-level (more readable) assertions, which ABV vendors have not promoted. So, some assertions are more readable than others, and people apparently need the less readable assertions.
Each assertion is likely concise, but the entire collection of assertions may not. Before any tool (or, at least, any guideline) is available to check the redundancy and the completeness of an assertion collection, people can write too many or too few assertions. As reported in the Intel paper, a complete redundant collection (maybe many of these collections?) of assertions can be useful. The completeness and the redundancy are not important if assertions do not replace anything. However, assertions has only limited values if they are only extra work for extra benefit.
In reality, assertions can be redundant easily. On one side of an interface, an engineer makes an assertion "the output has to follow this rule". On the other side of the same interface, another engineer makes another assertion "the input has to follow this rule". Both assertions do exactly the same thing. If people make only 1 assertion for each interface, which side? Block-level verification needs assertions in the block for all of its interfaces, but the neighboring blocks also need assertions on the other side for the same reason.
BTW, the assertions providing "Documentation with unambiguous definition of interface and design properties" probably should not be automatically generated. All ABV vendors sell tools to automatically generate assertions from RTL source code.
Last edited by z on Fri Jan 23, 2004 11:08 pm; edited 1 time in total |
|
| Back to top |
|
 |
vhdlcohen Industry Expert


Joined: Jan 05, 2004 Posts: 1238 Location: Los Angeles, CA
|
Posted: Fri Jan 23, 2004 10:57 pm Post subject: |
|
|
| Quote: | | RTL clearly provides "Documentation with unambiguous definition of interface and design properties" for verification tools as well as synthesis tools. RTL is a valid supplement to the specification document according to some people but not others. Hardly anybody would use RTL as a replacement of the specification document. |
I ABSOLUTELY disagree with that statement, and I bet that others would agree with me. RTL is an implementation language, and by far not a specification language. RTL deals with FSMs and dirving of signals. A specification language deals with properties or characteristics, and not implementation. Requirements are not implementations, but implementations must meet requirements.
| Quote: | | Now we also have assertions in PSL (or another language). If the assertions are available, is there any need of the specification document any more? Does the specification document still have to be as complete as before? Is there any reason to still use RTL as a supplement to the specification document at all? In short term, assertions likely will only supplement RTL and the specification document in its documentation role for verification engineers. How about long term? Would some people write assertions based on the specification document and/or RTL? Would some people write RTL and/or the specification document based on the assertions? Would the same person write assertions as well as RTL and/or the specification document? |
PSL can document requirements. I believe that requirement documents need to be written in both a natural language (e.g., English) supplemented with diagrams and a property specification language like PSL or SVA.
There should be NO RTL in a requirement document.
Assertions fall into several categories: Top-level requirements, interfaces, and white-box. The top-level and interface properties need to be written by a verification engineer. The white-box properties need to be written by the RTL designer. PSL is currently supported by several simulation and formal verification tools (SVA will soon be supported also). During design verification in simulation those properties will always be checked during the run. In formal verification, no testbench is needed, and the verification for the defined properties is complete, with counterexamples provided in the event of failure.
What's neat about PSL is that those properties, which are relatively easy to read, become the basis for the verification plan and for the directed tests.
By the way, our newest 2nd edition book on "Using PSL" addresses these issues by example and with real cases (see my site).
| Quote: | | BTW, the assertions providing "Documentation with unambiguous definition of interface and design properties" probably should not be automatically generated. All ABV vendors sell tools to automatically generate assertions from RTL source code. |
The "automatic generation of assertions" is a marketing scheme that should not be confused with "automatic generation of behavior requirements". "Automatic generation of assertions" means that the tool vendor can extract 'structural properties' of the design. These include:
Automatic structural property generation and formal analysis, Deadlock and terminal states, unreachable states, clock crossing, Full case / parallel case, and Linting (language guidelines violations). Not that those are bad things. In fact they are GOOD things. However, the tool does not predict or generate functional properties for the design. If it did, then the tool vendor should instead create a machine that generates the next lottery winnning numbers ...
. _________________ Ben Cohen http://www.systemverilog.us/
* SystemVerilog Assertions Handbook, 3rd Edition, 2013
* A Pragmatic Approach to VMM Adoption
* Using PSL/SUGAR ... 2nd Edition
* Real Chip Design and Verification
* Cmpt Design by Example
* VHDL books |
|
| Back to top |
|
 |
z Senior

![]()
Joined: Jan 09, 2004 Posts: 92
|
Posted: Sat Jan 24, 2004 1:11 am Post subject: |
|
|
| vhdlcohen wrote: | | Quote: | | RTL clearly provides "Documentation with unambiguous definition of interface and design properties" for verification tools as well as synthesis tools. RTL is a valid supplement to the specification document according to some people but not others. Hardly anybody would use RTL as a replacement of the specification document. |
I ABSOLUTELY disagree with that statement, and I bet that others would agree with me. RTL is an implementation language, and by far not a specification language. RTL deals with FSMs and dirving of signals. A specification language deals with properties or characteristics, and not implementation. Requirements are not implementations, but implementations must meet requirements. |
Everybody should agree with vhdlcohen and Darren in theory because "Hardly anybody would use RTL as a replacement of the specification document". The reality is sometimes different (probably because some people are not perfect). Perhaps "specification document" and "requirements" are related but different.
When the specification document is not clear enough for verification engineers, frequently the document author finds the details from RTL. Near the end of a project, if RTL and the specification document disagree with each other but both are acceptable, the decision can be to change both testbench and the document to match RTL. Of course, RTL and "requirements" do not disagree with each other when these happen. What's relevant here is the information needed to do verification.
Take the example of the initialization trouble. The device has to be initializable according to the requirements. The verification engineer needs to know the exact initialization sequence to code the testbench. The initialization sequence is decided often based on the implementation. RTL meets the requirements if there is a sequence to initialize the device. If the initialization sequence in the specification document does not work, the document can be wrong.
I can imagine that assertions are occasionally changed to match RTL. The most unambiguous definition of interface and design properties is complete and not redundant. If the definition is not complete, some (uninteresting?) details are left ambiguous. If the definition has redundancy, the redundant parts can possibly disagree with each other. Therefore, RTL (or any implementation) is normally less ambiguous than a document or a set of assertions (or any requirement documentation) though authors of all these can equally make mistakes.
Assertions can be used for many reasons. It is hard to remember this when discussing assertions. Most assertions in the Intel paper are probably not for "requirements" or "specification documents" but the high-level assertions might. It can be tricky for assertion coders and readers to distinguish all kinds of assertions clearly and consistently.
When the information is in a natural language, too bad, engineers have to read the document. When the language is machine readable, we can hope for tools that tell us what we need to know. Even better if the tools can do what we need to do. Therefore, I start to make wishes whenever talking about figuring out things from RTL (or assertions now). If RTL or assertions can help guide any tests, some tools should be made to do it. |
|
| Back to top |
|
 |
vhdlcohen Industry Expert


Joined: Jan 05, 2004 Posts: 1238 Location: Los Angeles, CA
|
Posted: Sat Jan 24, 2004 2:00 am Post subject: |
|
|
| Quote: | Everybody should agree with vhdlcohen and Darren in theory because "Hardly anybody would use RTL as a replacement of the specification document". The reality is sometimes different (probably because some people are not perfect). Perhaps "specification document" and "requirements" are related but different.
When the specification document is not clear enough for verification engineers, frequently the document author finds the details from RTL. Near the end of a project, if RTL and the specification document disagree with each other but both are acceptable, the decision can be to change both testbench and the document to match RTL. Of course, RTL and "requirements" do not disagree with each other when these happen. What's relevant here is the information needed to do verification. |
When the RTL document becomes the specification document then you know the project is in trouble ... gasping for air!
Have you ever read other people's RTL? Even your own RTL can be confusing. I have seen RTLs that should be called "schematic capture" in HDL. I even saw someone's code that built in HDL a 32-bit counter out of the nstantiation of 32 FF components (modules) in a top level module with combinational logic. Of course, the whole "RTL" design was an HDL schematic mess. To make things even worse, the guy left the company and became an HDL 'consultant'. Would that be a good source of ''requirements'? By the way, undocumented RTL is not better. RTL has lots of FSMs that can be quite convolutely, hardly something I would call "readable", even when written in VHDL instead of Verilog (VHDL is supposed to be more readable because it is more English like, and is stongly typed).
Of course, as one implements the design, more detailed information is known, and that can affect the initial defintion of the requirements. That means that the requirements were either too tight or the RTL designer ignored them and requirements have to be changed to meet the actual design. For example, if the requirements are for a 40 MHz clock, and design only works at 25 MHz, something has to give.
| Quote: | | Assertions can be used for many reasons. It is hard to remember this when discussing assertions. Most assertions in the Intel paper are probably not for "requirements" or "specification documents" but the high-level assertions might. It can be tricky for assertion coders and readers to distinguish all kinds of assertions clearly and consistently. |
You are now discussing methodology. As I mentioned before, assertions fall into several categories: Top-level requirements, interfaces, and white-box. The top-level and interface properties need to be written by a verification engineer. The white-box properties need to be written by the RTL designer. An Assertion-Based Verification methodology must be followed consistently within an organization. Each level of assertion meets different criteria.
| Quote: | | When the information is in a natural language, too bad, engineers have to read the document. When the language is machine readable, we can hope for tools that tell us what we need to know. Even better if the tools can do what we need to do. Therefore, I start to make wishes whenever talking about figuring out things from RTL (or assertions now). If RTL or assertions can help guide any tests, some tools should be made to do it. |
Natural language needs to supplement the assertions in a requirement document. They provide information about the background, interface environment, diagrams. The PSL assertions provide more precise descriptions of the requirements. Note that thee are requirements that cannot be expressed in PSL, and must use the natural language. These include things like power consumption, radiation levels, reliability requirement (that may imply the implementation of redundency), physical levels (voltage, form-fit, etc). However, assertions do guide the design and verification process. Tools such as formal verification provide a complete verification of a module, covering all possible cases.
Bottom line: RTL has its place, and RTL should be a flow-down form the requirements or properties of the design. The requirements should not be a flow-up from the RTL. If it is, then the organization should seriously consider revising the methodology. In fact, these are the very rationales for the need of ABV and languages like PSL and SVA, standard Accellera languages. _________________ Ben Cohen http://www.systemverilog.us/
* SystemVerilog Assertions Handbook, 3rd Edition, 2013
* A Pragmatic Approach to VMM Adoption
* Using PSL/SUGAR ... 2nd Edition
* Real Chip Design and Verification
* Cmpt Design by Example
* VHDL books |
|
| Back to top |
|
 |
srini Senior


Joined: Jan 23, 2004 Posts: 430 Location: Bengaluru, India
|
Posted: Sat Jan 24, 2004 7:21 am Post subject: |
|
|
| Quote: | | When the information is in a natural language, too bad, engineers have to read the document. When the language is machine readable, we can hope for tools that tell us what we need to know. |
As Ben already pointed out, PSL/SVA may NOT (I would say will not) be 100% replacement for your "natural language" specification. Instead assertions using PSL/SVA/OVL help you capture many of the assumptions/requirements as a "machine executable" checks. Such assertions when used with Dynamic Verification and/or FV can act as checkers/sequence generator guide.
Some of the more implementation specific assertions can also help us by preventing us from spending hours together debugging issues as assertions tend to flag the errors very "close to the origin/source" of error than at the periphery (when I write this, I just came back from debugging a stupid wrongly programmed memory resulting in X's throughout and we had to start some thing like 10 us after the origin of the X. I strongly prefer to have a simple assertion to check that any valid data - being read from memory, for instance - or atleast a data that will be used for further processing, should NOT contain X. Such an assertion could have saved 10 man hours of debug time!!, please refer to an excellent paper on "Dangers of living with X" by Mike Turpin, he has also proposed 2 new assertions to check for X to OVL).
| Quote: | | Even better if the tools can do what we need to do. Therefore, I start to make wishes whenever talking about figuring out things from RTL (or assertions now). |
This "automatic figuring out assertions" to me is not very appealing, I see them as another "avatar" of LINT++, I am in no way degrading the value of lint++ tools, but assertions have a much larger role IMHO.
What may be interesting for some of the readers would be the "Assertion based Synthesis" that one start-up is trying to promote, honestly I am not fully convinced/neither I understood that concept in full.
See http://www.eetimes.com/story/OEG20031208S0037
| Quote: | | If RTL or assertions can help guide any tests, some tools should be made to do it. |
Defintely assertions can, in fact some of the vendors have tools to generate "intelligent random stimuli" based on your Assertions (@HDL, Safelogic etc.) Also the functional coverage specification that forms part of any assertion language (PSL/OVL/SVA - not sure..) can help you make sure that you have tested some of the interesting scenarios.
In our latest book on PSL (see http://www.vhdlcohen.com) we present an approach to use formal techniques to generate test cases for complex functional coverage points.
Thanks,
Srinivasan & Aji
http://www.noveldv.com |
|
| Back to top |
|
 |
z Senior

![]()
Joined: Jan 09, 2004 Posts: 92
|
Posted: Mon Jan 26, 2004 10:51 am Post subject: |
|
|
| vhdlcohen wrote: | | Quote: | | When the specification document is not clear enough for verification engineers, frequently the document author finds the details from RTL. |
Have you ever read other people's RTL? Even your own RTL can be confusing. |
Reading RTL is one way to find specification details from RTL. Simulation and asking the RTL coder are 2 other possibilities. Unfortunately, simulators do not provide the information suggested by Dan Joyce' paper.
I am not sure if any tool will possibly process assertions without RTL. Can assertions exist without at least the skeleton of RTL?
English documents are normally structured for people to easily find what they need. Assertions are naturally flat -- all small assertions can be in a big flat collection. If not being done carefully, it can be hard to find the relevant assertions from all assertions for various purposes. RTL is even more naturally structured than assertion collections if assertions do not follow RTL's structures. This is probably one of the reasons why trainers have lots to teach about assertions. |
|
| Back to top |
|
 |
vhdlcohen Industry Expert


Joined: Jan 05, 2004 Posts: 1238 Location: Los Angeles, CA
|
Posted: Mon Jan 26, 2004 5:34 pm Post subject: |
|
|
| Quote: | Reading RTL is one way to find specification details from RTL. Simulation and asking the RTL coder are 2 other possibilities. Unfortunately, simulators do not provide the information suggested by Dan Joyce' paper.
I am not sure if any tool will possibly process assertions without RTL. Can assertions exist without at least the skeleton of RTL?
|
Assertions use HDL to identify the signals of the design, functions, and HDL operators. However, an assertion language, such as PSL, does not relie on RTL for the definition of the assertions. Also, RTL is a horrible way to extract specifications. Take the following "traditional" handshake example with the following requirements:
A request shall be acknowledge within 1 to 5 cycles.
Once a request is acknowledged, the request shall be deaaserted in the next cycle.
Once acknowledged, the subsystem shall transfer 1 to 4 packets. Each packet can have up to 5 idle cycles.
A "done" flag shall identify the completion of the transfer transaction.
In RTL, I would need counters, FSM, combinational logic..
.. I would not call the RTL a specification!!
I might be able to extract form the RTL the intent of the spec.
Now in PSL, an executable spec defintion and verification:
| Quote: | A request shall be acknowledge within 1 to 5 cycles.
|
property ReqAck = always {rose(req)} |=> {[*0:4]; ack};
assert ReqAck;
| Quote: | Once a request is acknowledged, the request shall be deasserted in the next cycle.
Once acknowledged, the subsystem shall transfer 1 to 4 packets. Each packet can have up to 5 idle cycles.
A "done" flag shall identify the completion of the transfer transaction. |
property NoReqAfterAck = never {req && ack; req};
assert NoReqAfterAck;
//A packet is identified with the envelope pkt (rise, then fall at end of packet).
sequence PacketXfr_q = {[*0:5]; pkt};
property PacketXfr = always {rose(ack)} |=> {PacketXfr_q[*1:4]; done};
assert PacketXfr;
As you can see, this PSL code is by far more compact than an RTL. with a little training, it is easy to read. That code is now veriable in simulation and in formal verification to insure that your RTL works properly.
| Quote: | | English documents are normally structured for people to easily find what they need. Assertions are naturally flat -- all small assertions can be in a big flat collection. If not being done carefully, it can be hard to find the relevant assertions from all assertions for various purposes. RTL is even more naturally structured than assertion collections if assertions do not follow RTL's structures. This is probably one of the reasons why trainers have lots to teach about assertions. |
PSL can be wriiten inline with the RTL or as separate vunits. These refer to modules, whic are hierarchical.
For more information on the practical use of PSL, see our latest released book on "Using PSL". My site has the TOC and forewords.
Ben _________________ Ben Cohen http://www.systemverilog.us/
* SystemVerilog Assertions Handbook, 3rd Edition, 2013
* A Pragmatic Approach to VMM Adoption
* Using PSL/SUGAR ... 2nd Edition
* Real Chip Design and Verification
* Cmpt Design by Example
* VHDL books |
|
| Back to top |
|
 |
alain Junior


Joined: Jan 11, 2004 Posts: 5
|
Posted: Wed Jan 28, 2004 12:58 pm Post subject: Speed and assertions |
|
|
A few years from now, you'll have both speed and assertions: RTL running at hundreds of kilohertz using emulation, and synthesized assertions to stop whenever something goes wrong. The third pillar of DV will be directed-random generators to feed such a beast.
Mark my words
Alain Raynaud, Technical Director, EVE-USA |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
| |
|
|