Abstract Classes are a good fit if you want to provide implementation details to your child but don't want to allow an instance of your class to be directly instantiated (which allows you to partially define a class).
Interface classes are good if you want to provide only templates to child class
You can only extend one abstract class.
you can implement as many interface classes as you want.
methods of abstract can be virtual or pure virtual
methods of interface class shall be pure virtual
- If derived class overrides the task then you can call parent class’s task using super.
- If derived class does not override the task then you can call parent class’s task directly be using name of task
In Verilog, VHDL,
1) Clock which is given to DUT and Test-bench should have phase difference (DUT should work on posedge of clk and Test-bench should work on negedge of clk).
2) Using Clocking block,
3) Using Program block,