OpenCores
no use no use 1/1 no use no use
ASIC synthesis problem
by sudhanshubillore on Oct 15, 2012
sudhanshubillore
Posts: 16
Joined: Aug 10, 2012
Last seen: Apr 18, 2023
hi everyone,
I am using DC(Design Compiler) tool for ASIC synthesis of OR1200. While doing this i am getting these warnings :
1. 'Case' statement is full and has only one nontrivial branch; it will be inlined.

2. or1200_wb_biu.v:193: 'wb_fsm_idle' is being read, but does not appear in the sensitivity list of the block.

3. ram_wb_b3.v:249: Value of function 'set_mem32' is used before being assigned; the synthesized result may not match simulations. (ELAB-393)

4. or1200_sb_fifo.v:108: signed to unsigned conversion occurs.

Also i am seeing some non-synthesisable code in the RTL. How can RTL have non-synthesisable code?

Please suggest the way do avoid these warnings?

--Sudhanshu Billore


RE: ASIC synthesis problem
by narendra_27 on Oct 15, 2012
narendra_27
Posts: 7
Joined: Aug 19, 2009
Last seen: Dec 8, 2014
regarding Question:2
you have to put 'wb_fsm_idle' in the sensitivity list of always block(if its a combo logic)

q3) ELAB-393

"A Verilog function definition implicitly declares a variable, internal to the function, with the same name as the function. You receive this warning message when the function returns without the variable having been assigned or when the variable is read by the function body before the variable is assigned"

Q4)signed to unsigned conversion: you have to check corresponding code..

Q5) RTL code may contain some non-synthesize code like display statements/ initial statements for debug purpose only. Any how they will be ignored during synthesis.
RE: ASIC synthesis problem
by jt_eaton on Oct 15, 2012
jt_eaton
Posts: 142
Joined: Aug 18, 2008
Last seen: Sep 29, 2018
hi everyone,
I am using DC(Design Compiler) tool for ASIC synthesis of OR1200. While doing this i am getting these warnings :


3. ram_wb_b3.v:249: Value of function 'set_mem32' is used before being assigned; the synthesized result may not match simulations. (ELAB-393)



You do not want to synthesize block srams in an asic. Your asic vendor will provide you with hard macros that you must instantiate to replace the generic sram model. This will involve changing some `define values to point toward your asic process.

John Eaton
no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.