Использование enum в verilog - PullRequest
       15

Использование enum в verilog

0 голосов
/ 01 октября 2019

Я пишу фрагмент кода в Quartus Verilog (.v) и пытаюсь написать тип enum внутри моего модуля:

module Controller(clk, IorD);

    enum {READ, DECODE} state;
    myState = READ;
    //...

Но это дает мне следующую ошибку:Error (10170): Verilog HDL syntax error at Controller.v(3) near text "{"; expecting ";".

Что я делаю не так? Как я могу использовать enum в verilog?

Ответы [ 2 ]

2 голосов
/ 01 октября 2019

enum - это функция SystemVerilog. Вам нужно убедиться, что тип файла в Quartus - SystemVerilog (обычно также используется расширение .sv)

0 голосов
/ 10 октября 2019

Вы можете вместо этого использовать параметры вместо перечислений, если вы ограничены использованием verilog только в инструменте. Если вы можете переключиться на другие инструменты, попробуйте edaplayground (dot) com

пример кода, как указано ниже:

localparam START =1;
localparam STOP  =2;

Используйте localparam вместо параметра, потому что вы действительно не хотите, чтобы эти значения былиизменено во время создания экземпляра.

...