F
fl
Guest
Hi,
I have read that it should have complete IF THEN ELSE to avoid latches generated for FPGA application. But I find the following process which was generated from an automatic VHDL generating software.
Does this example have the danger to generate latch or not? Of course, I can implement it (it seems there is no latch yet). I would like to have a clear canalization to know the full story about it.
Thanks,
............
temp_process12_Delay_stepcnt : PROCESS (clk, reset)
BEGIN
IF reset = '1' THEN int_delay_pipe_1(0 TO 2) <= (OTHERS => (OTHERS => '0'));
ELSIF clk'event AND clk = '1' THEN
IF enb_1_1_1 = '1' THEN int_delay_pipe_1(0) <= dcnt;
int_delay_pipe_1(1 TO 2) <= int_delay_pipe_1(0 TO 1);
END IF;
END IF;
END PROCESS temp_process12_Delay_stepcnt;
I have read that it should have complete IF THEN ELSE to avoid latches generated for FPGA application. But I find the following process which was generated from an automatic VHDL generating software.
Does this example have the danger to generate latch or not? Of course, I can implement it (it seems there is no latch yet). I would like to have a clear canalization to know the full story about it.
Thanks,
............
temp_process12_Delay_stepcnt : PROCESS (clk, reset)
BEGIN
IF reset = '1' THEN int_delay_pipe_1(0 TO 2) <= (OTHERS => (OTHERS => '0'));
ELSIF clk'event AND clk = '1' THEN
IF enb_1_1_1 = '1' THEN int_delay_pipe_1(0) <= dcnt;
int_delay_pipe_1(1 TO 2) <= int_delay_pipe_1(0 TO 1);
END IF;
END IF;
END PROCESS temp_process12_Delay_stepcnt;