我有一个关于VHDL的问题。我正在使用FPGA驱动RGB LED矩阵。我有两个主要实体。驱动器和收集器。驱动器用于将信号发送到LED矩阵。收集器用于收集传入信号(来自Android设备),并在将这些信号发送到DIRVER之前进行相应的拆分。
问题是,在收集器中生成的用于驱动LED矩阵的信号的生成速度比驱动器可以接受的速度更快。如何解决在需要之前生成信号的问题?
发布于 2014-07-12 14:53:00
您的问题没有提到您是否在时钟进程中运行。如果你使用的是组合逻辑(不是时钟),那么你就会受到路由延迟的摆布,你就卡住了。
我将假设您使用的是计时进程。在这种情况下,您应该尝试使用移位寄存器将其中一个信号延迟'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);https://stackoverflow.com/questions/23826327
复制相似问题