QA in verification
来源:互联网 发布:淘宝动漫周边 编辑:程序博客网 时间:2024/05/24 06:15
Q6: Which of the parts in the testbench should add data to the scoreboard?
A6: That’s a million dollar question…there are two main approaches and the decision between the two should be done according to the project you have at hand. The first approach, which is faster and simpler is to take scoreboard data straight from the generator. Its major drawback is that the scoreboard won’t function if you have to move from the block level to the system level. The second one is to take scoreboard data from the physical interface (sub question: what is lost if you get the data from the physical interface in the form of bits and bytes, instead of taking it from the generator? Hint: all the logical fields), and then reconstruct it. This will allow the scoreboard to work at system level as well.
Therefore the correct answer would be: it depends. If our DUT has a chance of becoming an internal block then go for the second option. If, on the other hand, it is not and data reconstruction is not trivial, go for the first one. You can read more about this subject here.
Q10: What is the difference between the constraints that are added through the test file, and those constraints that are placed in the environment files themselves?
A10: The constraints that are an integral part of the environment are those found in the specification document. They limit the generated data to the DUT’s “specified behavior”, i.e. to correct or erroneous data that the DUT should know how to handle according to the specification. The constraints in the test file, on the other hand, are intended to direct the test further (towards a specific potential bug in the design, or a coverage hole, for example) and are often not related at all to the specification.
It is important to remember that constraints placed inside the actual environment file should not limit the data any further then the specification does. Test constraints are meant to do just that.
Q11: Please explain the difference between declarative code (also known as static code), and sequential code, and give an example of each. What is the major advantage of controlling generation via declarative code? Which of the two is harder to debug?
A11: Simply put, sequential code is a piece of code that you can run step by step in a debugger. For example, a function is a block of sequential code. On the other hand, a lot of the code you write is declarative and can not be stepped through…common examples are function and variable declarations, or generation constraints in HVLs.
The major advantage of controlling generation via declarative code is that it makes the generation extendable. You can add further constraints (or cancel existing ones in SystemVerilog and with some effort in E as well), without modifications to the original code. For example, an external test file can be used to change the generated data. This advantage is the one that made all HVLs opt for this mode of writing.
The major disadvantage is that the code is that declarative code is a lot harder to debug, but that’s a small price to pay compared with the first advantage.
- QA in verification
- 区分QA和QC, Verification和Validation
- In-app purchase verification
- Service Verification in Port Scanner
- A framework in C# for fingerprint verification
- In App Purchase Verification using PHP
- (Unknown verification type [*] in stack map frame)
- Unknown verification type [*] in stack map frame
- Question Answer(web-QA + KB-QA + social-QA) research in the world
- QA
- QA
- QA
- qa
- QA
- Unknown verification type [17] in stack map frame
- disable default certificate verification in python 2.7.8
- How do I get start in QA/Test
- 什么是QA?QA是什么意思?
- S3C2410下WinCE6.0的启动过程详解
- Results Generaton - Environment or Test Generator?
- Tip案例——foreach
- Android ANR异常及解决方法
- qt学习笔记(七)之数据库简介
- QA in verification
- Oracle Connect By Start With
- 个性缩放图片NinePatchDrawable
- 问题:Activity has leaked window android.widget.RelativeLayout@407cd588 that was originally added here
- Word2007删除页眉横线
- 封装的库
- (13)支持标准查询运算符的集合接口
- shell 右对齐左空格例子
- js进度条的制作