System Verilog Test-bench for verification of AMBA 3 AHB-Lite
-
Transaction Class
-
Generator Class
-
Interface
-
Driver Class
-
Monitor Class
-
Scoreboard Class
-
Environment Class
-
Test
-
TestBench Top
-
Fields required to generate the stimulus are declared in the transaction class.
-
Transaction class can also be used as a placeholder for the activity monitored by the monitor on DUT signals.
-
So, the first step is to declare the Fields in the transaction class.
- Generating the stimulus by randomizing the transaction class.
- Sending the randomized class to driver.
- Interface will group the signals, specifies the direction (Modport) and Synchronize the signals(Clocking Block).
- receive the stimulus generated from the generator and drive to DUT by assigning transaction class values to interface signals.
- Samples the interface signals and converts the signal level activity to the transaction level.
- Send the sampled transaction to Scoreboard via Mailbox.
- Scoreboard receives the sampled packet from monitor and compares the results.
- Environment is container class contains Mailbox, Generator, Driver, Monitor and Scoreboard.
- Creating the environment.
- Configuring the testbench i.e, setting the type and number of transactions to be generated.
- Initiating the stimulus driving.
- This is the topmost file, which connects the DUT and TestBench.
- TestBench top consists of DUT, Test and Interface instances.
- The interface connects the DUT and TestBench.
- Aldec Riviera Pro 2020.04
- Cadence Xcelium 20.09
- Mentor Questa 2021.3
- Synopsys VCS 2020.03
- Single Burst
- Increment Burst of Undefined Length
- INCR & WRAP Tests (4,8,16 Beats)
- Just press the run button this will executes all test included in the test bench. ////////////////////////////////////////////////////////////ENJOY///////////////////////////////////////////////////////////////////////////