Wenn wir zum Beispiel diesen Code nehmen:
Code: Alles auswählen
interface ESABusWr_Master_Fabric;
method ActionValue#(Tuple2#(Bit#(16), Bit#(8))) request;
endinterface
interface ESABusWr_Master;
interface ESABusWr_Master_Fabric fab;
endinterface
module mkESABusWr_Master(ESABusWr_Master);
FIFO#(Tuple2#(Bit#(16), Bit#(8))) requestIn <- mkFIFO();
interface ESABusWr_Master_Fabric fab;
method ActionValue#(Tuple2#(Bit#(16), Bit#(8))) request;
requestIn.deq();
return requestIn.first();
endmethod
endinterface
endmodule
Meine Frage ist, warum man nicht anstelle dem Interface ESABusWr_Master_Fabric einfach eine Methode request im Interface ESABusWr_Master definiert.
Was mir selbst einfällt ist, dass es auch hier gehen würde, aber mit dem Interface ESABusWr_Master_Fabric ist eine allgemeine Schnittstelle gedacht, und deshalb wird es als Interface implementiert.
Ich weiß nicht, ob das richtig ist