Sie erwartet eine linke Klammer ('(') [12.1.3.3(IEEE 2001)]
Ich bekomme immer folgenden log:
file: lab1.v
if (in1 == 1)
|
ncvlog: *E,EXPLPA (lab1.v,25|1): expecting a left parenthesis ('(') [12.1.3.3(IEEE 2001)].
(#1 y = 1'b1;
|
ncvlog: *E,EXPENM (lab1.v,26|1): expecting the keyword 'endmodule' [12.1(IEEE)].
module worklib.ex1:v
errors: 2, warnings: 0
ncvlog: *F,NOTOPL: no top-level unit found, must have recursive instances.
irun: *E,VLGERR: An error occurred during parsing. Review the log file for errors with the code *E and fix those identified problems to proceed. Exiting with code (status 2).
für den folgenden code:
module ex1 (in1, in2 ,clk , out1 , out2, bus);
//input&outputs
//==============
input in1,in2,clk;
output out1,out2,bus;
//reg
//====
reg out1= 1'b0, out2=1'b0, y=1'b0 ;//y = previos state
reg [2:0] bus=3'b000;
//on clk pose edge
//=================
always @(posedge clk) begin
if ((in1==1)&&(y==0))
out1=1;
else if ((in1==0)&&(y==1))
out2 = 1;
else
out1 = 0;
out2 = 0;
end if
if (in1 == 1)
#1 y = 1'b1;
else if (in1 == 0)
#1 y = 1'b0;
end if
if((negedge in2)&&(in1==1))
bus = 3'b001;
else if ((negedge in2)&&(in1==0))
bus = 3'b000;
else
bus <= bus + 1;
end if
end
endmodule
- Es gibt andere Probleme in deinem code die Fehlermeldung, die Sie bekommen.
if((negedge in2)&&(in1==1))
ist illegal syntax.#1 y = 1'b1;
ist nicht synthetisierbare.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Verilog verwenden
begin ... end
für scoping.sollte umgeschrieben werden
Anderen
if ... else ... end if
Blöcke sollten neu geschrieben werden, ähnlich.end if
funktioniert nicht in Verilog.