how can i make this code synthesisable?

Status
Not open for further replies.

yushionly

Junior Member level 2
Joined
Dec 11, 2010
Messages
20
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,407
hi~
when i synthesis the code below,it tells me that "!==" is not synthesisable,how can i change it?
thanks

for (n=0; n<addr_width; n=n+1)
begin
LATCHED_A[n] = (NOT_A[n]!==LAST_NOT_A[n]) ? 1'bx : LATCHED_A[n] ;
end
 

when i use "!=",the result is not right, this code is a part of a memory code
 

Do you understand the purpose of the "case inequality" operator !== in this place? It's explained this way in the Verilog standard:
a !== b a not equal to b, including x and z

Whatever it's meaning in the presented code may be, the constant 1'bx isn't synthesizable as well. Obviously, the code is only meaningful in simulation.
 
thank you very much!
 

I noticed, that the unsupported constructs list from link #1 isn't fully correct. Initial blocks are usually supported by FPGA synthesis tools to specify the power-up condition of registers.
 

Status
Not open for further replies.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…