Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

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.
 
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.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top