基于Quartus II的半整数分频器设计
- 格式:doc
- 大小:650.50 KB
- 文档页数:7
EDA课程设计总结设计题目:基于Quartus II的半整数分频器设计
学院:理学院
专业:电子信息科学与技术
班级:二班
姓名:崔圣淋
学号:200909130228
指导教师:李岩
课程设计时间:2011-2012学年下半学期
目录
1、主要功能 (3)
2、系统设计方案 (3)
2.1小数分频的基本原理 (3)
2.2电路组成 (3)
3、系统仿真 (4)
4 分频器的RTL图 (5)
5 VHDL源程序 (5)
6 设计总结 (6)
6.1实验中的问题 (6)
6.2收获、体会和设计改进建议 (6)
1、主要功能
用VHDL语言设计一个半整数分频器,使能实现小数分频。
2、系统设计方案
2.1小数分频的基本原理
通常整数分频器可以满足大部分数字电路的设计要求,但在某些特殊场合下,我们需要采用分频系数不是整数的分频器完成某些特定的设计,这个时候需要采用小数分频器进行分频。
采用可编程逻辑器件实现小数分频器,以2.5分频为例:设计一个模3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,每来两个脉冲就扣除一个脉冲(实际上是使被扣除的脉冲变成很窄的脉冲,可由异或门实现),就可以得到分频系数为2.5的小数分频器。采用类似方法,可以设计分频系数为任意半整数的分频器。
小数分频的基本原理为脉冲吞吐计数法:设计两个不同分频比的整数分频器,通过控制单位时间内两种分频比出现的不同次数,从而获得所需的小数分频值。例如设计一个分频系数为10.1的分频器,可以将分频器设计成9次10分频,1次11分频,这样总的分频值为
(9×10+1×11)/(9+1) =10.1
从这种实现方法的特点可以看出,由于分频器的分频值在不断改变,因此分频后得到的信号抖动较大。
当分频系数为N-0.5(N为整数)时,可控制扣除脉冲的时间,使输出为一个稳定的脉冲频率,而不是一次N分频,一次N-1分频。
2.2电路组成
设需要设计一个分频系数为N-0.5的分频器,其电路可由一个模N计数器、一个二分频器和一个异或门组成,如图1所示。在实现时,模N计数器可设计成带预置的计数器,这样就可以实现任意分频系数为N-0.5的分频器。
异或门模N计数器f
/(N-0.5)
二分频器
f
/(2N-1)
f 0
3、系统仿真
Preset=2,即分频值为1.5,仿真图如下
Preset=3,即分频值为2.5,仿真图如下
Preset=4,即分频值为3.5,仿真图如下
4 分频器的RTL图
5 VHDL源程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity div_half is
port (inclk: in std_logic; --时钟源
preset: in std_logic_vector(3 DOWNTO 0); --预置分频值N
outclk1: out std_logic;
outclk2: buffer std_logic ); --输出时钟
end div_half;
architecture one of div_half is
signal clk, divide2: std_logic;
signal count:std_logic_vector(3 DOWNTO 0);
begin
clk<=inclk xor divide2; --inclk与divide2异或后作为模N计数器的时钟
outclk1<=inclk; --outclk1和inclk同步process(clk)
begin
if(clk'event and clk='1') then
if(count="0000") then
count<=preset-1; --置整数分频值N
outclk2<='1';
else
count<=count-1; --模N计数器减法计数
outclk2<='0';
end if;
end if;
end process;
process(outclk2)
begin
if(outclk2'event and outclk2='1') then
divide2<=not divide2; --输出时钟二分频
end if;
end process;
end;
6 设计总结
6.1实验中的问题
本实验主要是运用VHDL语言实现非整数分频器的设计,相对于其他的来说,本实验比较简单,但在实际做的时候还是遇到不少的问题。
①在编译时出现了许多错误,经过反复修改编译,再修改再编译最终排除了所有的错误。
②在仿真时一开始仿真时间设置的太短,只能看到一部分仿真输出结果,当把仿真时间设置时间增大时,可以看到全部仿真结果。
③在硬件测试时,时钟信号频率不能太大或太小,否过结果不好。
6.2收获、体会和设计改进建议
在老师布置好题目后,我仔细进行设计,通过查阅各参考书,最终把实验做出来了,达到了老师对本实验的要求。在这次设计中我收获颇丰,首先最直接的收获就是我巩固了这节课所学的知识,把它运用到实践中去,并且学到了许多在课本中所没有的知识,通过查阅相关知识,进一步加深对EDA的了解。其次,我们不管做什么都不能粗心,如我们在输入程序是,把字母打错了时,保存文件时命名与程序中的名称不一样时,都会导致编译错误,在此过程中虽然浪费了不少时间,但这也让我注意到在实际做设计时应该注意的问题,意识到自己的不足,对学过的知识了解不够深刻,掌握的不足够。
总的来说,这次设计还算成功,也让我明白了要把理论知识与实践结合起来,