Self-Checking Testbenches

上一篇 / 下一篇  2006-07-18 13:27:57 / 天气: 晴朗 / 心情: 高兴 / 个人分类:Writing Testbenches

Preparation
  • It is necessary during the verification planning stage, to identify all of the failure modes that must be checked for and how they can be detected.
  • The requirement of the self-checking mechanism must be specified and reviewed to ensure that a potential failure will not go undetected.
An Important block
  • The largest, most complex component of the testbenches is the self-checking structure, which require the most authoring an maintenance effort, and aslo the most critical portion as it is responsible for declaring the functional correctness of the design.It will emoday a duplication of the specified functionality of the desin under verification.
  • It is unique to every design andand can not be described in a generic fashion.
Hardcoded Responds
  • To hardcode a response in a testbench requires a known configuration and a known input stream. It is therefore ONLY applicable to directed testcases.
  • If a hardcoded response strategy is used, it will be necessary to replicate the response checking in each testbench.
  • Drawback, errors can slip through easily. It is assumed that the other functions operate correctly and hat any problem would be caught by the testcase targeting those functions.
Data Tagging
  • The tag informatin is used by the output monitor to quickly search the scoreboard to confirm correctness of the received object.
Reference Model
  • Reference model is rearly exist.
  • It is the typical approach used for general purpose and digital signal processor.
  • Basically, feed the same input to the RTL model and Reference model and compare the output put is the genearal way. Error is allowed in some cases with acceptable level. E.g in some DSP verification, 100% data match is difficult in some case.
  • There are two ways,External output comparisonandExternal input  generation. From my experience, If the expected output is not 100% match, then enternal output comparison is required. Otherwise external input generation with internal data comparison is a better choice.My comments:Remember in T**P,  some block were verified by using the external input generation with internal data comparison, e.g o*_s****age, and some block were verified by the police of external comparison first and internal comparison later. e.g c*_f***er. In any case, internal comparison is the final choice.
  • Normally the reference is written by C, C++, Matlab etc, the model is golden by definition.
Transfer Function
  • A transfer function is used to reproduce any data transformation performed by the design to determine which output value to expect.
  • The difference betweentransfer functionandreference model
    • Transfer function does not exist a priori
    • It's not golden by definition
    • Does not have low level interfaces.
Scoreboarding
  • Sometimes, scoreboarding is the entire self-checking structure, including the xfer function or reference model. the expected data storage mechanism and the output comparison function.
  • The data received by the output monitor is compared against the data in the scoreboard. e.g (result data and reference data).
  • Each scoreboard is designed to meet the needs of the self-checking requirements.
  • The self-checking structure of a testbench may be composed of by one or more scoreboard.
  • The scoreboardhas tobe efficient, both in terms of runtime and storage. It is about designing a suitable data structure that will meet the self-checking requirements of design.
Integration with the Transaction Layer
  • The self-checking structure must be accessible from almost every component of the testbench.
    • The configuration generator needs to pass the device configuration descriptor it.
    • The stimulus generators need to forward generated input data to it.
    • The bus-functional models need to inform the self-checking structure of any unexpected events that occurred during the data transmission.
    • Output monitor nust indicate that new output data has been received to verify its correctness.
  • Encapsulate the self-checking structure as a single object.
  • Make the self-checking structure a global instance.
  • Extend each component with a reference to the scoreboard instance.

FPGA/CPLD器件价格查询

TAG: Testbench self-check

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-18  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 6390
  • 日志数: 30
  • 文件数: 1
  • 建立时间: 2007-07-07
  • 更新时间: 2008-08-20

RSS订阅

Open Toolbar