Академический Документы
Профессиональный Документы
Культура Документы
6, Issue 2, April - June 2015 ISSN : 0976-8491 (Online) | ISSN : 2229-4333 (Print)
A. Top
Top module works as the entrance of the simulation, in which
test, interface and DUT are instantiated and connected with
each other with signals. This is the top layer of the verification
environment.
B. Bridge_test
Bridge_test is a program block, which controls the overall
Fig. 2: Structure of the Layered Testbench verification flow. As shown in Fig.3, Bridge_test starts from
constrained random testing vector generation and ends at
The testbench becomes more efficient and maintainable with automatic comparison between the actual data and the expected
some dedicated different functional full-fledged components. The data. Another important functionality of Bridge_test is scheduling
layered architecture enhances the independence of the testbench the corresponding tasks of bridge to imitate the real application
because it makes no assumption about the DUT model. Verification environment.
environment which verifies the functionality of DUT consists of
generator, driver, agent, monitor, scoreboard, etc. Test is program C. Bridge_env
block which calls methods of environment class out sequentially This is AHB2WB Bridge component, containing Agent. In addition,
for starting simulation after creating an object of environment agent should be configurable for passive/active. All checkers and
class. coverage are configurable to disable/enable.
G. Monitor
Monitor will keep displays various messages according to the
operations being performed like whether it is read or write operation.
Similarly it also shows start, stop and transfer of data operations.
In the monitor code Task ‘run’ is calling start, stop, data tasks.
Task run;
Fork
Catch_start;
Catch_stop;
……..
Fig. 3: The Implementation of the Proposed Testbench
(ii). Modport
Modports allow a module to easily tap a subset of signals form
an interface. This provides direction information for module
interface ports and controls the use of tasks and functions within B. Testplan for Generating Error Scenario
certain modules. Modports do not contain vector sizes or data Table 2: Error Scenario
types (common error) – only whether the connecting module sees Expected
a signal as input, output, inout or ref port. no Functionality Signal condition
outcome
If Hresetn = 0 applies
IV. Testcases Implementation System should
1 for less than one cycle
not reset
Test cases are identified from the design specification: a simple period of Hclk
task for simple cases. Normally requirement in test cases becomes System reset If Hresetn = 0 applies
a test case. Anything that specification mentions with “Can do”, during the cycle System should
2
“will have” becomes a test case. Corner test cases normally take operation or in between reset
a lot of thinking to be identified. the operations
Master should
Data transmit not transmit
If Hready should pull
3 or receive or receive data
low forcefully
successfully before Hready
pull high
Operation should
Sampling If WISHBONE slave
not complete in
4 address should not sample
specific clock
synchronously address synchronously
cycle
Master should not
Cycle If Hready should pull
5 able to receive or
initialization low forcefully
broadcast data6
Write operation
If Hwrite should pull
6 should not
low forcefully
perform
Write cycle
Write operation
If ack_i should pull low
7 should not
forcefully
terminate
Read operation
If Hwrite should pull
Fig. 4: AHB2WB Verification Testcase Environment 8 should not
high forcefully
perform
Read cycle
Fig. 4. shows developed testcase environment to implement all Read operation
If ack_i should pull low
testcases for verification. 9
forcefully
should not
terminate
A. Testplan for Verification of Wishbone Interface Similarly, I implemented error scenario for all functionality of
Testcases are written to verify functionality of the DUT. AHB2WB Bridge.
References
[1] IEEE Standard for System Verilog, IEEE Std 1800tm 500
University Science, 1989.
[2] Martin Keavency, Anthony McMahon, et al.,“The
development of advanced verification environments using
systemverilog”, Proceedings of ISSC2008, pp. 325-330,
2008.