tailieunhanh - Standardized Functional Verification- P4

Standardized Functional Verification- P4: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. | Rules and Guidelines 15 objectives it is preferable that a READ request be serviced within 8 or fewer cycles. From this brief paragraph we recognize both a rule and a guideline that govern a standard response variable standard variables for stimulus and response will be discussed later in this chapter called read_cycles. Both the rule and the guideline can be expressed formally in the e language as follows1 Check for rule and guideline of section extend sys setup is also Halt simulation when a rule is violated. set_check FAIL. ERROR_AUTOMATIC Continue simulation when a guideline is violated. set_check WARN. WARNING struct bus example event bus_ clk is change @sim event read is rise @bus clk event data ready is rise @bus clk event read cycles Rule On a read must return data within 16 cycles. expect read_cycles is @read @data ready @bus clk else dut error FAIL data not ready in time Guideline On a read return data within 8 cycles. expect read_cycles is @read @data ready @bus clk else dut error WARN data not ready quickly 1 The examples in this chapter are intended to illustrate how the formal standard variables may be found in existing code or expressed in new code. They are not intended to endorse any particular language or promote any particular coding style. 16 Chapter 2 - Analytical Foundation In the example the relevant section of the specifications document is included in the comment preceding the code. This is helpful in relating the code to the natural-language specification on which the code is based. Both the rule and the guideline have been coded in this example. Violating the rule causes the dut_error method to be invoked printing a message and halting simulation according to the manner in which set_check has been programmed. Violating the guideline causes the dut_error method to be invoked printing a message and then continuing the simulation. Rules and guidelines govern values of variables and we have four