In sequential logic with a reset, be sure to always include all target
registers in the reset block.  Otherwise bugs will result.  For
instance, this is bad:

always @(posedge clock or negedge reset_) begin
    if (!reset_) begin
        a <= 0;
    end else begin
        a <= input0;
        b <= input1;
    end
end

The signal 'b' isn't included in the reset block.  This is bad in
general.  But when using a global reset, it makes the Xilinx
synthesizer barf.  This, I'm up late right now fixing bad reset
blocks.

BTW, if 'b' really does not need a reset, then move it into its own
sequential block:

always @(posedge clock) begin
    b <= input1;
end



-- 
Timothy Normand Miller
http://www.cse.ohio-state.edu/~millerti
Open Graphics Project
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to