Domanda

ho provato a compilare il codice

module counter(
    input clk,
    input upSignal,
    input downSignal,
    output [7:0] count
   );
        always_ff @(posedge clk) begin
          if (upSignal)
              count <= count + 1;
          else if (downSignal)
              count <= count - 1;
        end
    endmodule

, ma ho l'errore

Error (10170): Verilog HDL syntax error at counter.v(7) near text "@"; expecting ".", or "("

che cosa significa?

È stato utile?

Soluzione

Quarto supporta alcuni SystemVerilog. Vedere questo link per ulteriori dettagli> Quartus Aiuto

Per quartus automaticamente riconoscere che si sta utilizzando il sistema Verilog, è necessario chiamare il file something.sv

Quindi, in questo caso, probabilmente, counter.sv

Se il file si chiama counter.v , quindi si otterrà un errore. Posso confermare che è in effetti non compilare con Quartus II v10.0.

mi sento di raccomandare cambiare la porta di uscita del modulo di reg, Quarto non si lamentava, ma un simulatore avrebbe fatto.

output reg [7:0] count

Fateci sapere come si ottiene.

Saluti

Altri suggerimenti

Credo che George sia giusto (Ciao Giorgio! Fancy vederti qui), il file viene interpretato come Verilog (non SystemVerilog), e quindi non capisce always_ff.

Il tipo del valore di uscita, io preferisco l'uso della logica in SystemVerilog. Il suo effetto è identico, ma si allontana dal suo dichiarato 'reg'" quindi è un registro' il pensiero che può prendere la gente fuori.

Inoltre, la ragione che hai quel messaggio di errore particolare era che perché non sapeva cosa era always_ff, ha assunto era il nome di un modulo / Interfaccia / funzioni. Un modulo potrebbe avere una mappa porta che potrebbe iniziare con un '', e tutto il resto avrebbe bisogno di una parentesi aperta.

Un altro problema con questo codice.

La variabile di conteggio viene assegnato da un blocco procedurale (always_ff) così alle esigenze variabili conteggio da dichiarare come tipo di variabile, tipicamente di tipo logico per questo codice SystemVerilog. La dichiarazione deve includere: uscita logica [7: 0] count

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top