vhdl信号在需要之前生成得更快

时间:2014-05-23 10:03:13

标签: buffer vhdl fpga

我对VHDL有疑问。 我正在使用FPGA驱动RGB LED矩阵。 我有两个主要实体。 DRIVER和COLLECTOR。 DRIVER用于将信号发送到LED矩阵。 COLLECTOR用于收集传入的信号(来自Android设备),并在将这些信号发送给DIRVER之前进行相应的分割。

问题是,COLLECTOR中用于驱动LED矩阵的信号生成速度比驱动程序可以接受的速度快。 如何解决在需要之前生成信号的问题?

1 个答案:

答案 0 :(得分:0)

您的问题没有提到您是否在计时过程中运行。如果你正在使用组合逻辑(没有时钟控制),那么你就会受到路由延迟的影响,而你却陷入困境。

我将假设您正在使用时钟进程。在这种情况下,您应该尝试使用移位寄存器将您的一个信号延迟'n'个时钟周期。

-- <...usual entity/architecture preamble...>

constant CLOCK_DELAYS : natural := 10;
signal sreg : std_logic_vector(CLOCK_DELAYS - 1 downto 0);

begin -- start of RTL

process(clk)
begin
  if rising_edge(clk) then
    sreg <= sreg(CLOCK_DELAYS - 2 downto 0) & i_signal;
  end if;
end process;

o_signal <= sreg(CLOCK_DELAYS - 1);