XST (ISE 6.1i): Error: It's interesting and surprising

Aug 14, 2005 4 Replies

Hi guys.



An intesresting problem occured when I used "more than three" signals in always block sens list.



XST (ISE 6.1i) reported the following error:



ERROR:Xst:1468 - dummy.v line 25: Unexpected event in always block sensitivity list.



Same code is successfully compiled & simulated in MOdelSim5.7SE.



What kind of problem is this ? Related to parser/editor/etc ??



//-------- C O D E - C O D E --------///



module dummy(x); output x; assign x = 1'b0;



reg a,b,c,d; reg z;



initial begin a=0; b=0; c=0; d=0; z=0; #100 $stop; end



always #10 a=~a; always #15 b=~b; always #20 c=~c; always #5 d=~d;



always @(posedge a or posedge b or posedge c or posedge d ) begin if(a) z=~z; else if(b)z=~z; else if(c) z=~z; else if(d) z=~z; end endmodule



Your results are not surprising. Although your code is legal Verilog and is able to simulate, it's not synthesizable. What type of flip-flop would you expect XST to infer from the "always @(posedge a or posedge b or posedge c or posedge d ) " construct?

You need to re-think your code!

Good luck!

John Providenza

What flip-flop has four clocks?

-a

what the hell is this? quad-clock flip-flop?

V

Dunno, but just imagine the phantasmagorical metastability polemic that such a Machiavellian device would foment! Cheers, Syms.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required