2017-05-13 7 views
-1

Mein Problem scheint wirklich einfach zu sein, aber irgendwie kann ich es nicht zum Laufen bringen. Ich versuche, ein Modul in Verilog zu erstellen, das ein 3-Bit-Signal ausgibt. Ich habe bisher so viele verschiedene Methoden ausprobiert, aber keine scheint zu funktionieren. Ich benutze Veriwell, um meinen Code zu kompilieren, und da ich dies für die Universität mache, bin ich verpflichtet, es zu benutzen, also bitte empfehle mir keine anderen Compiler.Verilog-Modul 3-Bit-Ausgabe

Hier sind einige Methoden, die ich habe versucht, aber keiner von ihnen arbeitete (Ich bekomme immer eine Warnung ‚Port Größen 2 nicht in Port # übereinstimmen‘)

module testmod (in, out); 
    input [2:0] in; 
    output [2:0] out; 

    wire [2:0] out; 
    assign out = in; //trying just to connect in to out 
endmodule 

module testmod (in, out); 
    input [2:0] in; 
    output [2:0] out; 

    wire [2:0] out; 
    assign out = 3'b1; //trying to assign a random value to out 
endmodule 

module testmod (in, out); 
    input [2:0] in; 
    output [2:0] out; 
    reg [2:0] test; 
    always @(in) 
    test = in;  //saving in in a register (which i believe is unnecessary but I've tried it nonetheless) 

    wire [2:0] out; 
    assign out = test; //trying just to connect in to out 
endmodule 

I instanziieren das Modul wie folgt :

testmod mod (.in(3'b1), .out(out)); 
+0

Geben Sie die EXACT-Warnmeldung ein. Zeigen Sie uns, auf welche Zeile in Ihrem Code es sich bezieht. Führe deinen Code auf edaplayground aus; Nachrichten könnten sinnvoller sein. – toolic

+1

Wie haben Sie "out" in Ihrer Testbench deklariert? Hast du es überhaupt erklärt? Haben Sie es als 1-Bit-Signal deklariert ('out out;')? Es sollte als 'wire [2: 0] out; ' – toolic

Antwort

0

Als 3-Bit-Signal in meiner Testbench zu erklären, hat die Arbeit getan. Da ich nur mit 1-Bit-Ausgangssignalen gearbeitet habe, die in der Testbench offenbar gar nicht deklariert werden müssen, kam mir das gar nicht in den Sinn.

Vielen Dank für die Antworten!