Jump to content
kondencator

Syntax Error Verilog

Recommended Posts

Добрый день !

Пишу код управляющего автомата. При компиляции выдает ошибки :

* Error: /mul.v(15): near "=": syntax error, unexpected '=' (1)

** Error: /mul.v(55): near "end": syntax error, unexpected "end"

** Error: /mul.v(60): near ":": Syntax error. Statement labels are only allowed in SystemVerilog. (2)

** Error: /mul.v(61): near ":": Syntax error. Statement labels are only allowed in SystemVerilog.

** Error: /mul.v(62): near ":": Syntax error. Statement labels are only allowed in SystemVerilog.

** Error: /mul.v(63): near ":": Syntax error. Statement labels are only allowed in SystemVerilog.

** Error: /mul.v(64): near ":": Syntax error. Statement labels are only allowed in SystemVerilog. (3)

Сам код(недописанный) и ошибки :

интересуют ошибки под номером 1 и 2, получается надо пересохранить файл в СистемВерилог ? смотрел пример в книге, там на первом месте были не переменные ,а числа(ошибка номер 2....3), может в этом проблема ?

// Control device

// wires to :

// module y_reg - _y2 TO load2, _cn TO clk

// module accom_reg_c - _y1 TO reset, _y4 TO load4, _y5 TO shift, _cn TO clk

// module x_reg - _y2 TO load1, _y5 TO shift, _cn TO clk

// module counter - _cn TO clk, _y3 TO reset, _y6 TO chet

// module reg_reg_c - _y8 TO load3, _cn TO clk, _y1 TO reset

module mul( x, reset, clk, _y);

input reset, clk;

input [1:3] x; // x[1] - x1; x[2] - x2; x[3] - x3

output [1:8] _y;

reg [7:0] state;

parameter [7:0]

q0 = 8'b00000000;

q1 = 8'b00000111; // ошибка 1

q2 = 8'b00001000;

q3 = 8'b01000000;

q4 = 8'b10000000;

always @ (posedge clk or posedge reset)

begin

if( reset)

state <= q0;

else

case( state)

q0:

if( x[3] == 1)

state <= q1;

else

state <= q0;

q1:

if( x[1] == 1)

state <= q2;

else if( x[2] == 1)

state <= q3;

else

state <= q3;

q2:

if( x[2] == 0)

state <= q3;

else

state <= q4;

q3:

if( x[1] == 1)

state <= q2;

else if( x[2] == 1)

state <= q4;

else

state <= q3;

q4:

state <= q5;

q5:

state <= q0;

end

always @ (state)

begin

case(state)

q0: _y <= q0;

q1: _y <= q1; // ошибка (2)

q2: _y <= q2;

q3: _y <= q3;

q4: _y <= q4;

q5: _y <= q5; // вся эта часть засвечена как ошибка синтаксиса

default: _y <= q0;

end

endmodule

Share this post


Link to post
Share on other sites

c parameter я разобрался:

parameter [7:0] q0 = 8'b00000000;

parameter [7:0] q1 = 8'b00000111;

parameter [7:0] q2 = 8'b00001000;

parameter [7:0] q3 = 8'b01000000;

parameter [7:0] q4 = 8'b10000000;

может с case кто подскажет

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Vascom, спасибо за внимание к теме, но уже давно не актуально А про _y = state - логично :)

P.S.

Задумался на этим. Ведь точно, зачем там case.... Как мне обьяснил одногрупник: " потому что код состояния совпадает с выходным кодом управляещего автомата. это частное совпадения. писать нужно через кейс все равно"

Нормально не могу обьяснить зачем там case, это нужно вспоминать заморочки с управляющими автоматами, а я уже не помню что да как там с ними :(

Edited by kondencator

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...