R
Rootz Anabo
Guest
I have a design in which the total latency from input to output is about 60
clock cycles. This is a pipelined design in which one of my output signal is
the an input signal which also needs to go into another system. My problem
is that, how do I delay this input signal by 60 clock cycles so that this
input signal will be in sync with its corresponding signal.
So for example, I have input signals
data_in_a
data_in_b
data_in_value
clk
output signals are
data_out_a
data_out_b
data_out_value
It takes 60 clock cycles for data_out_value to be generated. I need to
somehow delay data_in_a and data_in_b by that amount of cycles so that I can
assign
data_out_a <= data_in_a
data_out_b <= data_in_b
data_out_value <= .....[value computed after 60 cycles]
I used this code below to delay the signals
delay: process (clk)
begin
if (rising_edge(clk)) then
delay_temp(0) <= data_in_a;
delay_temp(1) <= delay_temp(0);
and so on
delay_temp(59) <= delay_temp(58);
end if;
end process delay; <actually I used a for loop>
However, synplicity complains and does not like this even though it works
fine in simulation. Is there any better way to do this
thanks
kg2
clock cycles. This is a pipelined design in which one of my output signal is
the an input signal which also needs to go into another system. My problem
is that, how do I delay this input signal by 60 clock cycles so that this
input signal will be in sync with its corresponding signal.
So for example, I have input signals
data_in_a
data_in_b
data_in_value
clk
output signals are
data_out_a
data_out_b
data_out_value
It takes 60 clock cycles for data_out_value to be generated. I need to
somehow delay data_in_a and data_in_b by that amount of cycles so that I can
assign
data_out_a <= data_in_a
data_out_b <= data_in_b
data_out_value <= .....[value computed after 60 cycles]
I used this code below to delay the signals
delay: process (clk)
begin
if (rising_edge(clk)) then
delay_temp(0) <= data_in_a;
delay_temp(1) <= delay_temp(0);
and so on
delay_temp(59) <= delay_temp(58);
end if;
end process delay; <actually I used a for loop>
However, synplicity complains and does not like this even though it works
fine in simulation. Is there any better way to do this
thanks
kg2