2016-12-22 7 views
0

Я пытаюсь запустить этот код в EDA игровой площадке, но я получаю следующие ошибки:недопустимый модуль конкретизации SystemVerilog

module array_redu(); 
    byte b[] = { 1, 2, 3, 4 }; 
    int sum,product,b_xor; 
    initial 
    begin 
     sum =b.sum ; // y becomes 10 => 1 + 2 + 3 + 4 
     product =b.product ; // y becomes 24 => 1 * 2 * 3 * 4 
     b_xor=b.xor with (item+ 4); // y becomes 12 => 5^6^7 ^8 
     $display(" Sum is %0d, product is %0d, xor is %0b",sum,product,b_xor) 
     end 
endmodule 

я получаю следующие ошибки:

design.sv:2: syntax error 
design.sv:2: error: Invalid module instantiation 
design.sv:3: syntax error 
design.sv:3: error: Invalid module instantiation 
design.sv:8: syntax error 
design.sv:8: error: malformed statement 
design.sv:10: syntax error 
+0

Вы написали (некогерентное) программное обеспечение, но Verilog - это аппаратный язык. Взгляните на этот сайт: http://www.asic-world.com/ Это поможет вам понять, как писать язык описания аппаратного обеспечения. – Krouitch

+0

, который должен использовать симулятор –

+0

имя симулятора не имеет значения, все они компилируются Verilog – Krouitch

ответ

1

Я моделируемых свой код, используя Aldec Riviera Pro на EDA Playground. Произошла только одна ошибка: у вас не хватает полуколонны с конца строки с $display.

+0

Спасибо Мэтью, как правило, я использую компилятор Icarus verilog 0.9.7, рекомендую ли вы использовать Aldec Riviera Pro 2015.6. Также я пытался изучить verilog, поэтому я пытался запустить несколько примеров, чтобы повесить его, нормально ли использовать EDA Playground и выше компилятора для него. –

+0

@SarangAgrawal Icarus Verilog - бесплатный симулятор. Он поддерживает System Verilog, но не все. Aldec Riviera Pro - коммерческий симулятор. Он поддерживает практически весь язык. –

+0

Спасибо за информацию Мэтью, это было очень полезно! –