2017-05-11 2 views
0

Ich baue einen AXI-Arbiter (axiIxc) mit Master- und Slave-Ports, die Arrays der AXI-Schnittstelle sind. Ich instanziiere das dann in myModule, das eine Registerschnittstelle hat, die eine Schnittstelle ist, die ich mit den AXI-Signalen definierte. Mein Problem ist, dass ich einen Compilerfehler bekomme, weil regIf eine einzelne Schnittstelle ist und mPort auf dem AXI-Arbiter ein Array von Interfaces der Größe [0: 0] ist. Gibt es eine Möglichkeit, die einzelne Schnittstelle auf ein Array zu übertragen? Der andere Weg funktioniert gut ... d. Der sPort ist ein Array und ich kann angeben, welches Element ich mit einem Submodul verbinden möchte.So weisen Sie einem Array von Schnittstellen eine einzelne System Verilog-Schnittstelle zu

module myModule 
(
    myAxiIfType.slave regIf // registers 
); 

myAxiIfType regIxcSPort [0:3]; 

axiIxC#(1,4) // MPort Quantity, SPort Quantity 
    regAxiIxcInst (
    .mPort(regIf), 
    .sPort(regIxcSPort) 
); 
+0

Anstatt Array-Bereich, können Sie eine einzige Schnittstelle mit Array von Ports in ihm machen? –

Antwort

0

Nein. Schnittstellen sind nicht das beste Konstrukt für alles.

Verwandte Themen