2016-12-22 3 views
0

Ich versuche, diesen Code in eda Spielplatz zu laufen, aber ich bin immer folgende Fehler:ungültig Modul Instanziierung 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 

ich folgende Fehler bekommen:

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

Sie haben (inkohärente) Software geschrieben, aber Verilog ist eine Hardware-Sprache. Werfen Sie einen Blick auf diese Website: http://www.asic-world.com/ Es wird Ihnen sicherlich helfen, zu verstehen, wie Hardware Beschreibungssprache schreiben. – Krouitch

+0

welchen Simulator sollte ich verwenden –

+0

der Name des Simulators spielt keine Rolle, sie alle kompilieren Verilog – Krouitch

Antwort

1

I simuliert Ihren Code mit Aldec Riviera Pro auf EDA Playground. Es gab nur einen Fehler: Sie vermissen ein Semikolon vom Ende der Zeile mit $display.

+0

Dank Matthew, im Allgemeinen benutze ich Icarus Verilog 0.9.7 Compiler, empfehlen Sie, die Aldec Riviera Pro 2015.6 zu verwenden. Ich versuchte auch, Verilog zu lernen, also versuchte ich, in einigen Beispielen zu laufen, nur um davon zu hängen, ist es in Ordnung, EDA Spielplatz und oben genannten Compiler dafür zu verwenden. –

+0

@SarangAgrawal Icarus Verilog ist ein kostenloser Simulator. Es unterstützt System Verilog, aber nicht alles. Aldec Riviera Pro ist ein kommerzieller Simulator. Es unterstützt so ziemlich die gesamte Sprache. –

+0

Danke für die Info Matthew, das war sehr hilfreich! –