Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Standardized Functional Verification- P3:Every manager who brings a design to tape-out or who purchases IP must eventually face these questions. The ability to answer these questions based on quantitative analysis is both vital and yet elusive. In spite of the enormous technical advances made in IC development and verification software, the answers to these questions are still based largely on guesswork and hand waving. | 1.6 Principles of Constrained Random Verification 5 the faulty behavior before making the changes necessary to eliminate the faulty behavior completely. Suitable coverage analysis enables the manager to reduce the risk of faulty behavior within practical limits imposed by available resources people compute assets time money . Reducing risk requires more resources or resources working more effectively. 1.6 Principles of Constrained Random Verification Subjecting a target to overwhelming variability during simulation prior to tape-out is the core principle of constrained pseudo-random verification typically referred to as CRV dropping the pseudo- prefix . This technique is also referred to as directed random or as focused random verification because the pseudo-random testing is preferentially directed or focused on functionality of interest. The CRV technique exercises the target by driving its inputs with signal values chosen pseudo-randomly but constrained such that they are meaningful to the target being exercised. This technique overcomes 3 challenges to verification Extraordinary complexity A complete verification of every single capability of an IC is an enormously time-consuming and insufficiently productive task. By sampling this vast functional space until no sample exhibits faulty behavior the manager can gain sufficient confidence that the entire IC is free of bugs. Habits of human programmers Programmers have habits particular ways of writing loops or other common code sequences that limit the novelty that their tests can present to the target being verified. A well-designed test generator will create tests with novelty unencumbered by programming habits. Inefficiency of human programmers A well-designed test generator can generate hundreds of thousands of novel tests in the time that an engineer can write one single test. Lacking the coding habits of a person a test generator that chooses pseudo-randomly what to do next will wander about the functional .