我正在努力学习如何用VHDL编程FPGA,并想知道如何确定我的时钟输入的正确频率。
我使用了时钟源连接表中的Sp605 Hardware User Guide引脚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脉冲 - 但为什么会这样?
答案 0 :(得分:2)
我认为您的意思是说您当前正在使用K21 OSC SYSCLK_P
作为单端时钟输入并将其直接连接到CLK
。
请包含您的UCF文件的片段,以供将来的问题参考。
这不起作用,因为各个差分时钟线的峰峰值电压不能分别用非差分(0
可靠地注册为逻辑1
或LVCMOS25
}?)I / O标准。
你必须
CLK
获取O
不要忘记更改UCF文件中的I / O标准。