Vhdl FPGA Spartan-6时钟频率的确定
我正在学习如何用VHDL编程FPGA,并想知道如何确定时钟输入的正确频率 我使用了时钟源连接表(第27页,如果您感兴趣!)中描述为“200 MHz OSC系统时钟”的引脚K21 然后,我使用以下过程尝试从200 MHz时钟创建1 Hz时钟Vhdl FPGA Spartan-6时钟频率的确定,vhdl,clock,fpga,spartan,Vhdl,Clock,Fpga,Spartan,我正在学习如何用VHDL编程FPGA,并想知道如何确定时钟输入的正确频率 我使用了时钟源连接表(第27页,如果您感兴趣!)中描述为“200 MHz OSC系统时钟”的引脚K21 然后,我使用以下过程尝试从200 MHz时钟创建1 Hz时钟 prescaler : process(CLK) begin if rising_edge(CLK) then if (counter < 1000000) then --possibly change to number in
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;
预分频器:进程(CLK)
开始
如果上升沿(CLK),则
如果(计数器<1000000),则--可能更改为二进制数字
计数器我想您的意思是说您目前正在使用K21 OSC SYSCLK_p
作为单端时钟输入,并将其直接连接到CLK
。
请附上您的UCF文件片段,以供将来提问时参考
这将不起作用,因为单个差分时钟线的峰-峰电压将不能可靠地分别用非差分(LVCMOS25
?)I/O标准注册为逻辑0
或1
)
你必须
- 包括实体上的_P和_N端口
- 在设计中实例化LVDS缓冲区,以及
- 将P和N端口连接到缓冲区,以便从缓冲区的输出
O
不要忘记更改UCF文件中的I/O标准。您的代码正在计算100 Hz:计数器->除以1000000,嵌入式t触发器->除以2。