Using SystemVerilog “Interfaces” as Object-Oriented RTL Modules