Pergunta

Eu tentei compilar código

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

Mas eu recebo o erro

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

O que isso significa?

Foi útil?

Solução

O Quartus suporta algum SystemVerilog. Veja este link para obter detalhes>Ajuda do quartus

Para que o Quartus reconheça automaticamente que você está usando o System Verilog, você precisa chamar seu arquivo de algo.sv

Então, neste caso, provavelmente contador.sv

Se o seu arquivo for chamado contador.v, então você receberá um erro. Posso confirmar que isso é realmente compilação com o Quartus II v10.0.

Eu recomendaria alterar a porta de saída do módulo para Reg, o Quartus não reclamou, mas um simulador faria.

output reg [7:0] count

Deixe -nos saber como você se sai.

Felicidades

Outras dicas

Eu acho que George está certo (olá George! Gostaria de ver você aqui), o arquivo está sendo interpretado como Verilog (não SystemVerilog) e, portanto, não entende sempre_ff.

No tipo de valor de saída, prefiro o uso da lógica no SystemVerilog. Seu efeito é idêntico, mas se afasta do "Reg declarado", portanto, é um pensamento de registro que pode pegar as pessoas.

Além disso, a razão pela qual você recebeu essa mensagem de erro específica foi que, como não sabia o que era sempre_ff, assumiu que era o nome de um módulo/interface/função. Um módulo pode ter um mapa de portas que poderia começar com um '.', E tudo o resto precisaria de um suporte aberto.

Outro problema com este código.

A variável de contagem é atribuída a partir de um bloco processual (sempre_FF), portanto a variável de contagem precisa ser declarada como um tipo de variável, normalmente tipo lógico para esse código SystemVerilog. A declaração deve incluir: saída lógica 7: 0] contagem

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top