2017-03-06 6 views
-2

In Verilog habe ich das Hauptmodul, das Daten über eine Eingangsnummer annehmen und sie auf dem Draht BCD16 setzen sollte. Im Submodul habe ich eine Ausgangsnummer, deren Nummer setzt (d. H. "H358), aber der Wert kommt nicht zum Draht BCD16. Der Compiler zeigt keine Fehler an. Der Code ist wie folgt:Datenübertragung zwischen Modul - Verilog

module LED_7seg(
    input clk, number, 
.... 
); 

.... 
wire [15 : 0] set; 
assign set = number; 
    .... 
endmodule 

Submodul

module setNumber(
    output number 
); 

wire [15 :0] set; 
assign set = 'h358; 

assign number = set; 

endmodule 

Module angeschlossen sind:

Connection between module

+0

Bearbeiten Sie Ihre Frage und Ihr Code hinzuzufügen, die Ihre Verbindungen zwischen den Modulen zeigt. – toolic

+0

Versuchen Sie, 'number' von' setNumber' zu 'LED_7seg' seriell zu senden? – Greg

Antwort

0

In LED_7seg Sie haben Ihr Draht set zur Ausgabe von setNumber Modul verbinden und Sie haben Ihren Zahlenwert im Hauptmodul.

In LED_7seg sollte kein Nummerneingang vorhanden sein. Es wird dort nicht benötigt. Verwenden Sie einfach den Draht, der von setNumber Modul kommt.

Denken Sie an die Breite der Drähte/regs.

Sollte so aussehen:

module LED_7seg(
    input clk 
); 

wire [15 : 0] set; 

    setNumber setNumberInstance(
     .number(set) 
    ); 

endmodule 
+0

Danke für die Antwort. Ich habe noch eine Frage, ich möchte globale reg verwenden, jetzt habe ich das: 'Temp = SPI_slave.byte_data_received;' Compiler Return Fehler: 'code' (Externe Referenz SPI_slave.byte_data_received bleibt ungelöst) – drVrh

+0

Frage stellen und den Code einfügen. Es ist schwer, etwas ohne Code zu sagen. Vergessen Sie nicht zu markieren, ob meine Antwort hilfreich war und/oder es die Lösung war. Andere Leute würden diese Markierungen benötigen. – MicD

Verwandte Themen