Unable to track down constraint solver divide-by-0 issue

Hi All:
I am trying to figure out why I keep getting a divide-by-0 constraint solver issue. VCS was kind enough to create an extracted test case. The testcase however is too big. Here’s the offending piece that seems to be causing issues.

**bit[3:0] trig_knobs_channel_9__hw_event_0_ = 4’h3;
rand bit[3:0] dchain_knobs_channel_9__desc_0__trig_hw_events; // rand_mode = ON
rand bit[2:0] dchain_knobs_channel_9__desc_0__dstm; // rand_mode = ON
rand bit[7:0] dchain_knobs_channel_9__desc_0__ns1_adv; // rand_mode = ON
rand bit[23:0] dchain_knobs_channel_9__desc_0__abs_st1_adv; // rand_mode = ON
rand bit signed [23:0] dchain_knobs_channel_9__desc_0__st1_adv; // rand_mode = ON
rand bit[15:0] dchain_knobs_channel_9__desc_0__slp; // rand_mode = ON
rand bit[0:0] dchain_knobs_channel_9__desc_0__src_tf; // rand_mode = ON

constraint c_trig_for_hwseq_this // (from this) (constraint_mode = ON) (extracted_r_20_p_4303_inconsistent_constraints.sv:1099)
{
(dchain_knobs_channel_9__desc_0__trig_hw_events == trig_knobs_channel_9__hw_event_0_);
}
constraint c_valid_dchain_knobs_channel_9__desc_0_ // (from this) (constraint_mode = ON) (extracted_r_20_p_4303_inconsistent_constraints.sv:4473)
{
(dchain_knobs_channel_9__desc_0__abs_st1_adv == ((dchain_knobs_channel_9__desc_0__st1_adv[23]) ? (-dchain_knobs_channel_9__desc_0__st1_adv) : dchain_knobs_channel_9__desc_0__st1_adv));
(dchain_knobs_channel_9__desc_0__dstm == 3’h7) → (dchain_knobs_channel_9__desc_0__slp == 16’h0);
(dchain_knobs_channel_9__desc_0__trig_hw_events == 4’h3) → (dchain_knobs_channel_9__desc_0__dstm == 3’h7);
(((dchain_knobs_channel_9__desc_0__src_tf == 1’h1) && (dchain_knobs_channel_9__desc_0__dstm == 3’h1)) && (dchain_knobs_channel_9__desc_0__ns1_adv > 8’h0)) → ((dchain_knobs_channel_9__desc_0__abs_st1_adv < dchain_knobs_channel_9__desc_0__slp) || (((dchain_knobs_channel_9__desc_0__abs_st1_adv % dchain_knobs_channel_9__desc_0__slp) == 0) && (((dchain_knobs_channel_9__desc_0__abs_st1_adv / dchain_knobs_channel_9__desc_0__slp) & 1) == 0)));
}
constraint WITH_CONSTRAINT_this // (from this) (constraint_mode = ON) (extracted_r_20_p_4303_inconsistent_constraints.sv:7021)
{
(dchain_knobs_channel_9__desc_0__st1_adv == 0);
}**

Due to the various previous conditions, dchain_knobs_channel_9__desc_0__dstm was supposed to be set to 'h7. The error comes from the last constraint. However the solver should not even go there because the last constraint triggers only when dchain_knobs_channel_9__desc_0__dstm is 'h1 (which it is not).

Any help appreciated.

Thanks,