synthesize division - icarus failure

P

pini

Guest
On a test bench (simualtion only) icarus (s20040606) fails to simulate
assign lenght_bits =
(signal == `SIG_MOD_BPSK ) ? ( length * 8 ) :
(signal == `SIG_MOD_QPSK ) ? ( length * 4 ) :
(signal == `SIG_MOD_CCK5_5) ? ((length * 80)/55) : //x8 :5.5
( ((length * 8 )/11)+(((length * 8 )%11) != 0) ); //upper x8 :11

TB_data_checker.v:260: internal error: cannot synthesize division:
((length[11:0
])*('sd8))%('sd11)
assertion "lsig" failed: file "elab_net.cc", line 429
Signal 6

Others simulators (includng icarus s20031202) simulate okay this code.

Can someone tell me how to fix it. Why is it tring to synthesize a vvp
(simulation) only target.
 
pini wrote:
On a test bench (simualtion only) icarus (s20040606) fails to simulate
assign lenght_bits =
(signal == `SIG_MOD_BPSK ) ? ( length * 8 ) :
(signal == `SIG_MOD_QPSK ) ? ( length * 4 ) :
(signal == `SIG_MOD_CCK5_5) ? ((length * 80)/55) : //x8 :5.5
( ((length * 8 )/11)+(((length * 8 )%11) != 0) ); //upper x8 :11

TB_data_checker.v:260: internal error: cannot synthesize division:
((length[11:0
])*('sd8))%('sd11)
assertion "lsig" failed: file "elab_net.cc", line 429
Signal 6

Others simulators (includng icarus s20031202) simulate okay this code.

Can someone tell me how to fix it. Why is it tring to synthesize a vvp
(simulation) only target.

The context of this expression is gate-like, even though it is
being compiled for simulation, so Icarus Verilog does the internal
equivilent of synthesizing the expression. In this specific case,
there was a problem with the / and % operators.

I've also replied to the bug database, so you can find the patch
for this issue here:

<http://www.icarus.com/cgi-bin/ivl-bugs?findid=993>

I've spent this morning going through the bug database and closing
a bunch of issues, so I'm making progress:)

--
Steve Williams "The woods are lovely, dark and deep.
steve at icarus.com But I have promises to keep,
http://www.icarus.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep."
 

Welcome to EDABoard.com

Sponsor

Back
Top