In verilog, what effect does the not (!) operator have on high impedance and don't care conditions?
Your code will not work.

In verilog, a 'z' at the input of a gate transforms to an 'x' on the output of the gate. An 'x' at the input of the gate also translates to an 'x' on the output of the gate.

Therefore your code reduces to if(wr_req &amp; !cam_busy &amp; X &amp; X &amp; X)

The value of (something &amp; X) can be either 0, or X, and in both cases the if statement will evaluate to false (if(X) is the same as if(0)).


  The one issue I noticed was that the signals were being bitwise anded instead of logically anded (I didn't write the code). Will this have an affect on the result? (I imagine it will)


If those are all 1-bit signals, than logical AND (&amp;&amp;) is the same result as bitwise AND (&amp;).