半整数分频器设计VHDL代码Quartus仿真
名称:半整数分频器设计VHDL代码Quartus仿真
软件:Quartus
语言:VHDL
代码功能:
半整数分频器设计设计要求:
①具有半整数分频器功能。
②能自由选择16以内的小数分频
设计原理:
设有一个5MHz的时钟源,但电路中需要产生一个2MHz的时钟信号,由于分频比为2.5,因此整数分频器将不能胜任。
釆用可编程逻辑器件实现分频系数为2.5的分频器,可采用以下方法:设计一个模3的计数器,再设计一个扣除脉冲电路,加在模3计数器输出之后,每来两个脉冲就扣除个脉冲(实际上是使被扣除的脉冲变成很窄的脉冲,可由异或门实现),就可以得到分频系数为25的小数分频器。采用类似方法,可以设计分频系数为任意半整数的分频器。
小数分频的基本原理为脉冲吞吐计数法:设计两个不同分频比的整数分频器,通过控制单位时间内两种分频比出现的不同次数,从而获得所需的小数分频值。例如设计一个分频系数为10.1的分频器,可以将分频器设计成9次10分频,1次11分频,这样总的分频值为
9×10+1×11)/(9+)=10.1
电路组成
设需要设计一个分频系数为N0.5的分频器,其电路可由一个模N计数器、一个二分
频器和一个异或门组成,如图所示。
在实现时,模N计数器可设计成带预置的计数器,这样就可以实现任意分频系数为
N0.5的分频器

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件
Quartus9.0版本

2. 程序文件

3. 程序编译

4. 整体RTL图

5. 仿真图
整体仿真图



异或门模块RTL图

异或门模块仿真图

模N计数器RTL图

模N计数器仿真图



2分频模块RTL图

2分频模块仿真图

部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY div_N_05 IS PORT ( clk : IN STD_LOGIC;--输出时钟 N_set : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--分频设置值 div_out : OUT STD_LOGIC--输出N-0.5分频器 ); END div_N_05; ARCHITECTURE behaveral OF div_N_05 IS --2分频模块 COMPONENT div_2 IS PORT ( clk : IN STD_LOGIC; dic_clk : OUT STD_LOGIC ); END COMPONENT; --模N计数器 COMPONENT mod_N IS PORT ( clk : IN STD_LOGIC; N_set : IN STD_LOGIC_VECTOR(7 DOWNTO 0); cin_N : OUT STD_LOGIC ); END COMPONENT; --异或门 COMPONENT xor_gate IS PORT ( A : IN STD_LOGIC; B : IN STD_LOGIC; Y : OUT STD_LOGIC ); END COMPONENT; SIGNAL dic_clk : STD_LOGIC; SIGNAL cnt_clk : STD_LOGIC; SIGNAL cin_N : STD_LOGIC; BEGIN --异或门 i_xor_gate : xor_gate PORT MAP ( A => clk,--门输入 B => dic_clk,--门输入 Y => cnt_clk--输出 ); --模N计数器 i_mod_N : mod_N PORT MAP ( clk => cnt_clk,--计数时钟 N_set => N_set,--分频设置值 cin_N => cin_N--计数信号输出 );
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 半整数分频器设计VHDL代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 半整数分频器设计VHDL代码Quartus仿真