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


von Frank (Gast)


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

1
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.
2
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.
3
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.
4
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.
5
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.
6
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.
7
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.
8
9
10
11
12
WARNING:Xst:2677 - Node <usb_aktiv> of sequential type is unconnected in block <instanz_USB_in_use>.
13
WARNING:Xst:2677 - Node <usb_aktiv> of sequential type is unconnected in block <instanz_USB_in_use>.
14
WARNING:Xst:2677 - Node <usb_aktiv> of sequential type is unconnected in block <instanz_USB_in_use>.

von Günter -. (guenter)


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.

von Frank (Gast)


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
1
module USB_Aufbereitung (clock, reset, Ready_for_Data_in, Mikrofon_editing_input,Data_to_USB);
2
3
//Input
4
input clock, reset;                       
5
input Ready_for_Data_in;                     //muss auf 1 gesetzt sein, damit etwas gesendet wird (von FT232RL)
6
input [13:0] Mikrofon_editing_input;        //digitales 14-bit breites Signal (von Mikrofon)
7
8
//Output           
9
output [6:0] Data_to_USB;                  //das zu sendende 7 bit Wort
10
    
11
reg [6:0] Data_to_USB;
12
13
reg [6:0] highbits;                        //Zwischenspeicherung highbits von Mikrofon_editing_inputs
14
15
reg state;      //Hilsvariable: ändert den Zustand (Schicken erster Teil Mikrofon_editing_input oder zweiter Teil
16
17
18
19
//sequenzieller Block
20
always @(posedge clock)
21
 begin
22
      if(reset==1)
23
        begin
24
           Data_to_USB<=8'b0;
25
           state<=1'b0;
26
           highbits<=8'b0;
27
        end
28
      else
29
         begin 
30
         if (Ready_for_Data_in==1'b0)
31
          begin
32
          end
33
          else
34
          begin
35
        
36
            if (state==1'b0)
37
              begin
38
                Data_to_USB[6:0] <= Mikrofon_editing_input[6:0];   //Ausgabe unterer Teil von  Mikrofon_editing_input
39
          
40
                highbits[6:0] <= Mikrofon_editing_input[13:7];      //Zwischenspeicherung des oberen Teils von  Mikrofon_editing_input
41
42
           
43
                state<=1'b1;                                       //Zustandsänderung
44
            end
45
             else
46
              begin
47
                Data_to_USB[6:0] <= highbits[6:0];                 //Ausgabe oberer Teil von  Mikrofon_editing_input
48
                state<=1'b0;                                          //Zustandsänderung
49
              end   
50
            end
51
           end
52
          end
53
54
endmodule

von Frank (Gast)


Lesenswert?

Hallo,

keine Idee, wo der Fehler liegen könnte?

Frank

von hotline (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.