用fpga实现倍频大家讨论
用fpga实现倍频大家讨论输入信号时0—200khz,要求10倍频及输出的信号0—2m,fpga的时钟是10m的 PLL啊 怎么用呢 用锁相环哈,最好解决了。。。。
不知道你用的是哪个公司的FPGA。。。 输入频率太低了吧,才200k的频率,一般PLL要求的频率都要>10M的。 恩
不是对时钟信号的倍频 0这个起点太低了呀。如果是100k~200k,可能好搞些。
PLL一般都有个下限,否则精度会很差。 有个想法给你参考一下:
用计数器计算输入时钟的周期,在下一个周期按照周期/10输出时钟,像流水线一样,但精度实在是一般。 你这要求也有? 喔, 如果是这样的话, 要看你的具体要求了
可以考虑先预先取10个源脉冲的后期平均值, 然后产生新的波形 library ieee;
use ieee.std_logic_1164.all ;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity twice is
port (clk,rst:in std_logic;
clk_out:out std_logic);
end twice;
architecture rtl of twice is
signal clk_temp:std_logic;
signal d_out:std_logic;
signal d_outn:std_logic;
begin
process(clk_temp,rst)
begin
if(rst='1') then
d_out<='0';
else
if(clk_temp'event and clk_temp='1') then
d_out<=d_outn;
end if;
end if;
end process;
clk_temp<=clk xor d_out;
clk_out<=clk_temp;
d_outn<=not d_out;
end rtl; PLL能对任意 频率 进行倍频吗? PLL 有最低频率要求的,一般输入10M左右,输出也是有要求的,你这个太低了。
你的时钟10M,输入为K级别,直接计数就行了。 带锁相环的倍频好办,但好多芯片不带锁相环,像我现在用的这个lattice公司的xo640就不带,要倍频有什么好办法呢 没看明白啊 本帖最后由 pocker5200 于 2012-5-12 11:11 编辑
能给个具体的信号源么。
页:
[1]