/////////////////////////////////////////////////////////////////////// // // demux_bus interface // // this interface describes the signals in the demultiplexed bus // /////////////////////////////////////////////////////////////////////// interface demux_bus( output nIRQ, output nWait, inout [15:0] Data, output logic [15:0] Address, input ALE, input nME, input nOE, input RnW ); timeunit 1ns; timeprecision 100ps; modport AddressDecode ( input Address, input nME ); modport Slave ( output nWait, inout Data, input Address, input nOE, input RnW ); modport InterruptSlave ( output nIRQ, output nWait, inout Data, input Address, input nOE, input RnW ); modport Observer ( input nIRQ, input nWait, input Data, input Address, input ALE, input nOE, input RnW, input nME ); always_latch if (ALE == 1) Address = Data; endinterface