我正在学习如何用 VHDL 对 FPGA 进行编程,并想知道如何确定时钟输入的正确频率。
我使用了Sp605 硬件用户指南,在时钟源连接表中的引脚 K21(如果您有兴趣,请参见第 27 页!)被描述为“200 MHz OSC SYSCLK_P”。
然后我使用以下过程来尝试从 200 MHz 时钟创建一个 1 Hz 时钟
prescaler : process(CLK)
begin
if rising_edge(CLK) then
if (counter < 1000000) then --possibly change to number in binary
counter <= counter + 1;
else
CLK_1Hz <= not CLK_1Hz;
counter <= (others => '0');
end if;
end if;
end process;
但是,如果我将计数器上限设置为 100,000,000 - 它应该是,时钟远低于 1 Hz - 实际上使用 1,000,000 计数的当前值给出了 1 Hz 脉冲的近似值 - 但为什么是这个?