I am a VHDL coder, and haven't coded much with Verilog. I am going through someone else's code, and I came across this:
always@(posedge asix_clk_bufg or negedge pll_asix_locked)
begin
if (~pll_asix_locked)
asix_rst <= 0;
else if (timer[5]) // 355us between asix_clk and asix_rst (min is 200us)
asix_rst <= 1;
end
I am not sure if I agree with the above code ! Isn't a possible latch scenario ? I see it is waiting for the pll to lock and then bring the system out of reset, but is this coded correctly?
I don't like to combine sequential and combinatorial code together, but what is the value of "asix_rst" when timer[5] = 0 ?!?
Thanks, --Rudy