www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Fehler im Verilog-Code


Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich einen Code in Verilog geschrieben und erhalte von Xilinx ISE diese 
Warnungen.
1. Was passiert, wenn ich die Warnungen ignoriere
2. Wie kommen die Fehler normalerweise zu Stande?

Danke,
Frank

WARNING:Xst:1710 - FF/Latch <highbits_0> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1710 - FF/Latch <highbits_1> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1710 - FF/Latch <highbits_2> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1710 - FF/Latch <highbits_3> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1710 - FF/Latch <highbits_4> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1710 - FF/Latch <highbits_5> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1710 - FF/Latch <highbits_6> (without init value) has a constant value of 0 in block <Aufbereitung_FT232RL>. This FF/Latch will be trimmed during the optimization process.




WARNING:Xst:2677 - Node <usb_aktiv> of sequential type is unconnected in block <instanz_USB_in_use>.
WARNING:Xst:2677 - Node <usb_aktiv> of sequential type is unconnected in block <instanz_USB_in_use>.
WARNING:Xst:2677 - Node <usb_aktiv> of sequential type is unconnected in block <instanz_USB_in_use>.

Autor: Günter -.. (guenter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich sind die Meldungen selbst erklärend.

Für die erste Meldung bezüglich "highbits", wie die Meldung sagt, sind 
alle bits fest auf 0 gesetzt. Das kann gewollt oder ungewollt sein. Da 
musst du halt mal schauen was du da machen willst. Die Simulation sollte 
das abklären.

Da die Werte sowieso fest auf 0 sind, wird Synthesis die ganze Logik 
dazu weg optimieren und die Signale einfach fest auf 0 setzen.

Die zweite Meldung bemängelt das einige Signale nicht angeschlossen 
sind. Wenn du z.B. mit Icarus Verilog simulierst, gibt es da den 
Compiler-Switch -Wall, der mehr Warnungen ausgibt. Auch nicht 
angeschlossene Ports z.B. werden dann als Warnung ausgegeben.

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke, aber die Simulation funktioniert, die Bits sind nicht ständig auf 
0...

Das ist der Code zum USB-Modul.

Über Hilfe würde ich mich freuen.

Frank
module USB_Aufbereitung (clock, reset, Ready_for_Data_in, Mikrofon_editing_input,Data_to_USB);

//Input
input clock, reset;                       
input Ready_for_Data_in;                     //muss auf 1 gesetzt sein, damit etwas gesendet wird (von FT232RL)
input [13:0] Mikrofon_editing_input;        //digitales 14-bit breites Signal (von Mikrofon)

//Output           
output [6:0] Data_to_USB;                  //das zu sendende 7 bit Wort
    
reg [6:0] Data_to_USB;

reg [6:0] highbits;                        //Zwischenspeicherung highbits von Mikrofon_editing_inputs

reg state;      //Hilsvariable: ändert den Zustand (Schicken erster Teil Mikrofon_editing_input oder zweiter Teil



//sequenzieller Block
always @(posedge clock)
 begin
      if(reset==1)
        begin
           Data_to_USB<=8'b0;
           state<=1'b0;
           highbits<=8'b0;
        end
      else
         begin 
         if (Ready_for_Data_in==1'b0)
          begin
          end
          else
          begin
        
            if (state==1'b0)
              begin
                Data_to_USB[6:0] <= Mikrofon_editing_input[6:0];   //Ausgabe unterer Teil von  Mikrofon_editing_input
          
                highbits[6:0] <= Mikrofon_editing_input[13:7];      //Zwischenspeicherung des oberen Teils von  Mikrofon_editing_input

           
                state<=1'b1;                                       //Zustandsänderung
            end
             else
              begin
                Data_to_USB[6:0] <= highbits[6:0];                 //Ausgabe oberer Teil von  Mikrofon_editing_input
                state<=1'b0;                                          //Zustandsänderung
              end   
            end
           end
          end

endmodule

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

keine Idee, wo der Fehler liegen könnte?

Frank

Autor: hotline (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was synthetisierst du denn? Das Modul was du hier gepostet hast, oder 
ein top-Modul, wo das hier instanziiert wird? Der Fehler wird wohl eine 
Ebene höher liegen, wahrscheinlich wenn das nicht angeschlossene 
usb_aktiv auf reset oder ein enable geht, dann ändert sich ja nie was.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.