半整数分频器设计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的分频器

半整数分频器设计.png

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com


演示视频:

设计文档:

设计文档.doc

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仿真

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员