关于PLL分频的问题
新手初学FPGA,有些问题不太清楚。现在FPGA外部时钟为50MHZ晶振,但是内部程序我只需要250KHZ,请问有没有什么方法可以直接在quartus2软件里设置PLL将这个时钟分频来使用而不用自己写分频程序呢?谢谢! 既然是刚接触FPGA,就先别 用那些高级的工具,了解就行,分频程序不是很简单嘛,自己写就行,。 写一个计数器0-99,溢出时翻转输出信号 usingavr 发表于 2012-4-25 16:11 static/image/common/back.gif
写一个计数器0-99,溢出时翻转输出信号
嗯,我是想直接用个分频器IP,可能比自己写的方便一点 一个VHDL例程:
tool-_>megawizard plug-->next-->选VHDL next——>megafuction 里选I/O里的ALTPLL,又边的outfile里填上你需要输出的文件名 点NEXT进入设置界面。配置后生产VHDL文件即可。
本帖最后由 lastfool 于 2012-4-25 21:42 编辑
元件例化和调用调用:比如生成PLL1.VHD,如下
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY altera_mf;
USE altera_mf.all;
ENTITY PLL1 IS
PORT
(
inclk0 : IN STD_LOGIC:= '0';
c0 : OUT STD_LOGIC ;
c1 : OUT STD_LOGIC ;
c2 : OUT STD_LOGIC ;
c3 : OUT STD_LOGIC ;
c4 : OUT STD_LOGIC ;
locked : OUT STD_LOGIC
);
END PLL1;
则在另一个VHDL文件里可以这样使用它:
--例化
component PLL1 IS
PORT
(
inclk0 : IN STD_LOGIC:= '0';
c0 : OUT STD_LOGIC ;
c1 : OUT STD_LOGIC ;
c2 : OUT STD_LOGIC ;
c3 : OUT STD_LOGIC ;
c4 : OUT STD_LOGIC ;
locked : OUT STD_LOGIC
);
END component;
--调用元件:
PLL_COMP: PLL1
port map
(
inclk0 =>OSC_IN,
c0 =>clk_50M,
c1=>clk_100M,
-- c1=>clk_100M,
c2=>clk_150M,
c3=>clk_200M,
c4=>clk_20M,
locked =>PLL_LOCK
);
如果不明白,自己用原理图画一个大筐,再画两个小框,每个小框里做一些程序实现什么功能,编译后生成VHDL文件,自己查看QUARTUS是怎么组织的,我没有问过,就是这样学的。
页:
[1]